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.

drewrockshard
sumber
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.

mrkafk
sumber
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.

Mark Henderson
sumber
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.

Jason Berg
sumber
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

Silahkan lihat di konverter VMWare yang saya percaya memungkinkan kloning sistem hidup.

user9517
sumber
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
larsks
sumber
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.

mrdenny
sumber
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.

symcbean
sumber