Çok fazla müdahaleden ve denemeden sonra, oldukça büyük bir takas olmasına rağmen bir çözüm buldum.
Öncelikle, dışlamak zorunda olduğum seçenekler:
Yansıtılmış bir havuz ile ikinci bir tesis dışında ZFS sunucusu olması maliyet nedeniyle bir seçenek değildi. Bir seçenek olsaydı, uzaktaki havuza anlık görüntü göndermek için ZFS gönderme / alma yöntemini kullanarak bu en iyi yaklaşım olurdu.
Diskleri eve götürmek için kaldırabileceğim ikinci bir yerinde ZFS yansıtılmış havuz olması. Bu ilk seçenek daha uygulanabilir, ancak her zaman yerinde iki disk (veya tek bir yerinde diskte iki veri kopyaları kullanmak için) için ikinci havuzu gerekir. Şu anda dört diskim var ve sunucuda beşinci disk için yer kalmadı. Bu adil bir yaklaşım olabilir ama yine de ideal değildir.
ZFS'yi kullanarak yedekleme diskini yansıtılmış havuzun içine ve dışına döndürmek için takın ve çıkarın. Bu iyi çalışır, ancak disk her eklendiğinde tam bir resilver gerçekleştirmelidir. Bu kabul edilemeyecek kadar uzun sürüyor ve bu yüzden buna güvenemedim.
Benim çözümüm kullanmaya benzer attach
ve detach
ancak kullanır online
ve offline
. Bu, tam bir yeniden çözümlemeye karşı bir delta yeniden çözümleme gerçekleştirme avantajına sahiptir, ancak havuzun her zaman bir DEGRADED
durumu bildirdiği dezavantaj (havuzun her zaman iki diski vardır; Dönen site dışı diskler, offline
uzak depolama ve yeniden çözümlemede olduklarında işaretlenir ve daha sonra çevrimiçi olur yerinde olduklarında).
Yani, hızlı bir özet ve kurulumuma genel bakış:
Bir ZFS sunucum ve dört aynı diskim var. ZFS, yansıtılmış bir havuz kullanacak şekilde ayarlanmıştır. Dört diskten ikisi bu havuzun kalıcı üyeleridir. Diğer iki disk dönüyor; biri her zaman tesis dışı depolama alanındadır, diğeri ise kullanıma hazır bir yedekleme işlevi görmek için havuzun bir parçasıdır.
Yedekleri döndürmenin zamanı geldiğinde:
zfs scrub
Yedek diskin hatasız olduğundan emin olmak için tamamlanmasını bekliyorum
Ben zfs offline
uzak alınacak disk. Çevrimdışı olduktan sonra onu geri çeviririm hdparm -Y /dev/id
. Bir dakika sonra disk kızağını kısmen çıkarıyorum (güç kaybını sağlamak için yeterli) ve daha sonra sürücüyü tamamen çekmeden önce, dönmeyi durdurduğundan emin olmak için bir dakika daha veriyorum. Disk statik bir torbaya ve ardından koruyucu bir kasaya girer ve saha dışına çıkar.
Diğer tesis dışı diski getirdim. Hotwwap tepsisine takılır ve döner. Kullandığım zfs online
havuzuna diski geri döndürebilir ve eşzamanlı hale getirmek için kısmi resilvering başlaması.
Bu sistem, herhangi bir zamanda iki adet ONLINE
ayna diski ve bir adet OFFLINE
uzak disk (temizlenmiş) olduğunu garanti eder . Dördüncü disk ya yeniden dağıtılıyor ya da çevrimiçi, bu da çalışan bir sürücünün arızalanması durumunda muhtemelen havuzun iki çevrimiçi diskten tutarlı olması avantajına sahip.
Son birkaç hafta boyunca iyi çalıştı, ama yine de bunu hackish bir yaklaşım olarak görüyorum. Herhangi bir önemli sorunla karşılaşırsam takip edeceğim.
Güncelleme: Birkaç ay boyunca bununla çalıştıktan sonra, gerçek dünya kullanımımda yeniden doldurmanın hem ayırma / ekleme hem de çevrimdışı / çevrimiçi için aynı zaman aldığını gördüm. Testlerimde bir fırça kullandığımı sanmıyorum - önsezim, bir sürücü bir fırça için çevrimdışı ise tam bir resilver gerektirir.