Portál AbcLinuxu, 15. července 2025 03:24


Dotaz: Klonování disků

10.6.2008 15:26 Myšpulín | skóre: 8
Klonování disků
Přečteno: 2145×
Odpovědět | Admin
Zdravím všehny, existuje nějaký linuxový nástroj na klonování disků? Potřebuji klonovat, vytvořit image disku nebo partition přímo na cd a vyrobit bootovatelné cd, ze kterého půjde nabootovat a rovnou obnovit disk z image. Ideálně aby uměl zálohovat partition po síti. Na tohle byl ideální Norton Ghost, ale myslím, že je placený a tak je problém z něj dělat ty bootovací zálohy. Chtěl bych přejít na kompletní linuxové řešení. Máte nějaký typ? (Kromě dd, rescue cd a ghost for linux.) Každý umí jen část toho, co potřebuji.
Nástroje: Začni sledovat (5) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jiří Poláček avatar 10.6.2008 15:34 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
Rozbalit Rozbalit vše Re: Klonování disků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Na klonování disků po síti používám partimage.
Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
10.6.2008 16:06 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Klonování disků
Dobrý nástroj myslím, že ale neumí vyrobit bootovatelné CD.
10.6.2008 22:17 laco
Rozbalit Rozbalit vše Re: Klonování disků
Určitě neumí vyrobit bootovatelné CD.
10.6.2008 15:49 maník | skóre: 18
Rozbalit Rozbalit vše Re: Klonování disků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Měl by to umět Mondo Rescue.
10.6.2008 16:08 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Klonování disků
Umí to vyrobit bootovatelné CD ve smyslu vytvořit obraz na CD, který bootuje?
11.6.2008 15:00 maník | skóre: 18
Rozbalit Rozbalit vše Re: Klonování disků
Ano.
11.6.2008 23:37 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Klonování disků
Díky. Musím si to více projít, protože na první pohled se mi to tam nepodařilo najít.
10.6.2008 16:11 marek
Rozbalit Rozbalit vše Re: Klonování disků
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dobry den.

Kdyby byl zajem mohl bych nabidnout sadu scriptu, ktere pouzivame my.

Mame to rozjete uz nekolik let a postupne zlepsujeme a vpodstate jiz nikdo pocitace neinstaluje, ale jenom se imaguje.

Bootujeme nfsroot bud pxe, usb nebo cdrom.

Na tom nfsrootu je debian.

Drive jsme pouzivali parimage, ted postupne prechazime na dd.

Mame i multicast verzi.

Mame image a otisk pro kazdy model pocitacu co se u nas vyskytuje a scriptem nabizime vzdy jen relevantni image.

Imagujeme jenom windows, na linux to podle mne neni potreba - tar mi prijde pohodlnejsi.

Imagujeme po partisnach. MBR kopirujeme samostatne.

Pred tvorbou image zmensime partisnu na nejmensi moznou velikost, nastavime sysprep.

Po doimageovani si zjistime jmeno pocitace a zapiseme ho do konfiguraku sysprepu a zvetsime filesystem na celou partisnu.

Rozhodne to ale je jen pro pokrocile scriptare, je tam spousta individualniho nastavovani.

marek

10.6.2008 16:47 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: Klonování disků
ja bych se primlouval za zverejneni tohle se nejspis bude hodit vice lidem...
10.6.2008 16:57 mseed | skóre: 21 | blog: FastLinux
Rozbalit Rozbalit vše Re: Klonování disků
+1
10.6.2008 22:18 laco
Rozbalit Rozbalit vše Re: Klonování disků
+ 1.035
11.6.2008 11:32 Tonda
Rozbalit Rozbalit vše Re: Klonování disků
+1
11.6.2008 08:03 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: Klonování disků

Proč místo partimage používáte dd a děláte ty čachry se zvětšováním a zmenšování partition?

Ta multicast verze by nás zajímala. Taky máme rozjetého něco podobného - máme 7 učeben po 11 počítačích, každá učebna má svého správce a tak se neřeší výběr klonu, ten je dán učebnou. Zpočátku jsme měli klony na serveru, ale s tím byl pro nedostatek místa problém. Teď to děláme tak, že na jednom PC se Windows nainstalují a rebootne se do klonovacího Linuxu (jsou tam dvě partition s Linuxem - s jednou se pracuje a druhá slouží ke klonování) a tento hlavní počítač začne nabízet svůj image jako server a ostatní se připojí a vždy jen jeden se klonuje. Po ukončení se všechno vypne - trvá to celé asi 1 hodinu. Ten multicast by to zkrátil na 15 minut.

