Apakah snapshots + RAID dianggap sebagai solusi cadangan yang baik di tempat?

19

Dua alasan utama yang dapat saya pikirkan untuk mengambil cadangan tampaknya diatasi ketika saya menggunakan snapshot dan RAID bersama dengan btrfs. (Dengan RAID di sini, maksud saya RAID1 atau 10)

  • Penghapusan data secara tidak disengaja: Snapshots mencakup kasus ini
  • Kegagalan drive dan bit busuk
    • Kegagalan total: RAID mencakup kasus ini
    • Drive mengembalikan data buruk: Fitur koreksi kesalahan RAID + btrfs mencakup kasus ini

Jadi sebagai solusi cadangan di tempat, ini tampaknya berfungsi dengan baik, dan bahkan tidak memerlukan perangkat penyimpanan data terpisah untuk itu!

Namun, saya telah mendengar bahwa baik RAID maupun snapshots tidak dianggap sebagai cadangan yang tepat, jadi saya ingin tahu apakah saya melewatkan sesuatu.

Selain btrf belum menjadi teknologi yang matang, bisakah Anda memikirkan sesuatu yang saya lewatkan? Atau apakah pemikiran saya benar dan ini adalah solusi cadangan di tempat yang valid?

小 太郎
sumber
2
Kami melakukan hal yang sama seperti Anda: RAID 5 dengan Shadow Copy; namun kami juga memiliki dua hard drive USB off-site yang cadangan menggunakan Robocopy setiap malam (putar drive dua kali seminggu sehingga satu selalu off-site). Ini memberi kami cadangan untuk pemulihan bencana juga, tetapi bukan arsip jangka panjang , yang tidak benar-benar dibutuhkan organisasi kecil kami. Anda harus memutakhirkan untuk setidaknya memiliki salinan data di luar server di server Anda seolah-olah array RAID Anda mati, Anda juga akan kehilangan snapshot Anda.
Austin '' Bahaya '' Powers
Jika Anda ingin mengetahui apakah mungkin untuk array RAID gagal secara keseluruhan, tekan satu dengan palu godam dan coba pulihkan data Anda. Ada seluruh kelas hal-hal buruk yang bisa mengeluarkan seluruh kotak tanpa mengeluarkan seluruh situs. Yang mengatakan, jika cadangan di tempat Anda hanya kenyamanan yang mungkin menyelamatkan Anda memulihkan lebih lambat dari cadangan di luar situs, maka pada prinsipnya mereka dapat seburuk yang Anda inginkan.
Steve Jessop
Ya, kami sudah memiliki cadangan di luar lokasi dan solusi di tempat yang lebih "tradisional". Alasan saya mengajukan pertanyaan ini karena saya membaca tentang fitur btrfs dan ZFS, dan bertanya-tanya apakah itu cocok sebagai pengganti cadangan di tempat.
小 太郎

Jawaban:

42

Tidak, tidak.

Apa yang terjadi ketika sistem file atau volume RAID Anda rusak? Atau server Anda terbakar? Atau seseorang secara tidak sengaja memformat array yang salah?

Anda kehilangan semua data dan cadangan tidak nyata yang Anda pikir sudah Anda miliki. Itulah sebabnya cadangan nyata ada di sistem yang sama sekali berbeda dengan data yang Anda cadangkan - karena cadangan melindungi terhadap sesuatu yang terjadi pada sistem yang dipertanyakan yang akan menyebabkan kehilangan data. Simpan cadangan Anda di sistem yang sama saat Anda membuat cadangan, dan kehilangan data di sistem itu juga dapat memengaruhi "cadangan" Anda.

HopelessN00b
sumber
Bagaimana dengan solusi ini, karena saya sering bertemu dengannya? Apakah snapshots lokal + snapshots jarak jauh ke server lain (penukaran atau penukaran) + RAID pada kedua sistem pengganti untuk cadangan tradisional?
ewwhite
5
@ewwhite Menganggap mereka diuji kembali, dan salinan lengkap dari data Anda ada pada sistem jarak jauh, tentu saja. Maka pada dasarnya ini adalah cadangan disk-ke-disk ... dan saya suka backup disk-ke-disk.
HopelessN00b
11

