Klonovani Disku: Porovnání verzí

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání
 
(Není zobrazeno 13 mezilehlých verzí od stejného uživatele.)
Řádek 41: Řádek 41:
 
* vybrat vzdálený adresář, by default je ono zmíněný /home/partimag
 
* vybrat vzdálený adresář, by default je ono zmíněný /home/partimag
 
* pokud se adresář přimountuje je všechno v pořádku, pokud ne je potřeba zjistit co se se přihodilo, vždy je možné přepnout se do konzole a zkusit to ručně:  
 
* pokud se adresář přimountuje je všechno v pořádku, pokud ne je potřeba zjistit co se se přihodilo, vždy je možné přepnout se do konzole a zkusit to ručně:  
  mount -t nfs -v IP_serveru:/home/partimag/ /home/partimag -o noatime,nodiratime,nfsver=3  
+
  mount -t nfs -v IP_serveru:/home/partimag/ /home/partimag -o noatime,nodiratime,nfsvers=3  
 
''(parametry -o nejsou důležité jen bez nfsver=3 bude mount nejdřív zkoušet připojit adresář přes nfsv4 a až se mu to nepovede zkusí v3)''
 
''(parametry -o nejsou důležité jen bez nfsver=3 bude mount nejdřív zkoušet připojit adresář přes nfsv4 a až se mu to nepovede zkusí v3)''
 +
 
===klonování===
 
===klonování===
 
Před samotným výběrem co se bude klonovat si můžeme vybrat jestli chceme základní mód, nebo rozšířený, na 90% případů bude stačit základní mód, pouze pokud byc něco nefungovalo můžeme jít do rozšířeného, kde je kopec nastavení.
 
Před samotným výběrem co se bude klonovat si můžeme vybrat jestli chceme základní mód, nebo rozšířený, na 90% případů bude stačit základní mód, pouze pokud byc něco nefungovalo můžeme jít do rozšířeného, kde je kopec nastavení.
Řádek 90: Řádek 91:
 
  service tftpd-hpa restart
 
  service tftpd-hpa restart
 
===Příprava dhcp serveru===
 
===Příprava dhcp serveru===
 +
V této části návodu je popisován postup pro dhcpd server běžně používaný v debianu a to isc-dhcp-server.
 +
 +
pokud dhcp server již nemáme nainstalujeme ho pomocí:
 +
apt-get install isc-dhcp-server
 +
Upravíme soubor s konfigurací ''/etc/dhcp/dhcpd.conf'' tak, že do něj přidáme (předpoklad je, že na interface na kterém budeme server provozovat má IP 192.168.100.1/24 a dhcp server je zároveň i tftpserver):
 +
allow booting;
 +
subnet 192.168.100.0 netmask 255.255.255.0 {
 +
        range 192.168.100.70 192.168.100.100;
 +
        filename "pxelinux.0";
 +
        next-server 192.168.100.1;
 +
        option subnet-mask 255.255.255.0;
 +
        option broadcast-address 192.168.100.255;
 +
        option routers 192.168.100.1;
 +
}
 +
Poku nám tftpserver běží na jiné IP, na jiném stroji, můžeme do konfigurace tu informaci doplnit (tftpserver na IP 192.168.100.2):
 +
group {
 +
  next-server 192.168.100.2; # our Server
 +
  host tftpclient {
 +
    filename "pxelinux.0";
 +
  }
 +
}
 +
V souboru /etc/default/isc-dhcp-server si zkontrolujeme, že dhcp server běží opravdu jenom tam kde to chceme (např. pouze na int eth1), pokud není vyplněno nic běží automaticky na všech interfacech
 +
INTERFACES="eth1"
 +
Provedeme reload dhcp serveru
 +
service isc-dhcp-server restart
 +
===Příprava boot image===
 +
Jako boot image použijeme netboot distribuce debian, které je na tuto funkci vhodně připravená. Nejdříve si stáhneme zabalený archiv se systémem:
 +
