Cara terbaik untuk mengkloning instalasi (menyalin ke perangkat keras yang sama)


53

Jenis suka pertanyaan ini tetapi sedikit berbeda (saya pikir), dalam hal itu saya memiliki 6 mesin Acer Aspire Revo R3610 yang identik. Salah satunya (hampir) dikonfigurasi untuk kebutuhan saya - ketika saya selesai mempersiapkannya saya ingin membuat 5 mesin lainnya benar-benar sama. Saya sangat baru di Ubuntu, apa cara paling mudah (termudah) untuk melakukan ini?

Mesin-mesin akan hidup pada jaringan yang berbeda jika itu mungkin menjadi masalah (misalnya dengan Windows Anda dapat mengkloning disk tetapi Anda kemudian harus membuat perubahan registri setelah itu jika mereka akan berjalan pada jaringan yang sama dll). Perangkat keras di semua 6 mesin, saya menekankan, sama!

Bagaimana saya bisa secara efisien mengkloning satu sumber gambar ke mesin yang identik ini?

Harap batasi satu perangkat lunak / solusi per jawaban

Jawaban:


31

Clonezilla sepertinya cocok dengan kebutuhan Anda


1
Benar-benar alat yang tepat untuk pekerjaan itu. Ibuku menjalankan 'Mumbuntu' dan saya mengambil snapshot Acer Revo-nya secara berkala menggunakan clonezilla dan membawanya pulang untuk memulihkan pada Revo yang saya miliki sebagai cadangan. Berhasil.
popey

7
Salah satu manfaat menggunakan alat seperti partimage dan ntfsclone (yang digunakan Clonezilla untuk membuat image disk) adalah mereka memahami sistem file yang mendasarinya di setiap partisi, yang memungkinkan mereka untuk menyalin hanya blok yang digunakan. Karena dd tidak memiliki fungsi ini, ia harus menyalin setiap byte partisi, terlepas dari apakah itu digunakan atau tidak.
Evan

1
Menyebalkan sekali. Gagal mengkloning setelah dua hari kerja. Bergantung pada penghitungan bitmap ... Gunakan Windows dan Acronis Trueimage
Olcay Ertaş

Apakah DD tidak akan membuat CD cadangan yang dapat di-boot? Apakah itu alasannya menggunakan CloneZilla?

@YumYumYum: ddmembuat salinan file / partisi / drive. Jadi, jika Anda mengkloning CD yang dapat di-boot (baik .isogambar atau CDFSpartisi) hasilnya juga akan dapat di-boot. Tetapi tidakdd akan "mengkonversi" satu set folder / file ke gambar yang dapat di-boot.
MestreLion

17

DD

Salinan level rendah menggunakan dd akan membantu!

Waspadai alamat IP dan nama host yang bertentangan.

Pada dasarnya masukkan drive sumber dan drive tujuan di mesin yang sama, boot ke live cd. Dan jalankan sesuatu seperti berikut ini di mana /dev/sdasumber dan /dev/sdbtujuannya:

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

Saya ingat operan dengan:

if -> file input

of -> file keluaran

bs -> ukuran blok (berapa banyak byte untuk dibaca sekaligus)


3
Tentu, mengapa tidak? = / Saya pernah melihat orang melakukan itu dan saya pernah melihat orang tidak melakukannya. Apakah ada panduan gaya di suatu tempat untuk dijawab?
Derek

jika Anda memiliki Dynamic IP diaktifkan, sementara sebelum membuat itu Bootable / backup CD / USB. Seharusnya tidak ada masalah yang saya yakini untuk IP yang saling bertentangan. Selama cadangan A hingga Z yang benar-benar penting bagi saya, karena banyak driver yang saya miliki.

2
Seberapa aman ini, mengingat kunci publik / pribadi yang digunakan oleh OpenSSH misalnya akan identik? Apa yang perlu kita ubah untuk menjaga sistem tetap aman (berbeda di mana kita menginginkannya berbeda)?
jos

Apa yang Anda maksud dengan menjalankan "sesuatu seperti ini? Saya positif sda dan sdb tetapi tidak mengerti mengapa Anda memilih bs.
SDsolar


3

Cara termudah untuk melakukan ini adalah dengan menjalankan instalasi Ubuntu telanjang pada hard drive Anda, instal VirtualBox dan mengatur mesin Ubuntu virtual. Jalankan mesin virtual Anda dan siapkan instalasi itu seperti yang Anda inginkan dengan semua lonceng dan peluit yang Anda inginkan. Lakukan semua pekerjaan Anda dan bermain di komputer virtual.

VirtualBox mempertahankan mesin virtual sebagai file gambar disk besar (.vdi) bersama dengan beberapa file konfigurasi yang jauh lebih kecil. Setiap kali Anda ingin membuat cadangan mesin virtual Anda, cukup tutup dan salin direktori ke lokasi cadangan Anda. Saya menggunakan drive eksternal Passport untuk tujuan ini.