11.6.2008 15:56 marek
Rozbalit Rozbalit vše Re: Klonování disků

Dobry den.

Cachry se zvetsovanim a zmensovanim delame kvuli ruzne velikosti disku.

Kdyz kolega dela vzorovou image vetsinou se dostane pod 5GB, takze jsme to schopni nainstalovat i na malinkate disky.

"dd" jsme zacali pouzivat kvuli jednoduchosti - tim ze to zmensujeme, tak nam hlavni vyhoda partimage - rozumi ntfs a zapisuje jen obsazenou cast partisny - nepomuze.

A hlavne partimage asi neumi cist data ze stdin - a pokud chceme data dopravovat multicastem, tak je to jednodussi.

marek

Ps: v tuto chvili nestiham dat sem scripty, ale doufam, ze se zitra polepsim.

12.6.2008 14:47 marek
Rozbalit Rozbalit vše Re: Klonování disků

Dobry den.

Takze slibena multicast verze:


#obsah scriptu, ktery to cele spusti (bezi na serveru, na kterem je ulozena image):
#!/bin/bash
for ((i=50;i<61;i++))  #na pozadi na vyjmenovanych strojich spusti pomoci ssh klice script
do
        ssh -f udpmcast@172.20.12.$i true > ~/$i.log 2> ~/$i.log.err
done
udp-sender iso.gz #spusti vysilani
#konec souboru*************************************************************************************

#obsah /home/udpmcast/.ssh/authorized_keys (na klientech, ktere chceme imagovat):
command=". /usr/local/sbin/zapis_sudo" ssh-dss AA... ...= udp-sender@server
#konec souboru*************************************************************************************

#obsah /usr/local/sbin/zapis_sudo (na klientech, ktere chceme imagovat):
#!/bin/bash
sudo /usr/local/sbin/zapis
#konec souboru*************************************************************************************

#soubor /etc/sudoers mimo jine obsahuje (na klientech, ktere chceme imagovat):
udpmcast localhost= NOPASSWD: /usr/local/sbin/zapis
#konec souboru*************************************************************************************

#obsah /usr/local/sbin/zapis (priblizne)(na klientech, ktere chceme imagovat):
#!/bin/bash
SOUBORSEJMENYMAC=/home/jmena_mac # jmena urcujeme podle sitovky

export PATH=""
disk=sda
/bin/dd if=/dev/zero bs=1024 count=1024 of=/dev/$disk 2>/dev/null   #prepisu prvni megabyte disku nulama
echo -ne "n\np\n1\n\n\nt\n7\na\n1\nw\n" | /sbin/fdisk /dev/$disk >/dev/null  2>/dev/null #fdiskem vytvorim jednu partisnu, zvolim typ, udelam bootovaci ...
POCET=0
MAXPOCET=10
while [ ! -b /dev/sda1 ]        #cekam maximalne MAXPOCET sekund na udev
do
        /bin/sleep 1
        POCET=$((POCET+1))
        if [ $POCET -gt $MAXPOCET ]
        then
               exit 11
        fi
