Aslında, havuzun ne kadar salt okunur olmasını istediğinize bağlıdır . Ve hayır, bu bir şaka değil.
İlk olarak, terminoloji biraz: ZFS de, sen içe bir havuz ve isteğe monte içindeki (herhangi bir) dosya sistemlerini. Herhangi bir dosya sistemini bağlamadan havuzu -N
kullanarak zpool import
ve daha sonra kullanarak istediğiniz dosya sistemlerini bağlayarak içe aktarabilirsiniz zfs mount
. (Örneğin, birçoğundan yalnızca bir dosya sistemine erişmek istiyorsanız veya havuzun çevrimdışı bir fırçalamasını andıran bir şey yapmak istiyorsanız, bu tamamen geçerli bir senaryodur.)
ZFS gerçekten salt okunur erişimin büyük bir hayranı değil. Örneğin, ZFS onarabileceği bir hata algılarsa , havuzu salt okunur olarak içe aktarsanız bile hatayı onaracak ve onarılan verileri diske yazacağına inanıyorum . Anladığım kadarıyla, ZFS parlace'da "salt okunur" yalnızca havuzun ve veri kümelerinin kullanıcı tarafından görülebilir durumu için geçerlidir . Öte yandan, diskin ikili bir kopyasını bir dosyaya (veya dosya kümesine) yaparsanız, bu dosyaları gerçekten salt okunur yaparsanız ve havuzu oradan içe aktarmaya çalışırsanız, ZFS, ne kadar zor olursa olsun havuz hiç. Dosyaları yazılabilir yaparsanız, düzgün çalışır. (Aslında bunu sadece birkaç hafta önce denedim, zvol kullanıyor olsa da ve ZFS şiddetle reddettihavuzu almak için. Zvol'u salt okunur yerine okuma / yazma olarak ayarladığımda, havuz iyi içeri aktarıldı.) (Linux'ta) ext4 ve muhtemelen diğerleri gibi diğer dosya sistemleri bu durumu biraz zarif bir şekilde ele alıyor, ancak ZFS balks.
Eğer şanssız varsa ve ECC RAM yoksa sen havuzu ithal ediyoruz sistemde yüklü, o zaman aslında belki saptadığı hataları gidermeye çalışıyor 'zfs işleri daha kötü hale rağmen, görüşler farklı bu aslında gerçek bir risk olup olmadığı uygulamada. Şahsen, ZFS ve anlık görüntüler ve depolama düzeyinde yedeklilik ve yedeklemelerle korumak için yeterince önem verdiğim ve ECC RAM tarafından sunulan korumayı hak etmeyen her türlü verinin de ECC RAM'i olmadığını düşünüyorum.
Bu nedenle, havuzu başka bir şeyin ayak parmaklarına basmasını önlemek için belirli bir alternatif kökle salt okunur modda içe aktarabilirsiniz, ancak bunun adli anlamda gerçekten salt okunur olmadığını bilmeniz gerekir . (Ancak, havuzdaki herhangi bir şeyi yanlışlıkla değiştirmemenizi sağlar.) Havuzun adlandırıldığını tank
ve aygıt düğümünün / düğümlerinin kullanılabilir olduğunu varsayarak, salt okunur bir içe aktarma yapmak için /dev
, aşağıdaki gibi bir komut kullanın:
# zpool import tank -d /dev -o readonly=on -R /mnt/someplace
Bu görüneceğini /dev
bir ZFS adıyla havuzu tutan şey için tank
geçici havuz özelliğini ayarlayarak, içe, readonly
karşı on
(bütün kullanıcı tarafından başlatılan yazma reddedilecektir o hangi vasıta) ve geçici olarak ayarlanması altroot
için özellik /mnt/someplace
. (Bu özellik değerleri, geçerli özellik değerleri olarak disklere kalıcı olmamaları bakımından "geçicidir", bu nedenle havuzu onlarsız dışarı aktarıp yeniden alırsanız, değerler normale döner. muhtemelen havuz geçmişine yazılmalıdır, hangi havuz alındıktan sonrazpool history tank
Eğer havuz içe aktarıldıktan sonra, dosyalarınızı / mnt / somewhere altında görür ve havuzdaki veri kümelerinde zaten yapılmış olan anlık görüntüler de dahil olmak üzere normal, salt okunur erişime sahip olursunuz.
Örneğiniz göz önüne alındığında, aşağıdakiler boyunca bir şey kullanacağınızdan şüpheleniyorum:
# zpool import zroot02 -d /dev -o readonly=on -R /mnt/my-fun-mountpoint
İşiniz bittiğinde, havuzu temiz bir şekilde dışa aktarmayı unutmayın:
# zpool export tank
ya da belki
# zpool export zroot02
Bu, havuzdaki tüm dosya sistemlerini ve diğer veri kümelerini çıkarır, tüm arabellekleri temizler (her şeyden önce yıkama ihtiyacı olduğu ölçüde), havuzu tüm kurucu cihazlara aktarılmadı olarak işaretler ve sağlamak için gerekli diğer temizlik görevlerini yerine getirir. havuzun güvenli bir şekilde farklı bir sisteme taşınması ve daha sonra oraya aktarılması.