Saat ini, ada mesin virtual Windows 7 dan Ubuntu 12 pada drive eksternal itu. Semua pembaruan sistem, program, file pribadi, gambar, apa pun, disimpan di mesin virtual itu. Pencadangan jenis ini sangat cepat, karena satu file gambar disk besar akan mentransfer jauh lebih cepat daripada banyak file individu. Karena VirtualBox menyimpan file dalam format itu sepanjang waktu, mesin virtual selalu dikonfigurasi untuk dicadangkan.

Satu keuntungan dari pengaturan itu adalah bahwa saya dapat menjalankan mesin-mesin virtual dari drive eksternal di komputer mana pun dengan VirtualBox diinstal, jadi sekarang, alih-alih menyeret komputer saya ke mana-mana, saya hanya membawa drive eksternal saya dengan Windows dan Ubuntu, instal VirtualBox di komputer apa pun yang saya rencanakan untuk digunakan (saya memiliki semua file instalasi VirtualBox juga di hd eksternal saya - mereka tersedia untuk semua sistem operasi utama), dan saya siap untuk pergi. Saya dapat menyalin mesin virtual saya ke komputer yang saya gunakan, atau hanya menjalankannya dari drive eksternal.

Jika komputer Anda lumpuh dan mati pada titik tertentu, siapa yang peduli, Anda cukup mengambil cakram instalasi Ubuntu Anda, pasang di komputer baru atau yang diperbaiki, pasang drive eksternal Anda, instal VirtualBox, dan salin mesin virtual Anda kembali ke komputer Anda - masalah diselesaikan dengan stres minimal, kehilangan waktu, dan hilangnya data. Berapa banyak data yang hilang tergantung pada kapan Anda terakhir kali dicadangkan. Untuk saya sendiri, saya melakukan backup baru setiap kali saya membuat perubahan besar atau menambah program yang sulit. Pastikan saja mesin virtual Anda beroperasi secara normal ketika Anda melakukannya. Anda tidak ingin menyalin mesin yang rusak lebih dari yang baik.

Dan tidak, saya tidak bekerja untuk VirtualBox.


Suka. Suara positif. Saya mungkin hanya melakukan ini di mesin saya berikutnya.
SDsolar


2

Saya akan mendapatkan satu komputer seperti yang Anda inginkan, dan menginstal paket openssh-server. Hasilkan pasangan kunci ssh dengan ssh-keygen -t rsa. Tambahkan kunci publik ke /root/.ssh/authorized_keys2. Kemudian saya akan mem-boot komputer baru dengan live cd dan pasang di tongkat usb dengan kunci pribadi ssh. Gunakan gparted untuk membuat partisi baru. Kemudian pasang partisi baru dan jalankan sesuatu sepertisudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/

Gunakan blkidperintah untuk menemukan UUID dari sistem file yang baru saja Anda buat. Edit /path/to/new/partition/etc/fstabuntuk mencerminkan UUID baru (dan tipe sistem file jika Anda menggunakan sistem file yang berbeda.)

Kemudian saya akan mengikuti petunjuk di https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot tentang cara menginstal dari chroot.

Versi sederhana dari halaman itu (yang tidak menjelaskan lvm, serangan perangkat lunak, atau bcache, atau terpisah / boot seperti yang dilakukan halaman wiki):

Pasang sistem file virtual yang kritis. Jalankan yang berikut ini sebagai satu perintah:

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

Chroot ke perangkat sistem normal Anda:

sudo chroot /mnt

Instal ulang GRUB 2 (gantikan perangkat yang benar dengan sda, sdb, dll. Jangan tentukan nomor partisi):

grub-install /dev/sdX

Membuat ulang file menu GRUB 2 (grub.cfg)

update-grub

Keluar chroot: CTRL-D pada keyboard

Omong-omong, ini juga berfungsi baik untuk cadangan. Ubuntu, tidak seperti Windows, tampaknya tidak memiliki masalah yang ditransplantasikan ke perangkat keras yang berbeda. Saya telah meletakkan hard disk dari satu komputer di komputer lain dan itu baik-baik saja, dan saya telah menyalin menginstal ke perangkat keras yang berbeda dan itu baik-baik saja.


Terima kasih untuk ini - Saya punya satu lagi segera, saya akan coba ini. Cheers
robsoft

Tautan yang direferensikan saat ini tidak menyebutkan chroot atau metode apa pun. Itu sebabnya adalah ide yang bagus untuk mengutip bagian yang relevan dari sumber Anda.
Henno

@ Henno Halaman wiki dipindahkan. Masalah dengan memasukkan halaman adalah bahwa wiki tetap up to date dengan hal-hal baru seperti bcache dan hanya menyalin isi halaman akan melewatkan pembaruan tersebut, tetapi downside untuk hanya menghubungkan itu adalah hal-hal yang dapat memindahkan Anda. Apa pun caranya, tautan diperbarui, dan versi yang dipreteli disertakan.
Azendale


