Cara terbaik untuk mengkloning sistem linux langsung


17

Adakah yang tahu cara untuk mengkloning sistem linux langsung? Saya memiliki instalasi langsung yang menjalankan situs produksi. Masalahnya adalah, saya perlu mengkloningnya (tanpa menurunkannya), dan kemudian memindahkannya (mengembalikan) ke mesin virtual. Saya pada dasarnya bermigrasi dari perangkat keras fisik ke perangkat keras virtual.


Anda harus menurunkannya terlepas, untuk memulainya pada VM.
Ignacio Vazquez-Abrams

Perangkat keras fisik akan naik -> terjadi kloning -> bermigrasi ke VM -> mengubah alamat URL -> selesai. Saya perlu spesifik praktik terbaik untuk mengkloning sistem live.
drewrockshard

4
Langkah pertama adalah mencoba menentukan sistem operasi apa yang sedang berjalan.
Dijeda sampai pemberitahuan lebih lanjut.

Jawaban:


12

Di mesin sumber:

dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -"

Ini akan membuang fs pada mesin sumber Anda, menyalinnya di ssh dan pada mesin target itu akan mengembalikannya.

Tentu saja Anda harus mengulang ini untuk setiap fs.

'blowfish' ada hanya untuk membuatnya untuk kompresi dan dekompresi yang lebih cepat.


Yang ini sepertinya bekerja paling efisien.
drewrockshard

saya tidak bisa menyukai huruf kecil r. saya punya bagian dari ini bekerja dengan memisahkan -rf to -r -f, tetapi sekarang mengembalikan: opsi tidak valid - 'r' cat: opsi tidak valid - 'r'
rjt

4
Apakah jawaban ini masih valid? Apa yang akan terjadi jika Anda memiliki layanan MySQL yang berjalan pada kotak?
MirroredFate

6

VMWare Converter dapat melakukan sebagian besar OS modern tanpa mematikan server, tetapi seperti yang ditunjukkan Dennis, kita benar-benar perlu tahu OS mana yang Anda jalankan.

Anda akan berakhir dengan gambar virtual server Anda setelah selesai, bukan gambar disk mentah, tetapi biasanya cukup baik untuk sebagian besar pekerjaan, tergantung pada apa yang ingin Anda lakukan dengan itu setelah Anda selesai melakukannya.


Itu berjalan di Fedora. FYI, saya berencana untuk membayangkannya untuk virtualisasi nanti, mungkin di Xen.
Str

Untuk tujuan virtualisasi, jika saya tidak salah gambar harus dalam gambar virtual daripada gambar disk mentah, bukan?
Str

1
@ Str, jika Anda tahu apa itu OS, silakan edit pertanyaan Anda untuk mengatakannya dan gunakan tag yang sesuai.
John Gardeniers

@ Str - itu benar, namun Anda tidak menyebutkan apakah Anda akan memvirtualisasi mesin atau tidak, hanya saja Anda ingin mengkloningnya.
Mark Henderson

1

Platform VM mana yang Anda migrasi? VMWare memiliki konverter untuk Linux . Ini akan mengkonversi mesin yang dihidupkan.


Pada akhirnya, itu di rumah, dan berbasis VMWare. Panel kontrol dibuat khusus, jadi pada dasarnya kami akan memuat CD langsung, dan memperluas / mengekstrak / etc ke VM. Saya tidak yakin saya bisa mendapatkan akses ke infrastruktur VM untuk melakukan konverter VMWare, tetapi itu semua tergantung apa yang terlibat dengan ini. Namun untuk menguji, saya akan mencoba untuk memigrasikannya ke virtualbox vm hanya untuk melihat apakah bukti konsep ini berhasil.
drewrockshard

Apakah Anda pikir saya dapat menjalankan konverter pada mesin fisik dan kemudian "mengimpor" vm yang dikonversi ke vmware (tidak pernah menggunakan konverter, sehingga terminologi saya mungkin tidak aktif).
drewrockshard

Konverter tidak benar-benar berfungsi seperti itu. Lihat tautan ini. Ini akan menunjukkan kepada Anda dasar-dasar cara kerja konversi vladan.fr/how-to-p2v-linux-into-vmware-esx-server
Jason Berg

Apakah ada cara untuk memotong impor vmware infrastucture sehingga saya dapat menyimpan gambar "yang dikonversi" secara lokal di sistem saya, atau apakah saya harus bermigrasi ke infrastruktur lain (tanpa kemampuan lokal)?
drewrockshard

Perhatikan bahwa VMWare Converter (saat ini) membutuhkan Windows, meskipun dapat memigrasikan komputer fisik Linux ke mesin virtual.
Greg Glockner


1

Kami biasanya melakukan ini:

  • Boot virtual host target dari cd (atau netboot)
  • Siapkan filesystem di virtual host (yaitu, siapkan disk, buat filesystem, dan pasang).
  • Rsync file dari host fisik ke host virtual
  • Instal boot loader pada host target

Ini berfungsi dengan baik, selama data yang Anda salin relatif tidak memiliki kewarganegaraan. Jika Anda berurusan, misalnya, dengan server database, terutama yang memiliki banyak aktivitas, Anda harus memastikan bahwa basis data diam sebelum Anda membuat cutover terakhir ... jadi, sesuatu seperti ini, setelah semua yang lain siap:

  • Hentikan basis data
  • Lakukan rsync final data
  • Matikan host fisik
  • Mulai host virtual

1
Apa perintah rsync yang kalian gunakan?
drewrockshard

0

Lihatlah VMware Converter (gratis jika Anda memiliki vCenter) atau Plate Spin (salah satu produk mereka adalah konverter).

Plat Spin akan membuat mesin hidup, dengan downtime minimal untuk memotong.

Dengan konverter VMware, itu akan melakukan mesin hidup (jika ada database mungkin tidak sinkron) hanya saja tidak perlu boot VM ketika sudah selesai. Kemudian lepaskan vNIC dan kemudian boot mesin, masuk melalui konsol dan ganti IP, dll. Kemudian sambungkan kembali vNIC.


0

Tidak mungkin untuk mendapatkan snapshot yang konsisten tanpa menghentikan semua operasi yang dapat mengubah kondisi sistem.

Kecuali jika aplikasi telah dirancang secara eksplisit untuk mengakomodasi operasi semacam ini (yaitu semua pemrosesan yang ditangani melalui pesan yang dapat antrean), mustahil untuk mendapatkan snapshot yang konsisten tanpa menurunkan sistem (atau setidaknya menonaktifkan komponen transaksional).

Namun dimungkinkan untuk mengurangi jendela waktu untuk snap-shotting sistem secara signifikan (misalnya dengan menghapus mirror dari set RAID kemudian remounting di tempat lain). Dan semakin pendek waktu yang dibutuhkan untuk menghasilkan snapshot, semakin kecil kemungkinan transaksi akan menjangkau operasi.

Dan kebanyakan filesystems / DBS akan mendukung semacam penjurnalan yang seharusnya memungkinkan sebagian besar operasi yang rusak dapat dipulihkan atau dibatalkan.

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.