Hangi disklerin büyük LVM (8 TB) için hangi dosya sistemi?


21

2 TB diskli bir Linux sunucum var, hepsi şu anda bir LVM'de yaklaşık 10 TB'lık bir alana sahip. Tüm bu alanı ext4 bölümlerinde kullanıyorum ve şu anda 8,8 TB veri var.

Sorun şu ki, disklerimde sık sık hatalar alıyorum ve değiştirmiş olsam bile (yani eski diski dd ile yenisine kopyaladım, ardından yenisini sunucuya koydum), Sık sık yaklaşık 100 MB bozuk veri alıyorum. Bu, e2fsck'i her zaman çıldırtıyor ve ext4 dosya sistemini tekrar aklı başında bir duruma getirmek bir hafta sürüyor.

Öyleyse soru şudur: LVM'de bir dosya sistemi olarak kullanmamı ne tavsiye edersiniz? Veya bunun yerine ne yapmamı önerirsiniz (LVM'ye gerçekten ihtiyacım yok)?

Dosya sistemimin profili:

  • farklı toplam boyutta birçok klasör (bazıları toplam 2 TB, bazıları toplam 100 MB)
  • farklı boyutlarda yaklaşık 200.000 dosya (yaklaşık 10 MB, 1/4 100 MB ve 4 GB arasında 1/4; dosyalarda daha fazla istatistik alamıyorum çünkü ext4 bölümüm bir kaç gündür tamamen bozulmuştur)
  • çok okur ama az yazar
  • ve hata toleransına ihtiyacım var (mdadm RAID'i kullanmayı bıraktım, çünkü tüm diskte ONE hatası olması hoşuma gitmiyor ve bazen elimden geldiğince kısa sürede değiştirdiğim, ancak bozuk disklerim var. dosya sistemim)

En büyük sorun, başarısız diskler; Bazı dosyaları kaybedebilirim ama aynı anda her şeyi kaybetmeyi göze alamam.

Ext4'ü kullanmaya devam edersem, en küçük dosya sistemlerini oluşturmaya ve onları bir şekilde "birleştirmeye" çalışmam gerektiğini duydum ama nasıl yapacağımı bilmiyorum.

Btrfs'nin iyi olacağını duydum, ancak veriler çoğaltılmadığında ( mkfs.btrfs -d single?) Bir diskin bir kısmını (veya bütün bir diski) kaybetmenin nasıl yönetildiği konusunda hiçbir ipucu bulamıyorum .

Soru ile ilgili herhangi bir tavsiye, şimdiden teşekkürler, hoş geldiniz olacak!


1
Tam olarak hangi disk hatalarını alırsınız. Bir ipucu vermeli
Soham Chakraborty

Kötü sektörler, çoğu zaman tüm diskte yalnızca bir veya iki kötü sektör olur ...
alphatiger

Bu, diskinizin kötü gittiği anlamına gelir. Dosya sistemi ile ilgisi yok. Disk bozuksa, hangi fs kullanıyorsanız kullanın, kullanışlı olacaktır. Diğerlerinin de belirttiği gibi, RAID disklerine gidin ve / veya işletme diskleri satın alın. Ayrıca, kalite kontrol cihazlarını da arayın.
Soham Chakraborty

Evet, biliyorum, bu yüzden kötü giden diskleri değiştiriyorum. Sorum açık değilse üzgünüm. Ama yine de, bazı dosya sistemlerinin bozulmuş verilerle daha iyi davranacağını düşündüm ...
alphatiger

Donanımınızın arızalı parçalarını gerçekten değiştirmelisiniz. Bu, bir araba duvara 200 km / s sürüldükten sonra yapılan bir çarpma testine bakmak gibi. "Ah bak! Sol bacağı neredeyse tamam! Test başarılı oldu!" ... temel donanım bozulursa hiçbir dosya sistemi size yardımcı olamaz. XFS ext * 'den daha hızlı fsck'e sahiptir ve yeterli zaman geçtikten sonra dosya sistemi biraz daha olgunlaşır, belki btrfs de işe yarayabilir. Sonra ZFS var ama Linux'ta durumu biraz üzücü.
Janne Pikkarainen

Yanıtlar:


22

Dosya sistemi sorunu değil, disklerin fiziksel kısıtlamaları. İşte bazı veriler:

SATA sürücüleri, genellikle 10 ^ 14 değerinde kurtarılamaz bir okuma hatası oranıyla (URE) belirtilir. Bu, 12TB başına 1 bayt , diskler düzgün çalışsa bile kurtarılamaz bir şekilde kaybedilecek demektir.

Bu , hiçbir RAID olmadan, hiçbir sürücü arızalansa bile veri kaybedeceğiniz anlamına gelir - RAID tek seçeneğinizdir.

RAID5'i seçerseniz (toplam kapasite n-1, burada n = disk sayısı) yine de yeterli değildir. 6 x 2 TB HDD'den oluşan 10 TB RAID5 ile, yılda bir kez% 20'lik bir sürücü arızası şansına sahip olacaksınız ve tek bir disk arızasıyla , URE nedeniyle, RAID5'i başarıyla yeniden oluşturma ve verilerinizin% 100'ünü kurtarma şansınız% 50 olacak .

Temel olarak yüksek disk kapasitesi ve göreceli olarak yüksek URE ile tek disk arızasında bile güvende olmak için RAID6'ya ihtiyacınız vardır.

Bunu okuyun: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


3
Bekle, URE Unrecoverable anlamına Okuma Hatası ancak bu diski aslında anlamına gelmez HAS hatası. Bir sonraki okuma (ve muhtemelen) doğru biti döndürür. İşletim sistemi muhtemelen sektörü yeniden okuyacak ve doğru verileri elde edecektir. Ayrıca SMART hakkında konuşmayı da unuttum: bir sektör kalıcı olarak hasar görmeden önce, SMART / dan veri okumaya / yazmaya çalışacak. Çok fazla başarısızlık tespit ederse, SMART basitçe sektörün içeriğini başka bir yere taşır ve sektörü BAD olarak işaretler ve hiç kimse bir daha üzerine yazamaz.
Avio

Bu yüzden, disklerinin NEDEN hatalı olduğunu sormadan sadece bir sürü disk almayı öneriyorsunuz . Bu bir ısı problemi, bu hatalı bir SATA denetleyicisi olan bir sorun olabilir olabilir, o vb kötü SATA bağlantı vb vb bir sorun olabilir
Avio

@Avio Demek istediğim, 10TB veri ile, tüm diskler, SATA denetleyici, SATA konektörler vb. Mükemmel durumda olsa ve özelliklere göre çalışıyor olsa bile, sabit disk kısıtlamaları nedeniyle okuma hataları olacağınızdır. Ayrıca RAID'i kullanmaya karar verseniz bile, RAID6 ile gitmeniz gerektiğini azaltmanıza rağmen, disk kapasitesi + URE RAID5'i bile yeterince güvenilir hale getirmediğini söylüyorum. RAID5 üzerindeki tek sürücü arızası bile yüksek (% 50 FFS!) Veri kaybı şansına sahiptir.
c2h5oh

1
URE'deki @Avio U, iyi olduğu gibi kurtarılamaz anlamına gelir .
c2h5oh

Dosya sistemleri sorunu olabilir, btrfs veya xfs gibi dosya yazma sistemindeki bir kopyasını kullanırsanız, dosyanın önceki bir sürümünü büyük olasılıkla kurtarabilirsiniz, böylece yalnızca dosyadaki son değişikliği kaybedebilirsiniz. (eğer hiç değişmemişse)
Jens Timmerman

13

Kendinize bir iyilik yapın ve diskleriniz için bir RAID kullanın, hatta mdadm ile RAID yazılımı olabilir. Ayrıca neden "disklerinizde sık sık hatalar aldığınızı" düşünün - RAID dereceli diskler yerine ucuz masaüstü sınıfı SATA sürücüleri kullanmanız normal değildir.

Bundan sonra, dosya sistemi artık o kadar önemli değil - ext4, xfs her ikisi de iyi seçimlerdir.


1
Yapmam gerektiğine katılıyorum;) ama birçok sebepten dolayı RAID kullanmıyorum. Bunlardan en önemlisi, fiyatları 2-3 kat daha pahalı oldukları için, bunu gerçekten karşılayamam. İkinci neden ise, son RAID 5 kullandığımda, yeni bir tane bağlayıp yeniden başlatabilmem için iki kötü disk alabilmem için şanslıydım (o sırada yedek diskim yoktu, beklemek zorunda kaldım. yenisi; RAID sınıf disklerle bu sorun yaşayacağımı kabul ediyorum). Üçüncü neden, depolamak zorunda olduğum veriler büyüdükçe, RAID yapılandırmasıyla yapamayacağım şekilde aşamalı olarak daha büyük boyutlarda yeni diskler ekliyorum.
alphatiger