done
#Zjistim si ip adresu
ETH=$(/bin/ip link show | /usr/bin/awk -F":" '/ <BROADCAST,MULTICAST,UP> / {print $2}')
[ "$ETH" ] || ETH=$(/bin/ip link show | /usr/bin/awk -F":" '/ <BROADCAST,MULTICAST,UP,10000> / {print $2}')
[ "$ETH" ] || exit 1
HW=$(/bin/ip link show $ETH | /usr/bin/awk '/ link\/ether / {print $2}')
JMENO=$(/usr/bin/awk "/$HW/"'{JMENO = $1} END {print JMENO}' < $SOUBORSEJMENYMAC)|| exit 2
#zkopiruji data
/usr/bin/udp-receiver --nokbd -p "/bin/gunzip -c" > /dev/$disk"1"
mkdir -p /mnt/mountpoint$JMENO
/usr/bin/ntfs-3g -o nonempty,nls=8 /dev/$disk"1" /mnt/mountpoint$JMENO #namountim nove nainstalovanou partisnu
if [ $? = 0 ]
then
        /usr/sbin/ntpdate ntpserver #nastavim si cas
        /sbin/hwclock --systohc

        echo "********************* $JMENO ***********************"
        /bin/sed -e"s/nove_jmeno/$JMENO/" /home/sysprep/sysprep.inf > /mnt/mountpoint$JMENO/sysprep/sysprep.inf
        echo -ne "image          \tjmenoimage\ncas(Y-m-d H:M) \t$(/bin/date "+%F %H:%M")\njmeno          \t$JMENO\n" > /mnt/mountpoint$JMENO/temp/image.log
        /bin/mkdir -p '/mnt/mountpoint$JMENO/sysprep/i386/$oem$'
        /bin/cat '/home/sysprep/i386/$oem$/Cmdlines.txt' >> '/mnt/mountpoint$JMENO/sysprep/i386/$oem$/Cmdlines.txt'
        /bin/cp /home/sysprep/ROBOCOPY.EXE /mnt/mountpoint$JMENO/WINDOWS/
        /bin/cp /home/sysprep/KIX32.exe /mnt/mountpoint$JMENO/WINDOWS/
        /bin/cp /home/sysprep/hide.kix /mnt/mountpoint$JMENO/WINDOWS/
        /bin/cp /home/sysprep/xcacls.exe /mnt/mountpoint$JMENO/WINDOWS
        /bin/cp -r /home/inst_img "/mnt/mountpoint$JMENO/Documents and Settings"
        /bin/cp /home/sysprep/guirunonce.bat /mnt/mountpoint$JMENO/WINDOWS

        /bin/umount /mnt/mountpoint$JMENO
        echo -ne "y\n"| /usr/sbin/ntfsresize /dev/$disk"1" #zmenim velikost
else
        echo "nepodarilo se namountit nove zapsanou image." 1>&2
        exit 6
fi
#konec souboru*************************************************************************************
#Obsah /home/sysprep/* si urcite dokazete predstavit.
#Stejne by to bylo dost mimo zamereni teto diskuse

Pripominky: Multicast jsme pouzivali jenom v laboratori, kde je 11 stroju a chteli jsme je mit v jednotnem stavu do 15 minut. Daleko vic zkusenosti mame s imagovanim prez nfs(nemulticast) stroju normalnich uzivatelu (kolegove to radsi instaluji tesne predtim, nez to nesou na stul - takze pojednom). Vzhledem k (ne)kvalite naseho switche v labu, tak kdyz spustime multicast, tak se switch uplne zahlti a pokud jsme to spousteli vzdalene ssh(do routeru je slabsi linka nez je vykon switche), tak jsme nemeli po dobu imageovani zadnou odezvu.

Rezie multicast reseni byla spolehlive do deseti procent.

Ta nfs verze se lisi jenom:

nahrazenim
/usr/bin/udp-receiver --nokbd -p "/bin/gunzip -c" > /dev/$disk"1"

za

/usr/sbin/partimage -b restore  /dev/$disk"1" jmenoimage.000

nebo


gunzip -c < /home/jmenoimage.iso.gz | /bin/dd of=/dev/sda1 &
      
/bin/sleep 5
while /bin/kill -USR1 $!; do /sleep/sleep 5; done

echo "sda1 zapsano"


Nepisu sem jak urcujeme image (ma smysl jenom u nfs verze), protoze to vznikalo pred 4 lety a dnes je to nepublikovatelne (asi bych se stydel). Ale pokud by byl hodne velky zajem, tak bych to upravil do publikovatelne verze.

marek

12.6.2008 12:51 jan.xxx
Rozbalit Rozbalit vše Re: Klonování disků
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jednou položit dotaz na root-u, podruhé zde (do 10 minut). Musím se kouknout, zda-li nebyl ještě položen v cz.linux.

Používám partimage (http://www.partimage.org/) a jsem celkem spokojen. Ještě existuje clonezilla (http://www.clonezilla.org/), ale tu jsem ještě nezkoušel.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.