Bisakah server RHEL6 disalin?

8

Perusahaan saya perlu menyiapkan server pengembangan dan kami sudah memiliki 2 server produksi RHEL 6 yang bekerja di bawah saklar L4.

Salah satu solusi untuk men-setup server dev adalah dengan menyalin semua file sederhana dari salah satu server produksi dan mengubah sedikit.

Saya belum pernah melakukannya tetapi kedengarannya mirip dengan pencitraan hantu ... bisakah itu dilakukan? Apakah ini direkomendasikan? Apakah itu rawan kesalahan?

yhware
sumber

Jawaban:

7

Menyalin semua file bisa berfungsi. Ini akan tergantung pada OS dan jenis metode penyalinan.

Satu masalah umum adalah mencoba menyalin sistem saat sedang berjalan. Biasanya setidaknya beberapa file akan dikunci, dan karenanya tidak akan menyalin dengan benar. Menggunakan beberapa jenis perangkat lunak pencitraan saat sistem dimatikan biasanya paling aman (Anda menyebutkan Ghost yang merupakan salah satu contoh)

Brett
sumber
Ini RHEL6. Bisakah itu dilakukan?
yhware
RSYNC dirancang untuk mirroring dan tersedia di hampir semua sistem. Anda bisa menggunakannya.
Jeff Clayton
Ini sepenuhnya tergantung pada aplikasi, saya ingin tunjukkan. Jika aplikasi Anda adalah Websphere, misalnya, Anda tidak bisa hanya membawa semua file konfigurasi karena mereka merujuk nama server.
mfinni
4
Apa yang Anda maksud dengan " terkunci "? Itu adalah cara pandang yang cukup Windows. Masalah umum dengan menyalin FS langsung di UNIX adalah bahwa file berubah di bawah Anda saat mereka sedang disalin.
MadHatter
1
... masalah yang dapat dihindari dengan sistem yang menggunakan LVM dengan menggunakan snapshot LVM untuk mengambil gambar yang konsisten dari perangkat blok yang mendasari dan menduplikasi itu, daripada menjalankan operasi penyalinan pada tingkat sistem file.
Charles Duffy
17

Mengapa tidak mengonversi sistem yang sedang berjalan ke Mesin Virtual? Kebanyakan hypervisor seperti VMware atau Hyper-V memiliki alat untuk mengubah sistem yang sedang berjalan ke mesin virtual dengan mudah.

Anda kemudian dapat bekerja dengan sistem non-produksi seperti yang Anda inginkan sebelum melakukan apa pun di server produksi.

Terima kasih kepada @WernerCD

Vmware

Hyper-V

Dave M
sumber
Saya khawatir modifikasi semacam itu tidak ada ...
yhware
6
@ dK3 Saya pikir Anda salah paham. Anda tidak akan memodifikasi server produksi (kecuali jika Anda mau). Anda akan menginstal alat kecil di salah satu server produksi untuk membiarkan solusi VM Anda "mengeksplorasi" dan membuat gambarnya. Anda menginstal solusi VM pada kotak pengembangan Anda dan arahkan ke gambar "dikonversi" dari server prod Anda. Jadi, jika Anda tidak sudah memiliki lingkungan pengembangan, solusi ini bukan "perubahan" ...
svidgen
2
Google P2VFisik ke Virtual - Vmware: my.vmware.com/web/vmware/evalcenter?p=converter - HyperV: social.technet.microsoft.com/wiki/contents/articles/… - Virtualisasi, cadangan, isolasikan (jadi jika itu menunjuk ke arah basis data produksi) dan kemudian bersenang
WernerCD
9

Bisakah itu dilakukan?

Pasti ya. Saya telah menyalin seluruh server Linux dengan hanya mengemas file dengan tardan mengekstraknya lagi di server target. Satu-satunya peringatan yang saya ingat adalah harus ingat untuk menggunakan --numeric-ownerketika mengekstraksi. Saya tidak dapat berbicara untuk OS lain dan alat-alat lain, tetapi saya membayangkan itu bisa dilakukan dengan semua sistem operasi utama.

Haruskah itu dilakukan?

Pertanyaan ini sedikit lebih rumit untuk dijawab. Saya tidak akan merekomendasikan kloning sistem produksi untuk tujuan pengembangan saja. Mungkin berisi banyak data pengguna serta materi utama, yang Anda tidak ingin hadir pada sistem pengembangan.

Tetapi mengkloning sistem produksi Anda bisa menjadi ide bagus untuk tujuan lain.

