Kategória: Debian Linux

Zmenené: 23. máj 2020

UEFI, RAID a inštalátor Debian

Vytvoriť softvérový RAID je možné aj priamo pri inštalácii Debian, to nie je žiadna novinka. Tentokrát som sa rozhodol vyskúšať ako to zvládne v spojení s UEFI. V článku teda popíšem postup rozdelenia disku pre UEFI a koreňový súborový systém v softvérovom RAID1.

Disky SSD sú naozaj rýchle, ich cena klesá, ale ich životnosť je naďalej otázna (aspoň teda pri tých lacných). Použitie RAID1 sa ponúka ako výborné riešenie práve problému so životnosťou – ak disk „skončí“ (ideálne tesne pred koncom), stačí disk nahradiť novým a spustiť synchronizáciu a je hotovo.

UEFI situáciu trochu komplikuje, pretože jeho špecifikácia nepozná softvérový RAID, na druhej strane softvérový RAID umožňuje pripojiť do RAID aj partície, nie len celé disky. To umožňuje vytvoriť samostatnú partíciu EFI (FAT32) a samostatne partície, ktoré budú v RAID. Ďalšou komplikáciou je GRUB, ktorý sa síce dokáže spustiť zo softvérového RAID, ale všade na nete sa dočítate, že vyžaduje staršiu verziu formátu – čo už nie je pravda, viď koniec.

Našťastie, VirtualBox 6.0 priniesol (konečne) plnohodnotnú podporu zavádzania UEFI, a tak si možno všetko otestovať nanečisto. Ak sa vám nechce čítať ďalej, tak áno – funguje to.

Príprava virtuálneho stroja

Najprv som si pripravil virtuálny stroj bežným spôsobom a štartovacie ISO inštalátora Debian testing (bullsexe). Kvôli zapnutiu UEFI a pridaniu disku je potrebné po jeho vytvorení prejsť do jeho nastavení a zmeniť:

  • zapnúť UEFI v Systém ‣ Povoliť EFI
  • pridať ďalší disk v Úložisko ‣ Pridať pevný disk
zapnutie UEFI pridanie disku

Ak ste ešte do virtuálneho stroja nikdy nepridávali dodatočný disk, je to celkom jednoduché. Tlačidlo pridania disku spustí dialóg, kde stačí zvoliť existujúci disk alebo vytvoriť nový tlačidlom Pridať:

Dialóg pridania

Pridanie nového spustí bežný dialóg vytvorenia disku, ktorý je predvolene pomenovaný podľa mena virtuálneho stroja a umiestnený do jeho adresára…

Rozdelenie disku

Po nastavení virtuálneho stroja možno spustiť inštaláciu. Samotný postup inštalácie popisovať nebudem, ničím sa nelíši od bežnej inštalácie. Rozdiel je len pri rozdeľovaní disku, kde je potrebné zvoliť manuálne rozdelenie:

Manuálne rozdelenie disku

Partície

Ak začínate s novými diskami, zobrazí sa dialóg s „prázdnymi“ diskami, na ktorých možno (treba) vytvoriť partície, postupne na každom:

Vytváranie partícií

Najprv sa zobrazí trochu mätúci dialóg. Príčinou je, že disk ešte nemá žiadnu tabuľku rozdelenia diskov (je prázdny) a mätúce to je (dobre, môže byť), že upozorňuje na odstránenie niečoho, čo tam nie je:

Nová tabuľka rozdelenia disku

Každopádne, mätúce alebo nie, nová tabuľka rozdelenia disku je potrebná. Pod odsúhlasení nasleduje výber typu rozdelenia tabuľky – UEFI vyžaduje GPT:

Typ tabuľky disku GPT

Po zvolení typu rozdelenia disku možno prikročiť k vytvoreniu jednotlivých partícií. Zvolíte prázdne miesto na disku, čím sa spustí dialóg vytvorenia partície.

