Bitukų perpylimas ir LUKS skirsnių tampymas

Posted: 2016-11-05 in Darbeliai
Žymos:,

Eilinį kartą persipyliau biškį bitukų iš mažesnio disko į didesnį. Šiaip iš mažesnio disko į didesnį persipilti bitukus yra gan paprasta, nebent būtų durnysčių su OS X diskais. Bet su Linux ar netgi Windows nebūna didesnių bėdų. Šiandien labai trumpai papasakosiu apie bitukų perpylimą turint su LUKS užšifruotą skirsnį. Be abejo, be jokių ten idiotiškų LVMų ir panašių absurdų. Paprasti fiziniai skirsniai ir jokių navarotų išskyrus LUKS. O kitą kartą papasakosiu, kaip perpilti Windows bitukus, sukišti skirtingus windauzus iš dviejų diskų į vieną skirtingais skirsniais ir apie bcdedit smagybes.

Pirmiausia reikia kokio nors Live CD analogo. Aš dažniausiai pasiimu USB raktuką, sukišu ten kokį nors naujausią Ubuntu ir tada užsikrovęs darau machinacijas.

Čia šiaip įdomybė, kad 500 GB HDD ir SSD dydžiai tobulai sutampa, sektorius į sektorių:

Tobulai vienodas 500GB Samsung EVO 850 SSD ir Seagate HDD diskų dydis | Darau, blė

Grįžtam prie kraustymosi į didesnį diską.

Sakykim, aš jau viską susidėliojau ir naujas diskas yra /dev/sda, o senasis — /dev/sdb. Kadangi naujas yra didesnis, tai galima paprasčiausiai paleisti komandžikę su root teisėmis:

dd if=/dev/sdb of=/dev/sda bs=1M conv=notrunc,noerror

Nu ir palikti kompą, kol bitukai perkapsės. Kaip jau minėjau seniau, šitoks reikalas užknisa, nes dd nieko nesako, kas vyksta. Todėl aš paprastai bitukų siurbimui naudoju pv:

pv -tpreb /dev/sdb | dd of=/dev/sda bs=1M conv=notrunc,noerror

Tada ekrane matosi progreso juosta ir preliminarus planuojamas laikas. Su SSD kraustytis vienas malonumas, pusė terabaito perbėgo per mažiau, nei pusvalandį.

O štai dabar klausimas, kaip išplėsti LUKS skirsnį? Išdėstymas pas mane paprastas: pirmas skirsnis yra nešifruotas root skirsnis su visu Linuxu, antras — LUKS skirsnis su visais duomenais, trečias — swap’as. Nu tai aišku, kad su kokiu gparted paskutinį swapą reik nugrūst į disko „galą“. Tada atsiranda daug laisvos vietos. Bet gparted nemoka padidinti LUKS skirsnio. Ten per daug problemų. Na, reikia suprasti, kad šifruotas skirsnis panašus į matriošką. Pirmas lygis yra pats fizinis diskas, antras lygis — skirsnis, trečias lygis — LUKS struktūra tame skirsnyje, o ketvirtas lygis — ext4 ar btrfs failų sistema tame šifruotame kratinyje. Kad galėtume padidinti galutinį lygį, t.y. failų sistemą, reikia iš pradžių sutvarkyti žemesniuosius lygius.

Taigi pirmiausia reikia padidinti skirsnį. gparted nepadės, nemoka. Užtai padės parted, paprasta komandinė utėlė 🙂 Vienos raidės skirtumas, blė…

Pasileidžiam parted, be abejo, su root teisėmis, parašom print. Išspausdins disko skirsnius, sunumeruotus nuo 1 iki 3 (nu, trys skirsniai pas mane, jei dar nepamiršot). Ten bus matyti, kad yra „skylė“ tarp antro ir trečio skirsnio, bei surašytos skirsnių pradžios ir pabaigos (baitais, kilobaitais arba netgi gigabaitais).

Tada reikia naudoti komandą resizepart, nurodant jai skirsnio numeriuką (man tai bus 2) ir naują skirsnio pabaigą (t.y. 3 skirsnio pradžią):

resizepart 2 987GB

Ir viskas. Procesas trumpas.

Dabar antras žingsnis: pakeisti LUKS struktūros dydį. Su ja viskas labai paprasta. Pirmiausia šifruotą ir jau padidintą skirsnį reikia prijungti ir atkoduoti:

cryptsetup luksOpen /dev/sdb2 DUOMENAI

Tada paprasčiausiai parašom:

cryptsetup resize DUOMENAI

Ir viskas. Nenurodant naujo dydžio bus tiesiog panaudotas fizinio skirsnio dydis, t.y. LUKS struktūra išplėsta maksimaliai.

Po šitos komandos vėl viskas paprasta, keičiam jau ext4 failų sistemos dydį:

resize2fs /dev/mapper/DUOMENAI

Vėlgi, nenurodant specifinio naujo failų sistemos dydžio ji bus išplėsta maksimaliai, iki LUKS konteinerio dydžio. Yzy.

Reklama
Komentarai
  1. raimis parašė:

    apie dd naudojimą.
    aš anksčiau gyvendavau dd statusą ištraukdamas ‘kill -USR1 xxx’, kur xxx – dd naudojamas pid’as. Bet laikui bėgant tai nusibodo, paieškojau ir radau kad atsiradę du variantai matyti statusą ‘gyvai’.
    1. kaip čia buvo rašyta su pv.
    2. naudoti naujesnį dd, iš coreutils 8.24+
    pasišvietė kad paprasčiau naudoti ne papildomą utilitą (pv), bet naujasnį dd.
    Veikia.

    • Darau, Blė parašė:

      Signalinimas tai toks per užpakalį metodas 🙂 Nelabai jis man. pv man outputas gražiausas, sakykim. O dd su naujuoju status rakteliu man ne visada prieinamas. Mano laptopas normaliai veikia tik su senu softu, todėl esu priverstas rūgti su 3.14 kerneliu ir Nvidia 331.38 draiveriais. Nu, veikia ir senesnės kombinacijos, bet normaliai su Optimus neveikia jokios naujesnės. O man visgi svarbu, kad veiktų. Taip kad ir apie naujesnį dd man tik pasvajot, nebent Live USB užsikraunu ar virtualkėj kažką nuveikiu. Be to, pv vis tiek gražiau rodo.

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti / Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti / Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti / Keisti )

Google+ photo

Jūs komentuojate naudodamiesi savo Google+ paskyra. Atsijungti / Keisti )

Connecting to %s