Pendekatan yang saya sarankan untuk membuat tiruan dari sistem produksi adalah mengembalikan dari cadangan. Anda dapat menghindari dampak kinerja pada sistem produksi dengan memulihkan dari cadangan, dan Anda bisa menguji prosedur pemulihan Anda, yang merupakan hal yang baik.

Sangat penting untuk menjaga klon yang Anda pulihkan dari cadangan terisolasi dari seluruh dunia. Karena dipulihkan dari cadangan sistem produksi, mungkin berisi pekerjaan otomatis, yang akan berkomunikasi dengan sistem produksi lain, dan ia akan memiliki kredensial untuk melakukannya.

Anda dapat berpotensi menyebabkan banyak kerusakan, jika klon dapat berkomunikasi dengan sistem produksi nyata.

Tetapi jika Anda membuatnya tetap terisolasi, itu memberi Anda kesempatan untuk menguji bahwa sistem yang dipulihkan berfungsi sebagaimana dimaksud. Selain itu, sistem yang dipulihkan seperti itu bisa menjadi lingkungan yang berguna untuk pengujian kode baru terakhir sebelum digunakan untuk produksi. Ini mungkin satu-satunya kesempatan Anda untuk menguji kode pada data pengguna nyata, sebelum benar-benar dalam posisi untuk merusak sistem produksi.

kasperd
sumber
1
menyalin sistem melalui restorasi cadangan ... mungkin yang terbaik karena mencapai beberapa tujuan ...
Bart Silverstrim
1
Saya akan menambahkan bahwa pemasangan sistem pengembangan dari awal mungkin merupakan cara yang baik untuk memeriksa dokumentasi sistem. Jika pemasangan server seperti itu tidak dapat dilakukan dengan dokumentasi yang ada, Anda telah menemukan masalah yang mungkin penting untuk sistem produksi (jika Anda perlu memigrasikannya, atau menginstal sistem untuk cabang lain, atau melakukan bencana pemulihan).
SJuan76
6

Kelayakan

Tentu, itu mungkin, karena tidak sulit untuk "menginstal" Linux menggunakan cara yang tidak konvensional. Anda bisa, misalnya, meniru server menggunakan rsync melalui SSH.

  1. Boot mesin target menjadi image "rescue", apakah menggunakan Red Hat DVD, boot live Ubuntu, Knoppix, apa pun.
  2. Partisi dan format mesin target, dan pasang sistem file di bawah a /target.
  3. rsync semua filesystem yang relevan melalui SSH (skipping /proc, /sys, swap).
  4. Memperbaiki /target/etc/fstab, terutama jika partisi disebut oleh UUID.
  5. Tweak nama host dan konfigurasi jaringan yang sesuai.
  6. Pasang boot loader.

Langkah 3 dapat terdiri dari beberapa lintasan rsync, mungkin dibantu oleh snapshot LVM pada mesin sumber, lintasan terakhir dengan semua layanan pada mesin sumber berhenti untuk memastikan konsistensi data.

Keinginan dan praktik terbaik

Hanya karena Anda tidak dapat berarti Anda harus melakukannya. Saya merekomendasikan proses di atas sebagai salah satu cara untuk melakukan migrasi pusat data. Namun, use case Anda sangat berbeda. Beralih ke kloning menyoroti beberapa kekurangan:

  • Virtualisasi akan menjadi kemampuan yang bagus untuk dimiliki, dan akan membuat replikasi menjadi mudah.
  • Apakah Anda memiliki cadangan server produksi Anda? Mengapa tidak mengembalikannya saja? Ini akan menjadi ujian yang baik untuk prosedur pemulihan cadangan Anda.
  • Apakah Anda memiliki dokumentasi tentang cara mereproduksi semuanya dari awal? Akhirnya, Anda mungkin perlu menginstal dari awal, mungkin ketika Anda meningkatkan sistem operasi. Ini akan menjadi validasi yang bagus untuk dokumentasi Anda.
  • Lebih baik lagi, apakah Anda memiliki otomatisasi yang membantu Anda mereproduksi pengaturan Anda? Script shell bisa berfungsi; solusi manajemen konfigurasi seperti CFengine, Puppet, Chef, atau Ansible akan lebih baik.

Jika Anda membuta server produksi secara membabi buta, Anda akan kehilangan kesempatan berharga untuk mengklarifikasi dengan tepat apa yang sedang berjalan di atasnya.

200_sukses
sumber