1

G4L

Hantu untuk Linux

Ghost for Linux adalah hard disk dan pencitraan partisi dan alat kloning mirip dengan Norton Ghost (c) dan (tm) oleh Symantec. Gambar yang dibuat secara opsional dikompresi, dan mereka dapat disimpan pada hard drive lokal atau ditransfer ke server FTP anonim. Drive dapat dikloning menggunakan fungsi Click'n'Clone. g4l mendukung pemisahan file jika sistem file lokal tidak mendukung penulisan file> 2GB. Kernel yang disertakan mendukung drive ATA, serial-ATA, dan SCSI. Kartu jaringan umum didukung. Paket ini dikemas sebagai image CD yang dapat di-boot dengan GUI ncurses agar mudah digunakan.


YA TUHAN. Inilah tepatnya yang saya inginkan sejak lama. Bahkan untuk Windows. TNX untuk posting. Saya akan memeriksanya segera.
SDsolar

1

Fsarchiver

Saya tidak tahu mengapa tidak ada yang menyebutkan ini. Ini sangat berguna ketika Anda ingin mengembalikan konten partisi pada tipe sistem file lain (misalnya, mengembalikan konten ext4 ke ext2 atau reiserfs) atau Anda ingin mengembalikan ke partisi yang lebih kecil.

Saya menggunakannya dan sangat mudah. Misalnya, untuk mengkloning partisi katakan /dev/sda1Anda menggunakan perintah seperti ini

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

The -Apilihan memungkinkan Anda untuk menyalin partisi bahkan jika digunakan! Fitur hebat!

-j 2mengatakan untuk menggunakan 2 inti CPU untuk kompresi. Berguna untuk CPU multi-core dan jika Anda menggunakan kompresi

-z 1 mengatur level kompresi.

Untuk memulihkan sistem file yang Anda gunakan

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

The id=0mengatakan Anda memulihkan filesystem pertama dari arsip (Bahkan jika Anda tidak disimpan beberapa partisi pada arsip tunggal, Anda perlu untuk menentukan itu). Dan dest=/dev/sda2menetapkan tujuan pemulihan.


0

Saya sering melakukan ini, menggunakan rsync.

Pertama, Anda dapat menjalankan rsync untuk memuat semua data ke hard drive eksternal (hard drive eksternal Anda harus dalam ext4 - Saya menggunakan ini, jadi saya tahu itu berfungsi): Saya menganggap Anda memiliki dua partisi: / dev / sda1 (root) dan / dev / sda2 (swap).

Jalankan di komputer asli Anda:

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

Setelah menyalin data, boot komputer Anda berikutnya dengan stik usb, dan format hard drive internal sebagai hard drive asli.

Pasang drive eksternal Anda ke /mnt, dan salin UUID dari semua partisi. Edit UUID dari partisi komputer baru dan masukkan UUID yang sama yang telah Anda salin dari data asli (ada di dalam /mnt/etc/fstab).

Matikan swap:

sudo swapoff -a

Buat swap baru menggunakan UUID asli, disalin dari /mnt/etc/fstab:

sudo mkswap /dev/sda2 -U original-UUID

(Saya kira swap Anda ada di /dev/sda2)

Selanjutnya, ubah UUID dari /dev/sda1: (partisi harus dilepas untuk mengubah UUID)

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

Selesai ini, pasang partisi tujuan:

sudo mount /dev/sda1 /mnt

Membalikkan rsync ke tujuan:

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

Pasang kembali grub:

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

Ini akan bekerja Ingatlah untuk mengedit /etc/hostnamedan /etc/hostsmengubah nama host untuk setiap mesin untuk menghindari konflik jaringan.


-1

Karena belum pernah mengalami kesulitan ini (saya tidak memiliki ratusan server - saya selalu menggunakan gambar dasar), saya hanya bisa memberi Anda insting.

Selain itu, saya akan mengatakan netboot mungkin adalah taruhan terbaik Anda. Buat server master, dapatkan melakukan apa yang Anda inginkan dan kemudian semua mesin Anda boot dan instal darinya. Membuat skenario hal-hal yang terjadi secara otomatis (ala run-once) seharusnya tidak terlalu sulit. Anda melakukan semua hal sekunder melalui kickstart.

Lebih banyak (walaupun agak lama): https://help.ubuntu.com/community/PXEInstallServer

Sunting: Ada aplikasi bernama system-config-kickstartyang seharusnya membantu membuat menghasilkan file kickstart sedikit lebih mudah. YMMV.

teks alternatif


Sejauh yang saya tahu ini system-config-kickstartdibuat khusus untuk fedora.
Shaharia Azam

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.