Lengkap mengembalikan sistem linux


20

Saya terbiasa menggunakan rsync untuk mencadangkan berbagai file dari sistem saya, tetapi apa cara terbaik untuk sepenuhnya memulihkan mesin.

Apa yang saya coba di masa lalu adalah:

  1. Lakukan format dasar / instal ulang dari disk instalasi Fedora
  2. Pastikan jaringan diaktifkan
  3. Salin semuanya dari cadangan rsync di atas sistem yang baru diinstal

Cara ini agak berfungsi tetapi saya tidak berpikir setiap paket yang diinstal bekerja 100% setelahnya.

Saya ingin dapat memulihkan sistem saya dengan jumlah minimum usaha dan semuanya bekerja sama seperti saat cadangan diambil. Juga jika mungkin menginstal ke mesin lain dan pada dasarnya memiliki dua mesin dengan paket dan data yang sama.


Ketika Anda mengatakan Anda ingin menginstal pada komputer lain, apakah yang Anda maksud adalah mesin / identik lainnya atau lebih seperti desktop dan laptop?
Ichorus

hardware akan berbeda tetapi pada ingin paket perangkat lunak yang sama pada kedua
Simon Foster

Jawaban:


17

Inilah yang saya lakukan (ini mengasumsikan satu disk, di / dev / sda)

  • gunakan dd untuk mencadangkan MBR dan tabel partisi: "dd bs = 512 count = 1 jika = / dev / sda dari = / backups / sda.layout"

  • gunakan rsync untuk menyalin semuanya dengan sesuatu seperti: "rsync -axvPH --numeric-id ..."

Saat mengembalikan saya melakukan ini:

  • boot mesin target dengan sysrescuecd , saya biasanya akan memiliki file 'sda.layout' pada USB stick.

  • pulihkan tabel MBR / partisi dengan dd: "dd bs = 512 count = 1 jika = / path / ke / sda.layout dari = / dev / sda"

  • Gunakan partprobe (tanda terima kasih komentator) untuk mendapatkan kernel untuk membaca kembali tabel partisi.

  • Pasang semua berbagai partisi di bawah / restore /. Saya membuat titik mount identik di bawah restore, jadi jika saya memiliki / boot, / var pada sumber saya, saya berakhir dengan / restore / boot, / restore / var, dll.

  • gunakan rsync untuk mengembalikan semuanya.


3
Saya telah melakukan ini beberapa kali dan memiliki keuntungan menggunakan perintah CLI linux standar. Saya menggunakan rsnapshot, skrip perl di sekitar rsync untuk membuat backup ke server pusat. Kemudian rsync semuanya kembali setelah boot dari sysrescuecd dan dd'ing tabel partisi. BTW, "partprobe" akan membaca kembali tabel partisi
Mark Porter

OK, ini mungkin dilihat sebagai peretasan keji tetapi karena Anda dapat meminta kernel membaca ulang tabel partisi dengan mengeluarkan sysctl () seperti halnya fdisk, Anda mungkin juga memiliki fdisk - yang tidak seperti partprobe selalu ada dalam pengalaman saya - lakukan it: fdisk / dev / yourdisk << EOF w EOF
Bernd Haug

Terima kasih atas saran semua orang, saya tahu pasti ada solusi yang lebih baik di luar sana. Akan mencoba saran ini dan melihat mana yang paling cocok untuk saya.
Simon Foster

3
Jangan lupa menghitung dengan dd! "dd bs = 512 if = / dev / sda dari = / backups / sda.layout count = 1" dan "dd bs = 512 if = / path / ke / sda.layout dari = / dev / sda count = 1"
Steven

@ Seven: Sial! Terima kasih atas tangkapannya. Bisakah saya memberikan komentar?
kbyrd

6