Bu yüzden, birisinin bozulmamış verilere güvenemeyeceğim bir yapılandırmada kullanmamı önerebileceği bir dosya sistemi olup olmadığını görmeye çalışıyorum. Yine de cevabınız için teşekkürler!
alphatiger

4
Yani, verilerinizin ek masrafa değmeyeceğini mi söylüyorsunuz? Verilerinizin en az iki kopyasına sahip olamayacaksanız, kaybolduğunu düşünmelisiniz. RAID5'in muhtemelen iyi bir seçim olmadığı konusunda haklısınız, muhtemelen RAID6 veya RAID10'a bakmalısınız.
Zoredache

@alphatiger: Diskler ancak zamanınız ve verileriniz çok ucuzsa çok pahalı.
Monica’yı eski durumuna getirin - M. Schröder

8

ZFS konusunda şansım yaver gitti, kullandığın herhangi bir dağıtım konusunda müsait olup olmadığını kontrol edebilirsin. Adil uyarı, muhtemelen tüm sisteminizi yeniden kurmak anlamına gelir, ancak gerçekten iyi performans ve hata toleransı verir.


Şu anda Debian GNU / Linux kullanıyorum, sanırım bir FUSE uygulaması var ama paket yok (lisans problemleri nedeniyle). Muhtemelen bir deneyeceğim (kaynaklardan derledikten sonra, FUSE kullanarak yüksek çıktı için çok hoş değil), tüm dosya sistemimi yeniden inşa etmek zorunda olduğum için endişelenmiyorum. Teşekkürler !
alphatiger

