Najlepszy sposób na klonowanie instalacji (kopiowanie na identyczny sprzęt)


53

Coś w rodzaju tego pytania, ale nieco inne (myślę), ponieważ mam 6 identycznych komputerów Acer Aspire Revo R3610. Jedna jest (prawie) skonfigurowana do moich wymagań - kiedy skończę przygotowywać, chciałbym, aby pozostałe 5 maszyn było absolutnie takie same. Jestem bardzo nowy w Ubuntu, jaki jest najprostszy (najłatwiejszy) sposób to zrobić?

Maszyny będą działać w różnych sieciach, jeśli może to stanowić problem (np. W systemie Windows można klonować dyski, ale później trzeba będzie wprowadzić zmiany w rejestrze, jeśli będą działać w tej samej sieci itp.). Podkreślam, że sprzęt we wszystkich 6 maszynach jest taki sam!

Jak mogę skutecznie sklonować jeden obraz źródłowy na tych identycznych maszynach?

Ogranicz jedno oprogramowanie / rozwiązanie na odpowiedź

Odpowiedzi:


31

Clonezilla brzmi jak pasuje do twoich potrzeb


1
Zupełnie odpowiednie narzędzie do pracy. Moja mama uruchamia „Mumbuntu” i od czasu do czasu robię migawkę jej Acer Revo za pomocą clonezilli i zabieram ją do domu, aby przywrócić na Revo, którego posiadam jako kopię zapasową. Działa uczta.
popey,

7
Jedną z korzyści korzystania z narzędzi takich jak partimage i ntfsclone (które Clonezilla wykorzystuje do utworzenia obrazu dysku) jest to, że rozumieją podstawowy system plików na każdej partycji, co pozwala im kopiować tylko używane bloki. Ponieważ dd nie ma tej funkcji, musi skopiować każdy bajt partycji, niezależnie od tego, czy jest używana.
Evan,

1
To jest do bani. Nie udało się sklonować po dwóch dniach pracy. Zawiesza się na obliczaniu mapy bitowej ... Użyj Windows i Acronis Trueimage
Olcay Ertaş

Czy DD nie utworzy rozruchowej kopii zapasowej CD? Czy to jest powód, aby użyć CloneZilla?

@YumYumYum: ddtworzy kopie pliku / partycji / dysku. Więc jeśli sklonujesz bootowalną płytę CD ( .isoobraz lub CDFSpartycję), wynik również będzie bootowalny. Ale ddbędzie nie „przerobić” danego zestawu folderów / plików do obrazu rozruchowego.
MestreLion 9.04.13

17

dd

Kopia niskiego poziomu przy użyciu dd załatwi sprawę!

Uważaj na sprzeczne adresy IP i nazwy hostów.

Zasadniczo umieść napęd źródłowy i docelowy na tej samej maszynie, uruchom komputer na płycie CD na żywo. I uruchom coś takiego, jak poniżej, gdzie /dev/sdajest źródło i /dev/sdbmiejsce docelowe:

dd if=/dev/sda of=/dev/sdb bs=4096

Pamiętam operandy:

if -> plik wejściowy

of -> plik wyjściowy

bs -> rozmiar bloku (ile bajtów czytać jednocześnie)


3
Jasne, czemu nie? = / Widziałem, że ludzie to robią i widziałem, że ludzie tego nie robią. Czy jest gdzieś gdzieś odpowiedzi na pytania?
Derek,

jeśli masz włączoną funkcję Dynamic IP, tymczasowo przed wykonaniem rozruchowej / zapasowej płyty CD / USB. Uważam, że nie powinno być żadnego problemu w przypadku konfliktu własności intelektualnej. Tak długo, jak tworzy kopię zapasową A do Z, to naprawdę ma dla mnie znaczenie, ponieważ mam wielu kierowców.

2
Jak bezpieczne jest to, biorąc pod uwagę, że jakiekolwiek klucze publiczne / prywatne używane na przykład przez OpenSSH byłyby identyczne? Co musielibyśmy zmienić, aby system był bezpieczny (inny, jeśli nie chcemy, żeby był inny)?
jos

Co masz na myśli mówiąc „coś takiego?” Jestem pozytywnie nastawiony do sda i sdb, ale nie rozumiem, dlaczego wybrałeś ten bs.
SDsolar


3

Najłatwiejszym sposobem na to jest uruchomienie instalacji Ubuntu bez systemu operacyjnego na dysku twardym, zainstalowanie VirtualBox i skonfigurowanie wirtualnej maszyny Ubuntu. Uruchom maszynę wirtualną i skonfiguruj instalację tak, jak chcesz, ze wszystkimi dzwonkami i gwizdami, jakie chcesz. Wykonuj całą pracę i graj na komputerze wirtualnym.

VirtualBox utrzymuje maszynę wirtualną jako duży plik obrazu dysku (.vdi) wraz z kilkoma innymi znacznie mniejszymi plikami konfiguracyjnymi. Ilekroć chcesz wykonać kopię zapasową maszyny wirtualnej, po prostu zamknij ją i skopiuj jej katalog do lokalizacji kopii zapasowej. W tym celu używam zewnętrznego dysku Passport.