Saya tidak pernah mengkloning sistem sepenuhnya. Anda tidak pernah tahu apa yang mungkin berubah, dan sistem Anda gambar kloning sudah keluar dari tanggal saat satu perubahan terjadi. Cara terbaik untuk melakukannya adalah membuat prosedur yang memungkinkan Anda menghasilkan sistem yang identik secara fungsional. Satu kemungkinan adalah sesuatu seperti Kickstart, atau AutoYaST atau alat serupa. Simpan cadangan konfigurasi Anda dengan baik, dan idealnya gunakan sistem manajemen konfigurasi seperti Bcfg2, Puppet, atau CFEngine untuk mengonfigurasi semuanya alih-alih melakukannya dengan tangan. Kemudian ketika Anda perlu membuat sistem baru yang mirip dengan yang Anda miliki, atau membuat ulang sistem yang ada, itu adalah prosedur yang sederhana dan terdefinisi dengan baik.


3

Dibutuhkan lebih banyak usaha di depan, tetapi Kickstart dan Revisor memungkinkan Anda menyesuaikan instalasi dan menggunakannya pada mesin lain. Anda dapat memasukkan versi yang disesuaikan dari file pengaturan Anda.

Anda mungkin juga ingin mempertimbangkan untuk menyimpan direktori home Anda di partisi yang terpisah. Anda dapat membiarkan partisi itu sendiri saat melakukan instalasi bersih pada partisi lain.


2

Ambil salinan CD pemulihan sistem , dan setelah instalasi minimal awal Anda, boot dari itu, mount dan chroot ke disk Anda, dan kemudian lakukan rsync. Setelah selesai, Anda mungkin perlu menjalankan update-grub untuk mem-boot-nya dari perangkat dan kernel boot yang benar.


2

Saya selalu berpikir bahwa cara Gentoo menginstal sistem baru (dari cadangan atau lainnya) adalah yang terbaik karena kesederhanaannya.

  1. Buat bekerja, sistem minimal.
  2. Muat sistem yang berfungsi sebagai hard drive di livecd.
  3. Tar sistem file dan simpan di suatu tempat.
  4. Muat sistem target dengan livecd.
  5. Siapkan hard drive target dan pasang.
  6. Untar ke hard drive yang dipasang.
  7. Masukkan chroot.
  8. Atur bootloader dan hal-hal lain yang bergantung pada sistem.
  9. Mulai ulang dan pergi.
  10. Instal perangkat lunak baru / salin folder pengguna / tambahkan file lain yang diperlukan.

2

Coba clonezilla live cd. Anda dapat boot ke sesi langsung dan gambar mesin Anda tanpa harus menginstal apa pun. Anda kemudian memiliki opsi untuk menyimpan salinan gambar pada jaringan berbagi atau mesin jarak jauh dan sebagainya.


0

Jika itu adalah mesin yang sama persis, saya hanya akan menggunakan dduntuk membuat image disk, kemudian reimage seperlunya (mungkin mengubah beberapa konfigurasi sesudahnya jika sesuai).

Jika Anda mengganti perangkat keras, saya telah berhasil membuat tarball atau cadangan rsync lengkap dari sistem file root. Saya tidak yakin mengapa Anda perlu menginstal lengkap terlebih dahulu - selama Anda mengambil cadangan lengkap, instalasi dasar Fedora seharusnya tidak menjadi prasyarat.


0

Prosedur Anda dapat menyebabkan banyak masalah, dan harus dihindari.

Ada dua cara utama yang disarankan untuk melakukan ini, dan yang ketiga jika Anda benar-benar mencoba membangun lingkungan pengembangan.

Imaging

Jika perangkat keras yang akan Anda pulihkan menjadi sama, atau cukup serupa, gunakan alat pencitraan disk untuk membuat salinan seluruh hard drive atau larik. Saat Anda ingin mengembalikan, cukup gambar ulang mesin yang dimaksud dengan gambar ini. Jika Anda gambar ke beberapa mesin, ketahuilah bahwa Anda perlu memperbarui pengaturan spesifik mesin apa pun di perangkat lain (nama host, alamat IP statis, dll ...) sehingga tidak saling bertentangan.

Untuk melakukan pencitraan yang sebenarnya, saya akan merekomendasikan alat atau produk apa pun yang dapat mengkloning hard drive.

Konfigurasi / backup Direktori Rumah

Pada mesin utama Anda, cadangkan secara teratur (dengan metode apa pun yang Anda suka) yang mana dari direktori berikut (atau yang lain) yang Anda perlukan:

