Cadangan: Bagaimana cara mirror / clone LVM LVs (atau VGs) sesuai permintaan?

0

Sejauh ini, saya memiliki pendekatan cadangan semi-otomatis untuk seluruh sistem yang diinstal pada LV yang berbeda, menggunakan snapshot LVM (CoW) (yang dapat dibuat saat boot untuk menghindari korupsi data). Artinya, jika saya merasa perlu membuat cadangan, saya akan menjalankan skrip untuk me-mount LVs snapshot tersebut (dengan cara yang sama sistem live dipasang) ke beberapa lokasi dalam mode baca-saja dan kemudian jalankan skrip lain untuk melakukan cadangan terkompresi dari lokasi itu, yang akhirnya menghasilkan cadangan terkompresi dari seluruh sistem sebagai file arsip tunggal. Rapi...

Sekarang, saya memiliki use case baru yang saya coba cari solusi yang bagus. Katakanlah, saya mendapat HDD eksternal, yang tujuannya untuk menyimpan barang. Ya, Anda tahu, itu dienkripsi, juga memiliki VG dan LV-nya sendiri, yang masing-masing didedikasikan untuk menyimpan berbagai jenis data, mis. gambar, video, dokumen, dan bahkan arsip cadangan sistem itu. Ini memberikan fleksibilitas dalam memilih sistem file tergantung pada tipe data dan semua fitur keren LVM. Itu dari waktu ke waktu, saya pasang di binatang ini dan menyalin lebih banyak barang ke salah satu LV ini tergantung pada apa yang ingin saya simpan. Selanjutnya, saya memiliki HDD eksternal lain, yang ingin saya (di dunia ideal) untuk bertindak sebagai cermin dari HDD eksternal pertama. Selain itu, idealnya mirroring harus terjadi secara otomatis ketika kedua perangkat terhubung dan saya secara eksplisit menyalin hal-hal hanya ke yang pertama (mis. Sesuatu seperti CoW, mungkin kita harus menyebutnya mirroring tambahan, meskipun saya tidak yakin itu mungkin). Situasi ketika, misalnya, perangkat pertama terhubung dan sedang ditulis, sedangkan yang kedua tidak, juga harus ditangani. Itulah saat perangkat kedua terhubung di waktu berikutnya, seharusnya tidak hanya mencerminkan data yang sedang ditulis ke yang pertama kali ini, tetapi juga yang terlewatkan terakhir kali. Saya kira inilah sebabnya saya merujuk mirroring, yang mungkin tidak mungkin dilakukan secara bertahap dalam situasi seperti itu dan diperlukan kloning yang lengkap.

Sampai sekarang, saya mempertimbangkan solusi berikut:

  1. Snapshots LVM tampaknya tidak berguna di sini:
    • mereka CoW, mis. mereka tidak benar-benar mempertahankan mirror lengkap pada snapshot LV (kecuali semua data itu berubah setelah menulis ke perangkat pertama);
    • mereka akan memerlukan untuk menjangkau satu VG tidak hanya pada PV yang terpisah dan independen tetapi juga lebih dari perangkat fisik yang terpisah dan, secara teknis, independen (saya tidak suka kopling seperti itu dan ingin menghindarinya).
  2. kloning sektor melalui dd:
    • terlihat kokoh dalam hal menghasilkan klon yang tepat pada perangkat kedua;
    • Menurut LVM dan kloning HD , berbahaya karena konfigurasi LVM jelas diduplikasi dalam kasus ini dan, sebagai akibatnya, dapat mengakibatkan korupsi data jika beberapa penggantian nama ilmu hitam tidak dilakukan (saya tidak ingin skrip yang mengubah nama kecuali kita tidak akan menemukan solusi lain dalam hal ini utas karena terlihat rapuh bagi saya);
    • baunya seperti berlebihan untuk menimpa seluruh perangkat kedua setiap kali saya menyalin beberapa file ke salah satu LV pada perangkat pertama, hanya untuk mempertahankan cermin;
    • tidak benar-benar otomatis karena tidak mendeteksi apa yang diubah di mana dan menyalinnya secara transparan hanya berdasarkan fakta bahwa keduanya terhubung dan yang pertama ditulis (inilah yang saya sebut "sesuai permintaan").
  3. rsync file antara LV yang sesuai dari dua perangkat:
    • hal yang baik adalah bahwa itu hanya akan menyinkronkan perubahan dan akan memuaskan bahkan ketika kita melewatkan perangkat kedua sekali atau dua kali (dan itu merupakan nilai tambah besar);
    • terlihat berbelit-belit;
    • membutuhkan skrip untuk pemasangan simultan LV yang sesuai;
    • tidak otomatis (harus dipicu secara manual), sehingga rawan kesalahan;
    • membutuhkan rekreasi manual dari skema partisi yang sama dan LVM pada perangkat kedua berdasarkan pada perangkat pertama (ya, ini bisa otomatis, tapi tetap saja).
  4. LVM RAID1? Saya tidak tahu seberapa andal dan / atau mungkin mengatur dengan dua perangkat plug-and-play yang mungkin atau mungkin tidak terpasang dan / atau dipasang secara bersamaan, dan, dengan demikian, bagaimana itu akan dibandingkan dengan opsi di atas. Setiap pengalaman yang dibagikan sangat dihargai.
  5. Beberapa solusi lain, mungkin memanfaatkan vgimportclone?

Saya menghargai masukan apa pun mengenai hal ini dan khususnya solusi yang sudah teruji / digunakan yang dirancang sendiri dan dikustomisasi oleh Anda atau alat yang sudah ada untuk mengelola skenario ini. Tujuannya adalah untuk membuatnya sesederhana / rawan kesalahan / terotomatisasi mungkin. Terima kasih!

Alexander Shukaev
sumber
Jika Anda mencari solusi no-script, di mana sinkronisasi kembali dipicu secara otomatis setiap kali sumber dan target hadir dan sumber diubah, Anda dapat menggunakan salah satu produk gratis ini: FreeFileSync dan DirSync Pro .
harrymc