Obecnie na tym dysku zewnętrznym znajduje się zarówno maszyna wirtualna z systemem Windows 7, jak i Ubuntu 12. Wszystkie aktualizacje systemu, programy, pliki osobiste, zdjęcia, cokolwiek, są zapisywane na tych maszynach wirtualnych. Kopia zapasowa tego typu jest bardzo szybka, ponieważ jeden plik obrazu dużego dysku zostanie przesłany znacznie szybciej niż kilka pojedynczych plików. Ponieważ VirtualBox cały czas utrzymuje pliki w tym formacie, maszyna wirtualna jest zawsze skonfigurowana do tworzenia kopii zapasowych.

Jedną z zalet tej konfiguracji jest to, że mogę uruchomić te maszyny wirtualne z zewnętrznego dysku na dowolnym komputerze z zainstalowanym VirtualBox, więc teraz, zamiast ciągnąć komputer dookoła, po prostu włączam mój zewnętrzny dysk z Windows i Ubuntu, instaluję VirtualBox na z dowolnego komputera, którego zamierzam używać (mam wszystkie pliki instalacyjne VirtualBox również na moim zewnętrznym dysku twardym - są one dostępne dla wszystkich głównych systemów operacyjnych) i jestem gotowy do pracy. Mogę albo skopiować moją maszynę wirtualną na komputer, którego używam, albo po prostu uruchomić ją z zewnętrznego dysku.

Jeśli Twój komputer ulegnie awarii i zginie w pewnym momencie, kogo to obchodzi, po prostu weź dysk instalacyjny Ubuntu, zainstaluj go na nowym lub naprawionym komputerze, podłącz dysk zewnętrzny, zainstaluj VirtualBox i skopiuj maszyny wirtualne z powrotem na komputer - problem rozwiązany przy minimalnym stresie, stracie czasu i utracie danych. Ilość utraconych danych zależy od tego, kiedy utworzono kopię zapasową. Dla siebie robię nową kopię zapasową za każdym razem, gdy dokonam poważnej zmiany lub dodam trudny do zdobycia program. Po prostu upewnij się, że twoja maszyna wirtualna działa normalnie. Nie chcesz kopiować uszkodzonego komputera na dobry.

I nie, nie pracuję dla VirtualBox.


Kocham to. Głosuj. Mogę to zrobić na następnej maszynie.
SDsolar


2

Zdobyłbym jeden komputer tak, jak chcesz, i zainstalowałem pakiet openssh-server. Wygeneruj parę kluczy ssh z ssh-keygen -t rsa. Dodaj klucz publiczny do /root/.ssh/authorized_keys2. Następnie uruchamiałbym nowe komputery za pomocą płyty CD na żywo i podłączałem pamięć USB z kluczem prywatnym ssh. Użyj gparted, aby utworzyć nową partycję. Następnie zamontuj nową partycję i uruchom coś podobnegosudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Użyj blkidpolecenia, aby znaleźć identyfikator UUID właśnie utworzonego systemu plików. Edytuj, /path/to/new/partition/etc/fstababy odzwierciedlał nowy UUID (i typ systemu plików, jeśli korzystałeś z innego systemu plików).

Następnie wykonałbym instrukcje na https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot dotyczące instalacji z chroota.

Uproszczona wersja tej strony (która nie uwzględnia lvm, raidu oprogramowania, bcache lub oddzielnego / bootowania, jak robi to strona wiki):

Zamontuj krytyczne wirtualne systemy plików. Uruchom następujące polecenie jako jedno polecenie:

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Chroot na normalnym urządzeniu systemowym:

sudo chroot /mnt

Ponownie zainstaluj GRUB 2 (zamień odpowiednie urządzenie na sda, sdb itp. Nie podawaj numeru partycji):

grub-install /dev/sdX

Odtwórz plik menu GRUB 2 (grub.cfg)

update-grub

Wyjdź z chroot: CTRL-D na klawiaturze

Nawiasem mówiąc, działa to również dobrze w przypadku kopii zapasowej. Ubuntu, w przeciwieństwie do systemu Windows, nie wydaje się mieć problemów z przeniesieniem na inny sprzęt. Umieściłem dyski twarde z jednego komputera na drugim i wszystko poszło dobrze, skopiowałem instalacje na inny sprzęt i wszystko poszło dobrze.


Dzięki za to - niedługo nadejdzie kolejny, spróbuję. Na zdrowie
robsoft,

Odnośny link obecnie nie wspomina o chroot ani żadnych metodach. Dlatego warto cytować odpowiednie części swoich źródeł.
Henno,

@Henno Strona wiki została przeniesiona. Problem z dołączeniem strony polega na tym, że wiki jest na bieżąco z nowymi rzeczami, takimi jak bcache, a po prostu kopiowanie zawartości strony nie trafi w te aktualizacje, ale wadą może być tylko linkowanie, które jest czymś innym. Tak czy inaczej, zaktualizowany link i wersja uproszczona.
Azendale,