ZFS için +1. Geleneksel RAID verileri sessizce bozar çünkü blokların ne zaman yanlış olduğunu veya nasıl onaracağınızı bilmek yeterince akıllı değildir. Öte yandan ZFS, bozuk blokları (sağlama toplamı yoluyla) algılar ve bunları iyi bilinen ayna kopyalardan onarır. ZFS'yi FUSE altında çalıştırmak, ideal olmasa da, birçok iş yükü için yeterince iyi performans gösterir. Bir üretim ortamında kullanmadan önce uygulamanızı test etmeniz gerekir.
bahamat

1
ZFS için başka bir +1. Neredeyse buradaki sunucuların tümü Linux kullanıyor ve ben bunun büyük bir hayranıyım, ancak ZFS son 3+ yıl boyunca benim için FreeBSD'yi öğrenme ve kurma çabası içinde bulunduğum için çok faydalı oldu. ZFS'yi herhangi bir lisans veya performans sorunu olmadan kullanabilmek için büyük depolama makinesi.
ssc

Eski Sun iş istasyonumda Solaris altında çalışıyorum ve donanım dikkate alındığında, performans düşünülemez, donanım (tek çekirdekli Opteron @ 2.2GHz 3G bellek ve bir çift 250G SATA sürücü).
TMN

8

Aşamalı olarak daha büyük boyutlarda yeni diskler ekliyorum

LVM'yi kullanmakla ilgilendiğiniz ve birden fazla sürücüyü kullanmak istediğiniz için basit cevap, yalnızca LVM'nin bir parçası olan ayna özelliğini kullanmak olacaktır. LVM'inize tüm fiziksel hacimleri ekleyin. Mantıksal bir hacim oluştururken bu --mirrorsseçeneği işaretleyin. Bu verilerinizi çoğaltır.