/ home - Semua pengaturan pribadi pengguna, dokumen, dan file
/ dll - konfigurasi
/ opt - perangkat lunak khusus tidak diinstal melalui manajer paket
/ usr / lokal - perangkat lunak khusus tidak diinstal melalui manajer paket
/ var - log dan semacamnya

Saat memulihkan, instal ulang OS pada mesin yang dimaksud, lalu salin masing-masing (atau hanya file yang relevan) ke lokasi yang semestinya.

Mesin Virtual dengan snapshot

Buat mesin virtual di VMWare (atau apa pun yang Anda inginkan). Saat dikonfigurasi sesuai keinginan, buat snapshot. Snapshot ini kemudian dapat dengan mudah dikembalikan ke sejumlah mesin virtual baru atau yang sudah ada.

Secara umum, Anda hanya perlu mencadangkan data dan konfigurasi (namun Anda mendefinisikannya). OS dan perangkat lunaknya dapat dibangun kembali kapan saja: hanya konten Anda yang berharga. Jika pengaturan ini adalah untuk pengembangan, dan Anda perlu memastikan lingkungan yang identik (bukan hanya membuat hal-hal bekerja lagi), maka snapshot dalam mesin virtual benar-benar pilihan terbaik Anda.

Pencitraan adalah solusi brute force. Jika Anda bisa, cukup buat cadangan data Anda, dan jangan khawatir tentang OS itu sendiri. Mencoba untuk mengembalikannya sepenuhnya meminta masalah.

Jika Anda dapat memperjelas maksud akhir Anda di sini, saya dapat memberikan solusi yang lebih terperinci.


0

Karena Anda mengatakan "perangkat keras akan berbeda", SystemImager bisa sangat berguna.

Ini hanya sekelompok skrip pembungkus di sekitar PXE dan Rsync. Oleh karena itu "cadangan" yang dibuatnya hanyalah struktur direktori lengkap dari server Linux yang didukung. Anda dapat "cd" ke dir ini dan mengubah hal-hal sekitar saat Anda memberi makan. (SystemImager mengelola perubahan pengaturan Jaringan sendiri saat Anda mendorong gambar keluar.)

Anda dapat melakukan chroot ke server yang didukung dan menjalankan yum atau apt untuk menginstal perangkat lunak sebelum Anda mendorong gambar keluar.

Sunting: Anda dapat melihat skrip SI yang membuat partisi / volume logis dan memodifikasinya sesuai dengan ukuran disk mesin target. Anda juga dapat menambah / menghapus modul kernel.


0

Saya sudah sangat beruntung dengan Mondo Rescue. Pada dasarnya ini mencadangkan semua file dan partisi Anda ke CD yang dapat di-boot untuk digunakan nanti. Itu dapat menangani perubahan dalam partisi dan drive.

http://www.mondorescue.org/



0
  • Cara teraman adalah mengkloning seluruh disk atau setidaknya partisi yang relevan dan mengembalikannya menggunakan Live CD.

  • Metode lain yang lebih hemat ruang adalah dengan menggunakan dump (xfsdump untuk XFS), tetapi dalam hal ini Anda harus membuat ulang (memformat) partisi dengan tangan. Jangan lupa untuk membuatnya dengan parameter yang sama, terutama UUID dan LABEL.

  • Anda juga dapat menggunakan tar dengan --xattrs parameter untuk menyimpan atribut diperluas setiap file.


1
Rhync modern di Linux masing-masing memiliki -X dan -A untuk atribut yang diperluas dan ACL.
kbyrd

0

partimage dan partclone (bagian dari Clonezilla) adalah utilitas yang berguna untuk membuat gambar sistem penuh.

Saat Anda mengidentifikasi, gambar sistem lengkap tidak harus sistem portabel: biasanya karena nama perangkat.

Mungkin sesederhana menginstal ulang GRUB (lebih disukai pada partisi / boot terpisah) dan MBR setelah pencitraan (dengan misalnya LiveCD).

Pendekatan lain adalah dengan menggunakan alat Manajemen Konfigurasi untuk menetapkan kebijakan yang diterapkan pada gambar dasar (seperti kotak dasar Vagrant); dan pisahkan cadangan data menjadi penyimpanan blok dan / atau objek (EBS / S3, Openstack Block Storage / Openstack Object Storage)

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.