mkdir /tmp/netinst/
 +
cd /tmp/netinst/
 +
wget http://ftp.cz.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz
 +
"installer-i386" můžeme případně vyměnit za jinou architekturu podle potřeby
 +
tar -xzf netboot.tar.gz
 +
cp -r ./ /var/lib/tftpboot/
 +
Tím bychm měli mít všechny potřebné soubory zkopírované do kořenu tftp serveru a mělo by bým možné z PXE nabootovat
 +
===Nasazení Clonezilly do tftp serveru===
 +
Nejdřív si stáhneme live image clonezilly ve formě zipu z http://clonezilla.org/downloads/download.php?branch=stable clonezilla je hostovaná na sourceforge cesta k souboru se tedy může měnit.
 +
mkdir /tmp/clonezilla/
 +
cd /tmp/clonezilla/
 +
wget http://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/2.2.1-25/clonezilla-live-2.2.1-25-i686-pae.zip
 +
extrahujeme si soubory vmlinuz, initrd.img a filesystem.squashfs přímo do kořenu tftp serveru
 +
unzip -j clonezilla-live-2.2.1-25-i686-pae.zip live/vmlinuz live/initrd.img live/filesystem.squashfs -d /var/lib/tftpboot/
 +
Upravime si boot screen nabidku v souboru: /var/lib/tftpboot/debian-installer/i386/boot-screens/txt.cfg tak aby obsahovala:
 +
label Clonezilla-live
 +
  MENU LABEL Clonezilla Live (Ramdisk)
 +
  MENU default
 +
  KERNEL vmlinuz
 +
  APPEND initrd=initrd.img boot=live username=user fetch=tftp://192.168.100.1/filesystem.squashfs keyboard-layouts=NONE locales=en_US.UTF-8 config quiet noswap noprompt edd=on nomodeset noeject ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 toram=filesystem.squashfs ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no
 +
 +
Parametry jsou nastavené tak, aby se clonezilla při startu neptala na rozložení klávesnice a byla v rozlišení 1024x768
 +
 +
Nyní by už v PXE menu měla být vidět položka Clonezilla Live (Ramdisk) která spustí pseudografické rozhraní Clonezilla live.
 +
 +
===Tipy a triky===
 +
Pokud nechci v PXE menu odklepávat položku Clonezilly, ale chci aby se spouštěla rovnou, mohu to udělat tak, že upravím v souboru ''/var/lib/tftpboot/debian-installer/i386/boot-screens/syslinux.cfg'' položku timeout na nějakou hodnotu které je udáváná v desetinách sekundy, např. timeout 30 odpočítá 3s a poté spustí položku menu označenou jako default (v našem případě položka "MENU default" v souboru /var/lib/tftpboot/debian-installer/i386/boot-screens/txt.cfg) hodnota 0 znamená odpočet (a autoboot nějaké položky) vypnutý.
 +
 +
==Použité zdroje==
 +
https://wiki.debian.org/PXEBootInstall
 +
 +
http://ubuntuforums.org/showthread.php?t=1413126
 +
 +
http://www.debian-administration.org/articles/478
 +
 +
http://clonezilla.org/livepxe.php

Aktuální verze z 6. 8. 2014, 12:03

Klonování disku je možné dělat jednoduchou aplikací zvanou dd případně ji řetězit s dalšími příkazy, které umožní např. komprimovat výsledný obraz, poslat ho někam po síti, apod. ale existuje i jednoduchá "klikací" aplikace která poskytne všechno vyjmenované a ještě něco navíc.

Clonezilla

Clonezilla je projekt, který má za cíl vytvořit jednoduchý klonovací nástroj s použitím běžných linuxových aplikací chytře použitých najednou tak, aby software byl jednoduše ovladatelný a uměl dělat na cokoli si člověk vzpomene.