Başka bir seçenek sadece birkaç RAID1 çifti kurmak olabilir. Sonra tüm RAID1 birimlerini VG'nize PV olarak ekleyin. Ardından, depolama alanınızı genişletmek istediğinizde, sadece bir çift disk satın alın.


7

Gerçekten RAID 5, 6, 10, 50 veya 60 kullanıyor olmanız gerekir. Başlamanız için bazı kaynaklar:

RAID'ler hakkında arka plan bilgisi

howto ve kurulum

Ek RAID bağlantıları için lezzetli bağlantılarıma göz atın: http://delicious.com/slmingol/raid


Neden gerçekten RAID istemediğimi görmek için SvenW'in cevabı hakkındaki yorumlarıma bak. (Aslında, bunu karşılayabilecek bir şirkette çoklu yazılım RAID'leri hazırlamıştım ...) Yine de teşekkürler!
alphatiger

Her zaman RAID'ler için emtia sürücüleri kullandım, hiçbir zaman RAID kullanımı için derecelendirilmiş olanları kullanmamıştım ve içinde yeterince fazlalığa sahip bir RAID seçtiğiniz sürece hiçbir zaman sorun yaşamadım (RAID 6 veya RAID 60). Bir RAID 6 kullanarak, çift sayıya ihtiyacınız vardır. Mevcut üyeleri daha büyük disklerle değiştirip daha sonra yeni disklerin alanıyla büyüyerek RAID'leri kolayca kolayca büyütebilirsiniz.
slm

4

Verilerin bozulması konusunda gerçekten endişeleniyorsanız, zfs ve btrfs gibi sağlama toplamı olan bir dosya sistemi öneririm - bununla birlikte, btrfs'nin hala geliştirilmekte ve üretime hazır olmadığı düşünülüyor .

Bir diskten okunan (hatta başarıyla okunan) verilerin doğru olacağının garantisi yoktur. Bloklarda sağlama toplamı var, ancak her zaman hata yakalamayan basit sağlama toplamıdır. ZFS gibi daha yeni dosya sistemleri dosyalara daha fazla yetenekli sağlama toplamı ekler ve sabit disk veya RAID denetleyicisi tarafından farkedilmemiş veri hatalarını yakalayabilir ve onarabilir (ve bildirir).


1

As @ C2H5OH diyor , Kurtarılamaz kritiktir - bu disk zaten denenmiş ve sektörü yeniden okumak için başarısız olduğu anlamına gelir.

Deneyimlerime göre, bir disk kurtarılamaz okuma hataları (URE'ler) üretmeye başladığında, bazı veriler sonsuza dek kaybolur ve tek umudunuz GNU kurtarma aracını kullanarak tüm verileri derhal yedeklemektir , bu da başarısız olan sektörleri yeniden deneyebilir ve kurtarılamaz olanları atlayabilir.

Yedekleriniz olduğunu varsayarsak, URE'ler nedeniyle başarısız olmuş olabilirler ve kesinlikle bazı bozuk dosyalara sahip olacaklar, bu nedenle aynı dosya sisteminin çeşitli yedeklerinden gelen tüm verileri bir araya getirmeniz gerekecek.

ZFS'yi öneren diğer cevaplar sürekli veri temizliği ve RAID özellikleri nedeniyle verilerinizi gelecekte daha güvenli tutmanıza yardımcı olacağından, kullanıcı ve yönetici hatalarına karşı da koruma sağlayan yedeklemeler için bir alternatif olmasa da, okumaya değer.

Yalnızca anlık görüntülere ihtiyacınız yoksa LVM'yi kullanırdım - RAID ile iyi bir şekilde entegre olmaz, veri temizleme / veri sağlama toplamları içermez ve yine de yedeklemeye ihtiyacınız vardır, bu nedenle ZFS gibi daha iyi bir seçenek olabilir. LVM sorunları ve daha fazlası için riskler hakkındaki bu cevaba bakınız .

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.