Untuk cadangan di tempat , snapshot mungkin cukup baik, asalkan Anda secara teratur 'mengekspor' snapshot Anda di tempat lain, di mana snapshot ada sebagai data pasif.

Dan, uji secara teratur apakah 'foto yang dikirim' Anda dapat dipulihkan.

Ini adalah bagaimana saya mengimplementasikan cadangan cepat dari beberapa server saya: menyimpan data pada ZFS, mengambil snapshot ZFS, mengirim delta ke server lain, di mana seluruh sistem file dibuat kembali (minus layanan aktual berjalan).

Tentu saja, cadangan terbaik selalu di luar situs. Jadi, setelah 'mengirimkan' foto-foto itu ke sistem yang terpisah, lakukan 'rekaman-' foto-foto itu secara teratur.

Jadi, dalam sistem saya, server yang menerima delta snapshot, secara teratur membuang semua kumpulan ZFS-nya (termasuk foto-foto sebelumnya) ke tape.

Dan tentu saja, uji kaset Anda untuk memastikannya dapat dikembalikan.

Catatan: Anda ingin snapshot berlangsung selama aktivitas disk yang diam, dan lebih disukai berkoordinasi dengan database (jika ada) untuk memastikan konsistensi; selain itu, obatnya mungkin lebih buruk daripada penyakitnya. Itu sebabnya fitur 'live snapshot' NetApp & EMC sangat berguna: Mereka akan menunda snapshot LUN sampai database menggunakan LUN menunjukkan bahwa aman untuk melakukan snapshot.

pepoluan
sumber
Bisakah Anda menguraikan bagaimana Anda membuang snapshot ZFS Anda ke kaset?
ewwhite
@ewwhite Anda selalu dapat membuat cadangan .zfs/snapshotsdirektori, atau me-mount salah satu foto di tempat lain untuk melakukan tape-out. Jadi ini cadangan terpisah untuk foto yang berbeda.
pepoluan
Saya melakukan ini dengan zvols, sebenarnya ... jadi saya tidak punya direktori .zfs cd.
ewwhite
@ewwhite Ahh, saya mengerti ... dalam hal ini, Anda mungkin dapat menggunakan zfs send $SNAPSHOT_NAME > $YOUR_TAPE_DEVICE, dan kemudian melakukan zfs receive $RESTORE_NAME < $YOUR_TAPE_DEVICE. Namun, sejujurnya saya tidak punya pengalaman dengan membuat cadangan zvols, ...
pepoluan
8

Apa yang dikatakan HopelessN00b. Tidak.

Cadangan yang tepat berada di perangkat terpisah dari perangkat yang dicadangkan. Apa yang terjadi ketika Anda kehilangan dua drive atau lebih? Apa yang terjadi ketika ruang server Anda terbakar? Apa yang terjadi ketika seseorang secara tidak sengaja menghancurkan array Anda?

(Peringatan anekdot: Saya pernah mendengar seseorang yang memiliki PXE diatur untuk menginstal otomatis Fedora terbaru. UPS-nya gagal. Setelah pemadaman listrik, servernya reboot dan diatur ke boot PXE dan ... menginstal Fedora di atas datanya. My titik? Hal-hal aneh terjadi. Untungnya, dia punya cadangan yang tepat.)

Lebih disukai, Anda memiliki setidaknya tiga salinan data Anda, satu disimpan sepenuhnya di luar kantor jika pusat data terbakar.

Katherine Villyard
sumber
6

Snapshots yang diimplementasikan dengan benar HARUS didukung oleh penyimpanan Anda karena cadangan yang layak menggunakannya sebagai tahap pertama dalam menciptakan pekerjaan cadangan. Namun itu ide yang buruk untuk menggunakan snapshot untuk cadangan utama. Alasan:

1) Snapshots dan penyimpanan backend BISA gagal. Jadi backup yang sebenarnya harus menggunakan set spindle terpisah atau ada peluang besar untuk kehilangan set kerja primer dan data cadangan @ pada saat yang sama.

2) Snapshots "mengunyah" ruang yang dapat digunakan. Masuk akal untuk menggunakan penyimpanan yang mahal dan cepat untuk data panas saat ini dan snapshot dan backup yang tidak dimuat sebagai data dingin untuk beberapa penyimpanan yang lebih murah dan lebih lambat. Ini bekerja sangat baik dengan 1) BTW.

