GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan snapshot LVM untuk memulihkan sistem Linux

Jika memulai atau menggunakan skrip untuk mengotomatisasi pasca-penyediaan sistem tidak layak atau praktis, membuat sistem pengujian untuk diri sendiri atau rekan kerja dapat menjadi tantangan. Misalnya, jika Anda mencoba menggunakan berbagai sistem Red Hat Satellite untuk pembelajaran Anda sendiri, akan memakan waktu lama untuk menginstal mesin virtual, menyinkronkan konten, membuat tampilan konten, dan sebagainya. Bagaimana jika Anda akhirnya mendapatkan sistem yang dibangun seperti yang Anda inginkan, tetapi saat belajar, Anda secara tidak sengaja membuatnya tidak dapat digunakan? Entah Anda mencoba men-debug sistem ketika Anda tidak tahu cara kerjanya di tempat pertama atau Anda akan melalui proses yang memakan waktu untuk membangunnya kembali dari awal. Jika Anda membuat sistem ini tersedia untuk rekan kerja Anda, kemungkinan sistem menjadi tidak dapat digunakan meningkat.

[ Anda mungkin juga menyukai: Logical Volume Manager (LVM) versus partisi standar di Linux ]

Sebagai solusi untuk tantangan ini, saya menggunakan snapshot Logical Volume Manager (LVM). Untuk memulai, saya pertama kali membuat mesin virtual (VM) baru yang penyimpanan cadangannya adalah volume logis. Saya menginstal sistem operasi, mengonfigurasi layanan, dan mengatur sistem sebagai gambar emas . Saya kemudian mengambil snapshot dari LVM dan mem-boot mesin virtual dari snapshot itu. Ketika sistem perlu diatur ulang kembali ke status emas, itu adalah proses sederhana untuk menghancurkan dan menghapus VM saat ini dan membuat snapshot baru. Saya kemudian dapat memulai mesin virtual dari snapshot yang dibuat ulang itu.

Untuk membuatnya lebih mudah diakses oleh pengguna, WebUI dibuat, yang menggunakan komponen PEAR, PHP, dan sudo akses Apache untuk menjalankan lvremove default , lvcreate , virsh , dan xm perintah. Selain itu, dua skrip khusus telah dibuat, salah satunya hanya akan SSH ke VM dan menjalankan who untuk melihat apakah ada yang menggunakannya, dan yang lainnya adalah skrip yang akan mengeksekusi perintah LVM tersebut untuk virsh destroy $1 , lvremove /dev/vgvms/$1.ss -f , lalu lvcreate -L +5G -s -n $1.ss /dev/vgvms/$1.gold . Dengan menggunakan metode ini, penting untuk memastikan nama VM cocok dengan nama LVM dan snapshot adalah *.ss dengan gambar emas bernama *.gold .

Saya memiliki sedikit judul dengan tautan ke lorenz , yang merupakan sistem yang menggunakan jenis penyiapan yang sama tetapi merupakan hypervisor untuk klien RHEL dasar, bukan server Satelit. Tabel utama di WebUI diisi dengan kode:

if(is_array($inactive_guests)) {
  foreach ($inactive_guests as $key=>$value) {
    $tpl->setVariable(array(
                            'server_name'  => $key,
                            'virsh_status' => $value['status'],
                            'fqdn' => $value['fqdn'],
                            'userinfo' => $value['userinfo'],
                            'notes' => $value['notes'],
                            'inactivecontrols' => inactive_controls($key)));
    $tpl->parse('inactiveserver');
  }
}

WebUI menampilkan bidang tersebut untuk setiap sistem, memberikan output ini:

Keuntungan utama dari metode ini adalah Anda dapat dengan cepat memulihkan ke keadaan baik yang diketahui, WebUI melaporkan jika ada orang yang menggunakan sistem tertentu, dan ini adalah sistem yang mudah disiapkan. Namun, beberapa kelemahannya adalah penyimpanannya cukup intensif dan tidak ada cara untuk memesan sistem untuk mencegah orang lain menggunakannya atau mengembalikannya ke status emas. Namun, dengan sedikit pengembangan tambahan, masalah tersebut dapat diatasi.

Penghargaan untuk pengembangan awal proyek ini diberikan kepada Jeremy Agee dan Patrick Wiggins. Anda dapat mengunduh kode sumber WebUI.

[ Kursus gratis:Tinjauan Teknis Satelit Red Hat. ] 


Linux
  1. Cara menggunakan systemd-nspawn untuk pemulihan sistem Linux

  2. Cara menggunakan perintah strace dan ltrace di Linux

  3. Cara Menginstal dan Menggunakan Glance untuk Memantau Sistem Linux

  1. Cara Menggunakan htop untuk Memantau Proses Sistem Linux

  2. Cara Menggunakan Timeshift untuk Mencadangkan dan Memulihkan Linux

  3. Cara Menginstal dan Menggunakan Git di Sistem Linux

  1. Cara Menginstal dan Menggunakan Telnet di Sistem Linux

  2. Cara menggunakan systemctl di Linux

  3. Cara Menggunakan Perintah Strace Linux