Clonezilla vychází ve formě liveCD, které je možné spouštět z CD nebo z Flash nebo i z oddílu na disku.

Samotné liceCD obsahuje několik možných možností spuštění, různé VGA mody i možnost spustit vše v RAMdisku s možností vyjmou instalační medium když se aplikace naloaduje.

Clonezilla je založená na ubuntu a obsahuje spoustu nástrojů na práci s disky a oddíly jako fdisk, cfdisk, sfdisk, parted, sgdisk apod. vše je možné spustit s ovládat přes konzoli nebo spustit přímo grafické rozhraní clonezilly.

Clonezilla podporuje práci s:

  • zařízení - image (device-image)
  • zařízení - zařízení (device-device)

Uložení nebo obnovení image program dovoluje použití:

  • lokálního úložiště (např. externí disk, flashka)
  • síťového úložiště pomocí SSH protokolu
  • síťového úložiště pomocí samba protokolu
  • síťového úložiště pomocí nfs protokolu

Já jsem zkoušel sambu proti win8 stanici - nefungovalo to, neřešil jsem proč, když máme k dispozici linux proč používat sambu... local úložiště funguje s tím faktem, že externí disk je nutné připojit teprve až jse k tomu vyzváni.

Nastavení NFS

Pokud chceme pro ukládání image použít NFS protokol musíme si nejdřív připravit server, postup je jednoduchý:

  • připravit si adresář do kterého chceme ukládat soubory, já jsem použil adresář /home/partimag protože clonezilla tento adresář bere jako "default"
mkdir /home/partimag
  • nasdílet adresář v NFS, NFS sdílení jsou vypsané v konfiguračním souboru /etc/exports, do souboru stačí přidat:
/home/partimag *(rw,sync,no_subtree_check)

hvězdička znamená neomezovat na žádné IP/hostname, ostatní parametry viz man /etc/exports

  • aby se změny v /etc/exports projevili musí se provést buď reload nfs serveru nebo:
exportfs -a

Takže teď již máme připravený adresář pro uložení image

Použití NFS

Pokud chceme pro ukládání použít NFS musíme ještě projít několika operacemi a to:

  • přidělení adresy - asi nejjednodušší je nechat si přidělit adresu dhcp serverem, buď staticky nebo dynamicky, záleží na konkrétní situaci Linux_services#DHCP_server
  • vybrat verzi NFS, já používal NFSv3 s v4 se pracuje malinko jinak [1]
  • vybrat NFS server, základní nastavení je default brána přidělená od DHCP
  • vybrat vzdálený adresář, by default je ono zmíněný /home/partimag
  • pokud se adresář přimountuje je všechno v pořádku, pokud ne je potřeba zjistit co se se přihodilo, vždy je možné přepnout se do konzole a zkusit to ručně:
mount -t nfs -v IP_serveru:/home/partimag/ /home/partimag -o noatime,nodiratime,nfsvers=3 

(parametry -o nejsou důležité jen bez nfsver=3 bude mount nejdřív zkoušet připojit adresář přes nfsv4 a až se mu to nepovede zkusí v3)

klonování

Před samotným výběrem co se bude klonovat si můžeme vybrat jestli chceme základní mód, nebo rozšířený, na 90% případů bude stačit základní mód, pouze pokud byc něco nefungovalo můžeme jít do rozšířeného, kde je kopec nastavení.

Na výběr máme několik možností co můžeme dělat, ty co nás budou zajímat jsou hlavně:

  • savedisk (vytvoření image z celého fyzického disku(ů))
  • saveparts (vytvoření image z oddílu(ů))
  • restoredisk (obnovení image na lokální disk)
  • restoreparts (obnovení image na lokální disk a konkrétní oddíl)

vytvoření image