3) Snapshots biasanya memperlambat seluruh proses. Sebagian besar sistem menggunakan Copy-on-Write dan pendekatan ini menciptakan fragmentasi. Redirect-on-Write lebih cepat tetapi memakan banyak ruang. Sangat sedikit vendor yang menerapkan snapshot dengan benar. NetApp dengan WAFL dan Nimble Storage dengan CASL (Saya tidak terafiliasi dengan mereka). Hampir semua orang memiliki masalah. Misalnya Dell Equallogic memicu pembaruan halaman 15 MB (dan buang) pada setiap byte tunggal yang diubah. Itu MAHAL.

BaronSamedi1958
sumber
6

Ya itu. Ini adalah cara sempurna untuk menyimpan cadangan. Tidak ada lagi yang diperlukan, heck, bahkan melakukan cek ingtegrity hanya membuang-buang waktu.

Hanya untuk mengkonfirmasi - sebelum saya memberi saran lebih lanjut ... Anda bekerja untuk pesaing saya, bukan? Anda benar-benar melakukannya, yakin? Tidak? Oh

Maaf, Kacang. Tidak, tidak sama sekali. Maaf kawan.

Masalahnya adalah Anda benar-benar terbuka terhadap kesalahan yang terjadi pada (a) sistem dan (b) tingkat sistem operasi. Anda pada dasarnya hanya melindungi seseorang yang menghapus beberapa data. Bagus. Itu adalah kesalahan yang sering terjadi.

Apa yang tidak Anda lindungi adalah:

  • Lonjakan listrik memusnahkan mesin. Pernah ke sana, melihat itu.
  • Beberapa kontroler serangan raid yang rusak atau penulisan memori ** pada disk - ada apa pun.

Dan daftar panjang hal-hal lain.

Ini - tentu saja, kecuali jika Anda bekerja untuk pesaing saya - Anda selalu membuat cadangan:

  • Di komputer lain
  • Bahwa Anda mengisolasi setidaknya dari lonjakan listrik (bahkan jika Anda memiliki USV).

Inilah sebabnya kaset-kaset berbatu - mereka tidak terhubung dan apa pun yang pendek kebakaran atau banjir tidak akan melukai mereka. Lonjakan daya - lenyap tape reader dan mungkin robot tetapi kaset yang tidak ada di dalam reader tidak akan terpengaruh.

TERBAIK akan menjadi cadangan di luar kantor (apakah saya sudah menyebutkan hal-hal seperti kebakaran dan banjir?) (Sekali lagi, ketika Anda bekerja untuk pesaing - tidak ada yang namanya kebakaran gedung, sama sekali tidak diperlukan, seperti halnya asuransi kebakaran, tolong, simpan uang itu).

Sekarang, Anda mungkin berpikir "oh, banjir tidak pernah terjadi". Pastikan kamu yakin. Lihat, di sini adalah video 09.09.09 dari pusat data vodaphone. Saya yakin Anda akan mengerti di mana masalahnya untuk cadangan komputer insite / in:

http://www.youtube.com/watch?v=ttcQy3bCiiU

TomTom
sumber
Foto Hurricane Sandy: theverge.com/2012/11/17/3655442/...
Katherine Villyard
4

Pelajaran dari dua Drive RAID-1 gagal dalam waktu setengah jam satu sama lain: RAID tidak mekanisme cadangan, tidak dengan cara apa pun, bentuk atau bentuk.

RAID adalah mekanisme ketersediaan yang mengurangi waktu henti jika terjadi kegagalan perangkat keras, tetapi itu tidak akan membantu Anda sama sekali dalam hal misalnya, Virus, penghapusan / modifikasi data, atau kegagalan perangkat keras yang biasa-biasa saja.

Michael Stum
sumber
1
Dalam kasus kegagalan perangkat keras kelas tertentu . Jika kartu RAID gagal, wadah Anda hilang.
mfinni
3

Banyak administrator berpengalaman yang menggunakan apa yang dikenal sebagai aturan cadangan 3-2-1:

  • Anda harus memiliki setidaknya tiga salinan data Anda, termasuk sumber utama. Yaitu cadangan tunggal tidak cukup dan salinan dalam sistem fisik yang sama tidak masuk hitungan.

  • Anda harus menggunakan setidaknya dua metode cadangan yang berbeda.

  • Anda harus memiliki setidaknya satu salinan data di luar situs.

