Mengkloning server Linux yang berfungsi


18

Saya perlu mengkloning server linux yang berfungsi. Kami tidak dapat mematikan server yang berfungsi. Apakah ada cara saya bisa mendapatkan klon dan menyebarkannya di server lain?

linux  clone 

Jawaban:


14

Ada banyak cara untuk menyalin disk, sistem file, atau file. Secara umum, menyalin sistem file memberi Anda klon yang baik dengan fleksibilitas yang bisa menjadi ukuran yang sedikit berbeda pada sistem target. Dengan sistem target menjalankan semacam Linux hidup (knoppix, ubuntu live, dll.), Yang di-boot dari cdrom, Anda dapat membuat partisi pada disk menggunakan fdisk atau aplikasi partisi favorit Anda. Dengan anggapan Anda memiliki server SSH yang berjalan pada sistem sumber, lakukan pendekatan yang mirip dengan ini:

http://www.linuxfocus.org/English/March2005/article370.shtml

Keajaiban terjadi dalam perintah ini:

ssh sourcePC 'dump -0 -f - /' | restore -r -f -

Saat menggunakan metode tertentu untuk mengkloning disk pada lingkungan Linux langsung, satu-satunya masalah Anda mungkin adalah dengan database. Cara terbaik untuk mencadangkan dan mengembalikan basis data adalah dengan menggunakan alat dump mereka untuk membuat snapshot file ascii dari basis data sesaat sebelum dump sistem file. Untuk mysql ada:

mysqldump --all-databases > mysql_databases.sql

Untuk postgresql, ada:

pg_dumpall > pg_databases.sql

Jika Anda menemukan kesalahan konsistensi apa pun pada sistem baru, pulihkan database. Sebagai alternatif, setelah Anda mematikan layanan pada sistem sumber, lakukan DB dump lagi, dan pulihkan pada target, dan Anda tidak akan kehilangan data yang baru saja dimodifikasi.


1
+1 untuk referensi
linuxfocus

2

Bangun tata letak disk pada mesin baru seperti yang Anda inginkan.

Gunakan rsync untuk mentransfer isi disk. Ulangi beberapa kali untuk mengejar ketinggalan sepenuhnya.

Pada percobaan mesin baru dengan apa yang perlu Anda lakukan tambahan untuk boot dengan benar. Grub misalnya, dan membuatnya dalam keadaan konsisten.

Sampai Anda dapat mematikan mesin lama, rsync secara berkala untuk menjaga disk baru tetap dekat dengan yang lama.

Kemudian bawa yang lama ke mode pemeliharaan, rsync sekali lagi, dan boot yang baru yang akan muncul berperilaku seperti yang lama.


5
Ini dapat menyebabkan kerusakan data. Untuk menjamin salinan yang tepat, dari file (termasuk database langsung), Anda harus dapat menjalankan seluruh perintah rsync dalam satu operasi atom, ketika sistem dijeda. Snapshot LVM akan berupa atom, atau membangun mirror RAID dan kemudian melepaskan salah satu drive dan meletakkannya di mesin baru. Meskipun begitu, Anda harus benar-benar pergi ke runlevel 1 ( en.wikipedia.org/wiki/Runlevel#Typical_Linux_runlevels ), lakukan snapshot, dan mulai lagi di runlevel yang lebih tinggi.
Lee B

1

Rekan kerja saya bersumpah oleh System Imager:

http://wiki.systemimager.org/index.php/Main_Page

Saya tidak tahu seberapa baik itu bekerja untuk sistem "hidup".

Kalau tidak, saya pikir Anda terjebak melakukan hal-hal secara manual:

  • Pastikan tidak ada aplikasi instal di luar repositori
  • Buang daftar paket yang diinstal dan instal di server baru
  • Salin file konfigurasi
  • Pulihkan basis data

batuan systemimager. Itu bekerja pada sistem hidup, dengan ketentuan yang sama untuk menjalankan rsync untuk menyalin keadaan sistem hidup. Beberapa aplikasi perlu dimatikan atau dibuang ke disk (mis. DB mysql) sebelum disalin dan perlu dipulihkan pada sistem yang baru.
gbjbaanb

0

Asalkan Anda bisa membuat database Anda ke dalam keadaan konsisten pada disk, Anda bisa menggunakan DAR untuk membuat salinan semuanya, kemudian menuliskannya kembali ke server baru Anda.

Menyinkronkan basis data Anda ke keadaan yang konsisten pada disk mungkin rumit, tetapi hanya mengambil snapshot dan kemudian memulihkannya setelah Anda mengembalikan gambar DAR dapat bekerja. DAR akan memengaruhi kinerja server saat sedang berjalan.

Setelah Anda mendapatkan gambar Anda, Anda dapat mengubah pengaturan jaringan dan seharusnya dapat mengembalikannya tanpa masalah.

http://dar.linux.free.fr/

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.