Aynı ext4 diski, biri salt okunur olarak iki ana bilgisayardan takılabilir mi?


17

Aynı diski iki farklı sunucudan (bu bir iSCSI vloume) bir ext4 dosya sistemi ile bağlamanın muhtemelen diskteki verileri bozacağını biliyorum. Sorum şu ki , sunuculardan biri diski salt okunur bağlarken diğeri okuma-yazma bağlarsa herhangi bir fark yaratacak mı?

OCFS2 ya da beğenileri bunun için kullanılabilir ve diğer sunucuya erişilebilir olması için NFS ile disk ihracat olabilir biliyorum, ama ben teklif kurulum işe yarayacak bilmek istiyorum.


1
Sadece her ikisi de salt okunur olarak monte edilmişse (ve bununla birlikte yazmayan gerçek salt okunur demek) işe yarayabilir. Bir taraf okuma-yazma takılır takılmaz, diğer taraf (salt okunur olarak monte edilir) diğer tarafın (takılı okuma-yazma) değişiklik beklemez ve böylece bozuk verileri okur. İhtiyacınız olan şey, kümeye duyarlı bir dosya sistemi veya bir ağ dosya sistemini diğerine tanıtan tek bir sunucudur.
frostschutz

@frostschutz Evet, ext4'ün ro-mount'u gerçek diske yazdığı için her iki ro da çalışır, ancak hile yapmaz (her biri bir ro döngüye ve bir bindirmeye ihtiyaç duyar).
Ned64

Burada bir kullanım durumunu paylaşacağım: fiziksel sunucu ve sanal sunucu, fiziksel bir diski disk geçişi ile paylaşıyor. Sanal sunucu diski rw olarak monte ediyor. Diskten büyük miktarda veri kopyalamak istiyorum, ancak ağ çok yavaş. Fiziksel diski ana işletim sisteminde ro olarak bağlayabilir ve verileri harici bir USB sürücüye kopyalayabilirsem harika olurdu. Ana makine sunucusunun yalnızca bir USB denetleyicisi vardır, bu nedenle PCI geçişi bir seçenek değildir.
Zhuoyun Wei

Yanıtlar:


26

Hayır. Önbellek nedeniyle salt okunur istemcide tutarlı sonuçlar vermez. Kesinlikle bunun için tasarlanmamıştır. Uygulamalara geri dönen GÇ hatalarını görmeyi bekleyebilirsiniz. Muhtemelen kodda, herhangi bir işlem tarafından kullanılan bir çekirdek çökmesine veya bozuk belleğe neden olabilecek birkaç gözetim vardır.

Ancak en önemlisi ext4, günlüğü salt okunur bağlarda bile yeniden oynatır. Böylece, salt okunur bir montaj hala temel blok cihazına yazacaktır. Her iki mounton salt okunur olsa bile güvenli olmaz :).


5
Söylediğiniz gibi, salt okunur montaj dosya sisteminin dokunulmayacağını garanti etmez. Hala risk almadan "eğitici" bir amaç denemek istiyorsanız, cihazınızı salt okunur olarak ayarlamanız gerekir blockdev --setro /dev/sda1.
13'te Totor

Bu ext4 montajı hakkında ilginç bilgiler. Ben bir ext2 salt okunur mount zorlayarak bu sorunu önleyebilirsiniz varsayalım?
Bananguin

1
: Bana bir VM salt okunur blok cihazı monte izin Bu kod pasajını bulundu sudo mount -t ext4 -o ro,loop,noload /dev/vda /mnt/ digital-forensics.sans.org/blog/2011/06/14/...
isaaclw

0

Bu, verilerin bozulmasını önleyecektir, ancak muhtemelen yapmak istediğiniz şey olmayacaktır. Başka bir düğüme salt okunur birimi bağlayan herhangi bir sorun fark etmedim. Genellikle "beklenmedik bir serbest inode atar" ro düğümünde bir şey uyuşmasa bile, lütfen / var / log / messages içine "e2fsck" veya benzerlerini çalıştırın. Kritik olmayan bir dosya sistemi ("/ opt / mySpecialmount") hakkında bir şey beklenmedik bir şekilde beklenmedikse, Linux yalnızca birimi salt okunur olarak bağlayacaktır (hey, zaten oradayız). Önbellekleme efektinin ne olduğu konusunda endişeleriniz varsa, bir çeşit drop_caches / vfs_cache_pressure rejiminin uygulanmasını deneyebilirsiniz.

Dergiyi yeniden oynatmaktan kaçınmak için, bağlama bağımsız değişkenlerine "noload" ekleyin, bunu error = ro ile birlikte yapın (sadece dikkatli olun).

Bununla birlikte, muhtemelen salt okunur bağlamaya hazırsanız, muhtemelen diğer düğüm için bir referanstır, bu durumda NFS veya smbfs sorunu çözebilir ve ext3 / 4 olurdu. Performansa ihtiyacınız varsa, kümelenmiş bir dosya sistemine bakabilirsiniz (biraz daha fazla yönetim yükü, ancak performans gerçekten ihtiyacınız olan bir şeyse oradadır).


1
" Bu veri bozulmalarını önlemek olacaktır ": Bu, sourcejedi cevabını ve görmeyebilir yorumumu .
Mart'ta Totor

1
msgstr "Dergi tekrarını atlamak, herhangi bir sayıda soruna yol açabilecek tutarsızlıklar içeren dosya sistemine yol açar" - man mount. Dosyalarındaki tutarsız verileri algılayacak ve / veya tolere edebilecek uygulamalar olduğunu hayal edebiliyorum, ancak şu ana kadar böyle bir uyarıdan bahsetmediniz :).
Mart'ta

@sourcejedi Bunu söylüyorlar çünkü insanlara günlüğü etkili bir şekilde kenara bırakmanın risklerini anlatmaya çalışıyorlar. Bu iyi, çünkü diğer düğümün diğer düğüm için günlük işini yapacağına dair varsayım var, biz sadece çifte işten kaçınmaya çalışıyoruz. Bunu geliştirme sunucularımızdan birinde yapıyoruz (benim seçimim değil, NFS yapardım) ve herhangi bir sorun olmadan bir yıla yakın bir süre için bir drop_caches olmadan bu şeyi monte etmiştik. İkimiz de eski olmayan FS önbellek girişlerinin eski verileri oluşturabildiğinden bahsettik, ancak bunun uygulanabilir olup olmadığına karar vermek nihayetinde yöneticiye kalmış.
Bratchley

Yukarıdaki yorumdaki tüm yanlışlıkları sıralamaya çalışmayacağım. Ancak bir veri noktası olarak, sadece VFS önbelleğindeki eski dosya verileriyle ilgili değildir. ext4 dosya sistemi dahili veri yapılarının ("meta veri") önbelleklerine de sahip olacaktır. Son olarak yeni bir dosya tarafından üzerine yazılan silinmiş bir dosyadan veri okumaya son verebilirsiniz. Bu, sadece nadiren gerçekleşse bile, önceden bilmek istediğiniz bir tür uyarıdır.
Mart'ta

1
Yorumunuza geri dönüp baktığımda, blok cihaz G / Ç'nin bellekte önbelleğe alınması olan blok düzeyinde önbelleğe başvurmaya çalıştığınızı düşünüyorum. Bu durumda, bu önbelleğe değil meta verileri kendisi 's önbellek meydana OF meta verileri kendisi. Ayrıca herhangi bir dosya sistemi sürücüsünün dışında bulunur, bu nedenle ext4 / btrfs / etc herhangi bir yönetimine sahip değildir.
Bratchley
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.