Jepretan melanggar ketiga bagian:

  • Anda hanya menggunakan satu mesin fisik. Apa pun yang memengaruhi seluruh mesin, seperti kegagalan PSU, dapat membawa serta semua data Anda.

  • Anda hanya menggunakan satu metode untuk cadangan Anda. Jika ada yang salah dengan itu, Anda hanya akan mengetahui kapan memulihkan cadangan dalam situasi krisis.

  • Anda tidak memiliki cadangan di luar situs. Banjir dan kebakaran hanya terjadi pada orang lain, sampai terjadi pada Anda ...

Karena itu:

  • Anda harus memiliki setidaknya satu cadangan pada mesin terpisah di LAN Anda.

  • Anda harus memiliki setidaknya satu cadangan yang tidak dihasilkan menggunakan snapshot. Mungkin tararsip inkremental yang bagus dan lama mungkin sudah beres? Atau rsyncsalinan berbasis?

  • Anda harus memiliki setidaknya satu cadangan jarak jauh, sejauh mungkin dari lokasi Anda saat ini dan jelas tidak di gedung yang sama.

Juga harus ditunjukkan bahwa snapshot level blok memiliki jaminan konsistensi yang sama seperti menarik steker pada mesin Anda dan kemudian menyalinnya ke disk. Secara umum, Anda perlu menjalankan fscksetelah pemulihan atau berharap bahwa jurnal sudah cukup.

Snapshots tingkat sistem file harus lebih baik, tetapi mereka masih tidak akan menjamin konsistensi file Anda. Untuk banyak aplikasi (server database datang ke pikiran) menyalin file contoh langsung bisa sama sekali tidak berguna, karena mereka bisa dalam keadaan tidak konsisten. Anda akan perlu menggunakan mekanisme cadangan tingkat aplikasi mereka sendiri untuk memastikan keberadaan salinan bersih - di mana aturan 3-2-1 akan berlaku juga.

Akhirnya, ingatlah bahwa saat ini kami hanya berbicara tentang salinan data Anda saat ini . Untuk menjaga dari kegagalan (atau pelanggaran keamanan, dalam hal ini) yang berlangsung tanpa terdeteksi untuk beberapa waktu Anda juga perlu memiliki beberapa salinan data Anda di masa lalu untuk beberapa waktu yang lalu.

thkala
sumber
Dengan asumsi snapshot btrf sama seperti snapshot ZFS dalam hal jaminan konsistensi (dan dengan seberapa banyak inspirasi yang diambil btrf dari ZFS, saya tidak melihat mengapa itu tidak menjadi masalah), snapshot tersebut akan mewakili momen pada disk saat masuk data waktu. Jadi sistem file akan berada dalam kondisi yang konsisten jika Anda memutar kembali ke snapshot, tetapi jika data disimpan dalam RAM dan hanya memerah secara berkala dan bahwa data diperlukan untuk memahami apa yang ada di disk (cf database server perangkat lunak) maka yang khusus file kemungkinan besar akan berada dalam kondisi tidak konsisten setelah (atau sebelum!) rollback.
CVn
2

Sendiri itu bukan solusi cadangan sama sekali . Ini akan mengurangi atau menghapus downtime dalam skenario kegagalan tertentu tetapi tidak melindungi Anda sama sekali dari yang lainnya

Ini tentu saja dapat menjadi bagian yang sangat berharga dari ketersediaan yang lebih lengkap + solusi cadangan:

  • RAID plus snapshow pada perangkat keras yang sama
  • Salinan di tempat pada perangkat keras lain (ingat: ada mode kegagalan yang akan mengeluarkan seluruh kotak, pengontrol, drive, dan semuanya sekaligus)
  • Salinan jarak jauh semi-terputus
  • dan tentu saja salinan offline + offsite yang tepat untuk bencana yang sebenarnya

Juga: pastikan Anda secara teratur menguji cadangan Anda. Waktu terburuk untuk mengetahui cadangan Anda tidak berfungsi adalah ketika Anda perlu mengambil sesuatu darinya ...

David Spillett
sumber