Pokud chceme vytvořit image, ať disku nebo oddílu - fakticky funguje jenom vytváření oddílu, image disku se provede tak, že se postupně uloží všechny oddíly které na disku jsou. Postup je následující:

  • vybereme si název image
  • cloneziila nadetekuje disky/odddíly ze kterých si vebereme co chceme uložit
  • následuje možnost nechat si zkontrolovat souborový systém než se image vytvoří (u windows oddílů bych to raději nedoporučoval, clonezilla má sice i plnou podporu ntfs filesystému, ale nemusí to být 100%)
  • poslední možnost je nechat si zkontrolovat výsledný image
  • pak už jen clonezilla oznámí jaký příkaz vlastně bude spouštět a pustí se do klonování

obnovení image

Pokud už máme vytvořený image, který chceme obnovit vybereme možnost restoredisk/parts

  • vybereme si jaký image chceme obnovit pokud jich máme více
  • vybereme na jaký disk/oddíl se má image nahrát - pokud chceme nahrát oddíl na prázdný disk musíme si nejdříve oddíly ručně vytvořit např. přes cfdisk, v případě klonování disku se rozdělení disku použije takové jaké bylo rozdělení na disku ze kterého se image vytvářel, zde může dojít k situaci, že zdrojový disk byl větši než cílový a pokud víme co děláme v advanced režimu jde zaškrtnout možnost nekontrolovat velikost cílového disku a obraz jde potom nahrát i na disk menší než byl disk ze kterého byl obraz vytvořen.
  • clonezilla vypíše jaký příkaz bude spouštět a pustí se do klonování
  • nakonec aplikace varuje, že si smažeme všechno co na disku bylo

Pokud se všechno zdařilo bude na konci hláška o úspěšném dokončení klonování, pokud ne vypíše se chybová hláška žlutě nebo červeně o tom co se nepovedlo.

Tipy a triky

  • Davejte pozor na množsví volného místa na cílověm disku pro uložení image, pokud ho není dost clonezilla někdy vypíše ne úplně smysluplnou chybu.
  • Nastaly problémy s použitím GPT rozdělení disku, když se přepne na msdos rozdělení tak všechno v pořádku.
  • Když je disk nastavený na mod RAID (kvůli hybridnímu disku) clonezzila od určitého okamžiku začala disk identifikovat jako RAID pole a začala při bootu tvořit mdXXX zařízení místo aby nadetekovala běžné diskové oddíly, nešlo potom klonovat protože nebylo klonovat co, diskové oddíly se nenačetly.

Clonezilla jako PXE server

Zde je v zásadě rozebrán tento návod [2] návod je platný pro debian squeeze/wheezy

Příprava TFTP serveru

Jako tftp server použijeme tftpd-hpa, který je v debianu ve stejnojmenném balíčku, server pomocí apt-get install tftpd-hpa nainstalujeme, poté je potřeba server nakonfigurovat, do souboru /etc/default/tftpd-hpa zadáme následující:

# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

/var/lib/tftpboot pro nás bude kořenová složka pro tftpserver, tftp bude běžet jako daemon a bude nastlouchat na portu 69 na všech IP které server má přiřazené.

Vytvoříme adresář, který bude pro nás kořenem tftpserveru:

mkdir -p /var/lib/tftpboot

A restartujeme tftpd aby si natáhl nové nastavení:

service tftpd-hpa restart

Příprava dhcp serveru

V této části návodu je popisován postup pro dhcpd server běžně používaný v debianu a to isc-dhcp-server.

pokud dhcp server již nemáme nainstalujeme ho pomocí:

apt-get install isc-dhcp-server

Upravíme soubor s konfigurací /etc/dhcp/dhcpd.conf tak, že do něj přidáme (předpoklad je, že na interface na kterém budeme server provozovat má IP 192.168.100.1/24 a dhcp server je zároveň i tftpserver):