Aby fungovalo zavádzanie UEFI, je potrebná tzv. „Systémová partícia EFI“, úplne stačí 512 MB – inštalátor sám zvolí vhodný typ súborového systému. Ďalšie partície závisia na vlastnom výbere, ale na vytvorenie RAID netreba nastavovať nič iné, len zvoliť „Fyzický zväzok RAID“. No a netreba zabudnúť na „odkladaciu“ partíciu SWAP:

Systémová partícia EFI Fyzický zväzok RAID Odkladacia partícia SWAP

Samozrejme, je treba vytvoriť partície aj na druhom disku. Na obrázku je na druhom disku tiež SWAP, zato chýba systémová partícia EFI.

Tip

V praxi by som zvolil vytvorenie partície FAT32 aj na začiatku druhého disku, kde by som si ukladal zálohu (kopiu) obsahu partície EFI.

Varovanie

Ak by sa skutočne jednalo o disk SSD, určite na neho nedávajte SWAP, pretože využívanie SWAP je náročné na zápis a môže výrazne skrátiť životnosť disku!

Vytvorenie RAID

Po vytvorení partícií na jednotlivých diskov možno pristúpiť k samotnému vytvoreniu softvérového RAID výberom rovnakej položky v menu:

Softvérový RAID

Tým otvoríte dialóg na výber ďalšej akcie, v tomto prípade vytvorenie nového diskového poľa:

Nový softvérový RAID

nasleduje výber typu diskového poľa. Ako vidno, výber obsahuje viacero typov, v tomto prípade zvoľte RAID1, čiže diskové pole, ktoré zapisuje (rovnaké) dáta naraz na viacero diskov:

Typ RAID

Nasleduje nastavenie RAID, najprv počet aktívnych diskov a potom počet náhradných:

počet aktívnych diskov počet náhradných diskov

No a nakoniec zvoliť, ktoré partície majú byť súčasťou diskového poľa (aktívne):

Zariadenia RAID

Súborový systém

Po vytvorení diskového poľa, bude zobrazené vo výpise samostatne:

Zariadenia -- disky

Na tomto „špeciálnom“ zariadení teraz treba vytvoriť súborový systém a zvoliť jeho prípojný bod, ako zvyčajne:

RAID ext4

Celkom na koniec zapísať zmeny na disk – doteraz ešte na disku fyzicky nebolo nič vytvorené (a teda ani zmazané):

RAID ext4

Inštalátor si vyžiada potvrdenie, pretože títo operácia je viac-menej nevratná:

Potvrdenie zápisu zmien

Ostáva dokončiť inštaláciu a spustiť systém.

Varovanie

Avšak, inštalácia s RAID bola vo VirtualBox-e neskutočne pomalá. Hoci som hlbšie nepátral po príčine (úplne prvý krát som použil novú verziu VirtualBox), predpokladám, že za tým bol práve RAID1 – každá informácia zapisovaná dva krát, ale fyzicky na jeden reálny disk, na ktorom boli tie virtuálne uložené.

Záver

Po reštarte systém nabehol, takže inštalácia funguje. Mimochodom, systém nabehol aj po vypnutí a zapnutí virtuálneho stroja, takže podpora UEFI vo VirtualBoxe 6.x naozaj funguje (narozdiel od predošlých verzií, kde po vypnutí virtuálneho stroja „zabudol“ všetky nastavenia UEFI).

Inštalátor uložil vytvorené diskové pole do /etc/mdadm/mdadm.conf:

# definitions of existing MD arrays
ARRAY /dev/md/0  metadata=1.2 UUID=343e43eb:be949d09:137531a8:1f58b2f9 name=debraid:0

Ako som spomenul, bol som najmä zvedavý, ako to je s tou verziou metadát zariadenia RAID, pre GRUB:

mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri May 22 16:04:36 2020
        Raid Level : raid1
        Array Size : 8950784 (8.54 GiB 9.17 GB)
     Used Dev Size : 8950784 (8.54 GiB 9.17 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

...

Ako sami môžete vidieť, GRUB si poradil aj s novou verziou metadát. Nechystám sa pátrať v ktorej verzii bola táto podpora pridaná, úplne mi stačí, že to v budúcej verzii Debian stable bude fungovať…