Half-Diskless: Porovnání verzí

Z DCEwiki
Přejít na: navigace, hledání
(Založena nová stránka s textem „; Half-Diskless : Je varianta pro virtuální disklessové stroje, virtualizované skrze QEMU, při které se při zavádění systému využívá…“)
 
m
Řádka 1: Řádka 1:
 
; [[Half-Diskless]] : Je varianta pro virtuální disklessové stroje, virtualizované skrze [[QEMU]], při které se při zavádění systému využívá virtuální [[Bloková zařízení v linuxu|blokové zařízení]], nasdílené tak jako systém přes [[NFS]]. Toto blokové zařízení obsahuje linuxové jádro, ramdisk a zavaděč [[Grub]], který při zavádění jádru předá IP adresu pro rozhraní přes které si pak připojí systém nasdílený přes [[NFS]]. '''Tímto způsobem lze spustit virtuální stroj aniž by byl závislý na DHCP a zavádění přes [[PXE]]'''.
 
; [[Half-Diskless]] : Je varianta pro virtuální disklessové stroje, virtualizované skrze [[QEMU]], při které se při zavádění systému využívá virtuální [[Bloková zařízení v linuxu|blokové zařízení]], nasdílené tak jako systém přes [[NFS]]. Toto blokové zařízení obsahuje linuxové jádro, ramdisk a zavaděč [[Grub]], který při zavádění jádru předá IP adresu pro rozhraní přes které si pak připojí systém nasdílený přes [[NFS]]. '''Tímto způsobem lze spustit virtuální stroj aniž by byl závislý na DHCP a zavádění přes [[PXE]]'''.
 
<noinclude>
 
<noinclude>
 +
== Popis ==
 +
Při zavádění tohoto stroje QEMU připojí virtuální disk nasdílený přes NFS do virtuálu a vyhledá MBR sektor ze kterého spustí zavaděč GRUB. Ten obsahuje moduly, které rozpoznají blokové zařízení a diskový oddíl, na kterém jsou uloženy další moduly zavaděče, jádra s ramdisky a především soubor <code>grub.cfg</code>
 +
 +
Ten se od standardního konfiguračního souboru generovaného přes '''grub-mkconfig''' liší především tím, že místo blokového zařízení se systémem předává jádru nastavení pro připojení systému přes NFS. To sebou může nést několik úskalí:
 +
 +
; špatné síťové rozhraní : Je-li zavaděčem předané neplatné jméno síťového zařízení může skončit zavádění chybou jádra, případně zůstane zaváděcí proces viset. '''Řešení:''' Nabootovat pouze do ramdisku a přes soubor … zjistit, jaké síťové interfejsy jsou v ramdisku aktuálně k dispozici.
 +
 +
; neplatná cesta k systému sdílenému přes NFS : Je-li předaná neplatná cesta, nebo je chyba v adrese ze které se má NFS server připojit, případně je nějaký problém v nasdílení systémového disku, skončí proces zavádění opakovanými pokusy o připojení systémového adresáře přes NFS. '''Řešení:''' Zkontrolovat, je-li správně proveden NFS export. Jestli je platná cesta ke sdílenému adresáři. Jestli má adresa klientské stanice k němu přístup. Případně jestli je v parametrech předávaných jádru správně uvedena IP adresa NFS serveru a klienta.
 +
 +
{{Pozor|Při zavádění systému přes NFS se systémový disk v ramdisku připojuje přes NFSv3. Takže musí být uvedena '''plná cesta'''.}}
 +
 +
=== Export adresáře přes NFS ===
 +
 +
=== Zkopírování stávajícího obsahu fyzického stroje ===
 +
 +
=== Vytvoření zaváděcího disku ===
 +
1, Zkopírování zaváděcího disku stroje k333-dhcp (soubor k333dhcp.img) do souboru k333stu1.img
 +
 +
host (NFS) :/srv/boot# cp k333dhcp.img k333stu1.img
 +
 +
2, Připojení souboru k333stu1.img přes losetup na loop0
 +
 +
losetup /dev/loop0 /srv/boot/k333stu1.img
 +
 +
3, Mount diskového oddílu s jádrem a soubory zavaděče
 +
 +
host (NFS) :~# mount /dev/loop0 /mnt -o offset=$((2048*512))
 +
 +
{{Poznámka|Při namountování musí být použit '''offset'''!}}
 +
 +
4, Zkopírování stávajícího ramdisku a jádra. A úprava souboru <code>/mnt/grub/grub.cfg</code>
  
 
[[Kategorie:Diskless]]
 
[[Kategorie:Diskless]]
 
</noinclude>
 
</noinclude>

Verze z 28. 9. 2018, 16:08

Half-Diskless 
Je varianta pro virtuální disklessové stroje, virtualizované skrze QEMU, při které se při zavádění systému využívá virtuální blokové zařízení, nasdílené tak jako systém přes NFS. Toto blokové zařízení obsahuje linuxové jádro, ramdisk a zavaděč Grub, který při zavádění jádru předá IP adresu pro rozhraní přes které si pak připojí systém nasdílený přes NFS. Tímto způsobem lze spustit virtuální stroj aniž by byl závislý na DHCP a zavádění přes PXE.

Popis

Při zavádění tohoto stroje QEMU připojí virtuální disk nasdílený přes NFS do virtuálu a vyhledá MBR sektor ze kterého spustí zavaděč GRUB. Ten obsahuje moduly, které rozpoznají blokové zařízení a diskový oddíl, na kterém jsou uloženy další moduly zavaděče, jádra s ramdisky a především soubor grub.cfg

Ten se od standardního konfiguračního souboru generovaného přes grub-mkconfig liší především tím, že místo blokového zařízení se systémem předává jádru nastavení pro připojení systému přes NFS. To sebou může nést několik úskalí:

špatné síťové rozhraní 
Je-li zavaděčem předané neplatné jméno síťového zařízení může skončit zavádění chybou jádra, případně zůstane zaváděcí proces viset. Řešení: Nabootovat pouze do ramdisku a přes soubor … zjistit, jaké síťové interfejsy jsou v ramdisku aktuálně k dispozici.
neplatná cesta k systému sdílenému přes NFS 
Je-li předaná neplatná cesta, nebo je chyba v adrese ze které se má NFS server připojit, případně je nějaký problém v nasdílení systémového disku, skončí proces zavádění opakovanými pokusy o připojení systémového adresáře přes NFS. Řešení: Zkontrolovat, je-li správně proveden NFS export. Jestli je platná cesta ke sdílenému adresáři. Jestli má adresa klientské stanice k němu přístup. Případně jestli je v parametrech předávaných jádru správně uvedena IP adresa NFS serveru a klienta.
Upozornění Při zavádění systému přes NFS se systémový disk v ramdisku připojuje přes NFSv3. Takže musí být uvedena plná cesta.

Export adresáře přes NFS

Zkopírování stávajícího obsahu fyzického stroje

Vytvoření zaváděcího disku

1, Zkopírování zaváděcího disku stroje k333-dhcp (soubor k333dhcp.img) do souboru k333stu1.img

host (NFS) :/srv/boot# cp k333dhcp.img k333stu1.img

2, Připojení souboru k333stu1.img přes losetup na loop0

losetup /dev/loop0 /srv/boot/k333stu1.img

3, Mount diskového oddílu s jádrem a soubory zavaděče

host (NFS) :~# mount /dev/loop0 /mnt -o offset=$((2048*512))
Poznámka Při namountování musí být použit offset!

4, Zkopírování stávajícího ramdisku a jádra. A úprava souboru /mnt/grub/grub.cfg