allow booting;
subnet 192.168.100.0 netmask 255.255.255.0 {
       range 192.168.100.70 192.168.100.100;
       filename "pxelinux.0";
       next-server 192.168.100.1;
       option subnet-mask 255.255.255.0;
       option broadcast-address 192.168.100.255;
       option routers 192.168.100.1;
}

Poku nám tftpserver běží na jiné IP, na jiném stroji, můžeme do konfigurace tu informaci doplnit (tftpserver na IP 192.168.100.2):

group {
  next-server 192.168.100.2; # our Server
  host tftpclient {
    filename "pxelinux.0"; 
  }
}

V souboru /etc/default/isc-dhcp-server si zkontrolujeme, že dhcp server běží opravdu jenom tam kde to chceme (např. pouze na int eth1), pokud není vyplněno nic běží automaticky na všech interfacech

INTERFACES="eth1"

Provedeme reload dhcp serveru

service isc-dhcp-server restart

Příprava boot image

Jako boot image použijeme netboot distribuce debian, které je na tuto funkci vhodně připravená. Nejdříve si stáhneme zabalený archiv se systémem:

mkdir /tmp/netinst/
cd /tmp/netinst/
wget http://ftp.cz.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/netboot.tar.gz

"installer-i386" můžeme případně vyměnit za jinou architekturu podle potřeby

tar -xzf netboot.tar.gz
cp -r ./ /var/lib/tftpboot/

Tím bychm měli mít všechny potřebné soubory zkopírované do kořenu tftp serveru a mělo by bým možné z PXE nabootovat

Nasazení Clonezilly do tftp serveru

Nejdřív si stáhneme live image clonezilly ve formě zipu z http://clonezilla.org/downloads/download.php?branch=stable clonezilla je hostovaná na sourceforge cesta k souboru se tedy může měnit.

mkdir /tmp/clonezilla/
cd /tmp/clonezilla/
wget http://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable/2.2.1-25/clonezilla-live-2.2.1-25-i686-pae.zip

extrahujeme si soubory vmlinuz, initrd.img a filesystem.squashfs přímo do kořenu tftp serveru

unzip -j clonezilla-live-2.2.1-25-i686-pae.zip live/vmlinuz live/initrd.img live/filesystem.squashfs -d /var/lib/tftpboot/

Upravime si boot screen nabidku v souboru: /var/lib/tftpboot/debian-installer/i386/boot-screens/txt.cfg tak aby obsahovala:

label Clonezilla-live
 MENU LABEL Clonezilla Live (Ramdisk)
 MENU default
 KERNEL vmlinuz
 APPEND initrd=initrd.img boot=live username=user fetch=tftp://192.168.100.1/filesystem.squashfs keyboard-layouts=NONE locales=en_US.UTF-8 config quiet noswap noprompt edd=on nomodeset noeject ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no vga=791 toram=filesystem.squashfs ip=  nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=no

Parametry jsou nastavené tak, aby se clonezilla při startu neptala na rozložení klávesnice a byla v rozlišení 1024x768

Nyní by už v PXE menu měla být vidět položka Clonezilla Live (Ramdisk) která spustí pseudografické rozhraní Clonezilla live.

Tipy a triky

Pokud nechci v PXE menu odklepávat položku Clonezilly, ale chci aby se spouštěla rovnou, mohu to udělat tak, že upravím v souboru /var/lib/tftpboot/debian-installer/i386/boot-screens/syslinux.cfg položku timeout na nějakou hodnotu které je udáváná v desetinách sekundy, např. timeout 30 odpočítá 3s a poté spustí položku menu označenou jako default (v našem případě položka "MENU default" v souboru /var/lib/tftpboot/debian-installer/i386/boot-screens/txt.cfg) hodnota 0 znamená odpočet (a autoboot nějaké položky) vypnutý.

Použité zdroje

https://wiki.debian.org/PXEBootInstall

http://ubuntuforums.org/showthread.php?t=1413126

http://www.debian-administration.org/articles/478

http://clonezilla.org/livepxe.php