1

G4L

Ghost dla systemu Linux

Ghost dla Linux to narzędzie do obrazowania i klonowania dysku twardego i partycji podobne do Norton Ghost (c) i (tm) firmy Symantec. Utworzone obrazy są opcjonalnie kompresowane i można je przechowywać na lokalnym dysku twardym lub przenieść na anonimowy serwer FTP. Dysk można sklonować za pomocą funkcji Click'n'Clone. g4l obsługuje dzielenie plików, jeśli lokalny system plików nie obsługuje zapisywania plików> 2 GB. Dołączone jądro obsługuje dyski ATA, serial-ATA i SCSI. Obsługiwane są popularne karty sieciowe. Jest pakowany jako bootowalny obraz CD z graficznym interfejsem użytkownika ncurses dla łatwego użycia.


O MÓJ BOŻE. Właśnie tego chciałem od wieków. Nawet dla Windows. TNX dla postu. Zaraz to sprawdzę.
SDsolar

1

Fsarchiver

Nie wiem, dlaczego nikt o tym nie wspominał. Jest to szczególnie przydatne, gdy chcesz przywrócić zawartość partycji na innym typie systemu plików (na przykład przywracając zawartość ext4 na ext2 lub reiserfs) lub gdy chcesz przywrócić na mniejszą partycję.

Użyłem go i jest to bardzo łatwe. Na przykład, aby sklonować partycję, powiedz, /dev/sda1że używasz takiego polecenia

fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1

Ta -Aopcja pozwala skopiować partycję, nawet jeśli jest używana! Świetna funkcja!

-j 2mówi, aby użyć 2 rdzeni procesora do kompresji. Przydatny w przypadku procesorów wielordzeniowych i jeśli używasz kompresji

-z 1 ustawia poziom kompresji.

Aby przywrócić używany system plików

fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2

id=0Mówi, że modemy pierwszy system plików z archiwum (Nawet jeśli nie zapisanych wiele partycji na jednym archiwum, trzeba go wymienić). I dest=/dev/sda2ustawia miejsce docelowe przywracania.


0

Często to robię, używając rsync.

Najpierw uruchom rsync, aby załadować wszystkie dane na zewnętrzny dysk twardy (twój zewnętrzny dysk twardy powinien być w ext4 - używam tego, więc wiem, że działa): Zakładam, że masz dwie partycje: / dev / sda1 (root) i / dev / sda2 (zamiana).

Uruchom na oryginalnym komputerze:

sudo rsync -avuorpESHAX /* /your/hard/drive

Po skopiowaniu danych uruchom następny komputer za pomocą pamięci USB i sformatuj wewnętrzny dysk twardy jako oryginalny dysk twardy.

Podłącz dysk zewnętrzny do /mnti skopiuj identyfikatory UUID wszystkich partycji. Edytuj identyfikatory UUID partycji nowego komputera i umieść te same identyfikatory UUID, które skopiowałeś z oryginalnych danych (jest w /mnt/etc/fstab).

Zamknij swap:

sudo swapoff -a

Utwórz nową zamianę przy użyciu oryginalnego UUID, skopiowanego z /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Podejrzewam, że twoja zamiana już jest /dev/sda2)

Następnie zmień UUID /dev/sda1: (partycja powinna zostać odmontowana, aby zmienić UUID)

sudo umount /mnt
sudo tune2fs /dev/sda1 -U old-UUID

Wykonaj to, podłącz partycję docelową:

sudo mount /dev/sda1 /mnt

Odwróć rsync do miejsca docelowego:

sudo rsync -avuorpESHAX /media/your-backup /mnt

Ponownie zainstaluj grub:

sudo grub-install --root-directory /mnt /dev/sda

To zadziała. Pamiętaj, aby edytować /etc/hostnamei /etc/hostszmienić nazwę hosta dla każdego komputera, aby uniknąć konfliktów sieciowych.


-1

Nigdy nie robiłem tego w tej trudnej sytuacji (nie mam setek serwerów - zawsze korzystałem tylko z podstawowych obrazów), mogę tylko dać tobie instynkt.

Poza tym powiedziałbym, że netboot jest prawdopodobnie najlepszym wyborem. Utwórz serwer główny, spraw, aby działał tak, jak chcesz, a następnie uruchom wszystkie pozostałe maszyny i zainstaluj z niego. Skrypty, które mają się wydarzyć automatycznie (ala run-once) nie powinny być zbyt trudne. Robisz wszystkie drugorzędne rzeczy poprzez kickstart.

Więcej (choć jest trochę stary): https://help.ubuntu.com/community/PXEInstallServer

Edycja: Jest tak zwana aplikacja, system-config-kickstartktóra powinna znacznie ułatwić generowanie pliku kickstart. YMMV.

alternatywny tekst


O ile wiem, system-config-kickstartjest to specjalnie zaprojektowane fedora.
Shaharia Azam

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.