Sandarkan kontena atau fail di dalamnya? Putuskan mengikut bentuk pemulihan
Sandaran peringkat imej dan peringkat fail memulihkan perkara berbeza dan bergantung pada kunci berbeza. Padankan objek tersimpan dengan pemulihan yang benar-benar anda perlukan.
Anda boleh menyandarkan kontena tersulit sebagai satu objek, atau melekapkannya dan menyandarkan fail di dalamnya. Kedua-duanya melintasi VPN dengan lancar, dan di situlah persamaannya berakhir. Kedua-duanya memulihkan perkara berbeza, bergantung pada kunci berbeza, menggunakan jumlah storan berbeza, dan gagal dengan cara berbeza apabila seseorang memerlukan data itu kembali. Pilih objek pemulihan dahulu, kemudian pengangkutan, kemudian penyulitan salinan tersimpan. Senarai semak di bawah mengikut urutan itu, kerana hampir setiap pertikaian sandaran sebenarnya ialah perselisihan tentang yang mana antara ketiga-tiganya diputuskan dahulu.
Dua objek, dua bentuk pemulihan
Sandaran peringkat imej memulihkan kontena: anda mendapat semula volum tersulit, dan masih memerlukan bahan pemulihannya untuk membukanya. Sandaran peringkat fail memulihkan fail dan pokok direktori, dan penyulitan yang melindunginya ialah sifat repositori sandaran, bukan kontena asal. Salinan biasa ke folder jauh ialah kes ketiga, dan ia mewarisi perlindungan yang kebetulan ada pada folder itu.
| Object | What a restore gives you | Where the encryption question lands |
|---|---|---|
| Encrypted container image | The volume, still locked | The container format and its recovery key material |
| Mounted files into a backup tool | Selected files and metadata | The backup repositorys own keys and design |
| Plain copy to a remote folder | Whatever the copy process kept | Whatever protects that storage afterwards |
Baris tengah itulah yang orang salah baca. Ia boleh menjadi reka bentuk yang sangat baik: program sandaran membaca teks biasa secara setempat dan menulis repositori tersulit yang disahkan. Keselamatannya kemudian bergantung pada program itu dan kelayakannya, bukan pada kata laluan kontena asal, dan kedua-duanya tidak wajar diterangkan seolah-olah kawalan yang sama.
Semakan 1: apakah yang mesti dibina semula oleh pemulihan?
Tanyakan soalan dalam bentuk pemulihan, bukan sandaran. Jika keperluan ialah “kembalikan perkhidmatan ini pada hos lain”, imej bersama bahan pemulihannya ialah jawapan yang koheren. Jika keperluan ialah “dapatkan kembali lembaran kerja kewangan Mac”, memulihkan imej beberapa gigabait hanya untuk mengeluarkan satu fail ialah jawapan yang mahal. Kedua-duanya pemulihan yang sah, dan kedua-duanya bukan belanjawan yang boleh ditukar ganti. Pelan yang menyebut hanya satu daripadanya akan diuji oleh yang lain akhirnya.
Tuliskan sasaran pemulihan dalam pelan: seluruh volum, pokok direktori atau fail individu. Kemudian catatkan metadata apa yang mesti bergerak bersamanya, kerana pemilikan, kebenaran, atribut lanjutan dan cap masa ialah bahagian pemulihan peringkat fail dan sering hilang dalam aliran kerja berasaskan salinan yang kelihatan memadai semasa ujian.
Tentukan juga siapa yang melakukan pemulihan. Repositori peringkat fail yang boleh dilekapkan oleh mana-mana pengendali ialah model akses berbeza daripada imej yang memerlukan kehadiran pemegang kunci, dan tiada satu pun lebih baik secara automatik. Yang penting ialah pilihan itu sengaja dibuat dan ditulis.
Semakan 2: apakah yang melindungi salinan tersimpan?
VPN melindungi satu segmen pengangkutan. Ia tidak berkata apa-apa tentang salinan tersimpan selepas pemindahan selesai, dan “ia melalui terowong” bukan kenyataan tentang keupayaan pengendali sandaran membaca data anda. Jika bahagian jauh dikendalikan oleh orang lain, soalannya ialah apa yang mereka boleh baca, bukan sama ada pautan itu disulitkan.
Bagi imej, itu bermakna melindungi bahan kunci kontena secara berasingan daripada imej itu sendiri. Kehilangan pengepala bermakna kehilangan volum, jadi sandarkan pengepala di tempat imej itu tiada:
cryptsetup luksHeaderBackup /dev/vg0/data --header-backup-file data-header.img
cryptsetup luksDump /dev/vg0/data | head -20
Bagi repositori peringkat fail, sahkan bahawa alat itu menyulitkan dan mengesahkan kandungan serta metadata sebelum ia meninggalkan hos, dan ketahui siapa yang memegang kunci. dokumentasi reka bentuk Restic menyatakan dengan jelas bahawa ia menganggap hos sumber yang dipercayai dan bahawa penyulitan tidak menghalang seseorang yang mempunyai akses storan daripada memadamkan sandaran. Kedua-dua tegahan itu penting: repositori boleh bersifat sulit dan masih boleh dimusnahkan.
Semakan 3: adakah salinan itu konsisten?
Sandaran yang menangkap sistem fail yang berubah ialah salinan, bukan titik pemulihan. Bagi imej, gunakan kaedah yang disokong oleh alat volum untuk petikan segera yang stabil, yang biasanya bermaksud operasi petikan segera atau penyahlekap, bukan membaca fail besar semasa ia berubah:
lvcreate -L 5G -s -n data-snap /dev/vg0/data
cryptsetup open /dev/vg0/data-snap data-snap --readonly
Bagi fail yang dilekapkan, gunakan prosedur konsistensi yang disokong aplikasi untuk pangkalan data aktif dan data penyelarasan lain. Salinan peringkat sistem fail dan titik pemulihan yang konsisten dengan aplikasi ialah keterangan berbeza, dan perbezaannya hanya kelihatan apabila anda cuba memulakan aplikasi daripada salinan yang dipulihkan.
Simpan bahan pemulihan pada laluan terlindung yang bebas. Kehilangan mesin asal tidak sepatutnya turut menghilangkan satu-satunya kelayakan yang membuka sandarannya, dan itulah yang berlaku apabila fail kunci tinggal pada volum yang sedang disandarkan. Uji pemisahan itu dengan sengaja: pulihkan pada hos yang belum pernah melihat yang asal, menggunakan hanya apa yang pelan katakan tersedia.
Semakan 4: adakah pengesanan perubahan berlaku untuk objek ini?
Kontena tersulit kelihatan seperti satu fail besar legap kepada kebanyakan alat pemindahan, jadi suntingan kecil pada teks biasa boleh menyebabkan pembacaan semula besar atau muat naik semula penuh bergantung pada alat dan format. Pemecahan bersaiz boleh ubah dan penyahduplikasian, seperti yang didokumenkan restic, boleh menguranginya, tetapi itu sifat alat tersebut dan bukan sifat kontena tersulit secara umum.
Ukur dan jangan andaikan. Bandingkan larian pertama dengan larian kedua selepas perubahan kecil yang tidak berbahaya, dan catatkan bait yang dipindahkan serta masa yang berlalu. Simpan sandaran yang diketahui baik semasa bereksperimen, supaya ujian tidak menghabiskan satu-satunya titik pemulihan anda.
Kemudian tutup senarai semak dengan satu-satunya ujian yang bermakna: pemulihan tanpa mesin asal. Buka kontena yang dipulihkan, atau pulihkan fail terpilih bersama metadatanya, dan sahkan bahawa aplikasi atau pengguna boleh menggunakan hasilnya. Pemindahan yang pantas dan disulitkan dengan baik tetapi tidak dapat menjawab ujian itu ialah salinan data anda, bukan sandarannya.