Bu ewwhite'ın cevabının "devamı" dır:
Yeniden dengelemek için verilerinizi genişletilmiş zpool'a yeniden yazmanız gerekir
Ben Ubuntu 14.04 ana bilgisayarında bu otomatikleştirmek için bir PHP komut dosyası ( github kullanılabilir ) yazdı .
Biri sadece PHP CLI aracını yüklemeli sudo apt-get install php5-cli
ve betiği çalıştırmalı, havuz verilerinizin yolunu ilk argüman olarak geçirmelidir. Örneğin
php main.php /path/to/my/files
İdeal olarak, betiği havuzdaki tüm veriler üzerinde iki kez çalıştırmalısınız. İlk çalıştırma sürücü kullanımını dengeler, ancak ayrı ayrı dosyalar en son eklenen sürücülere aşırı tahsis edilecektir. İkinci çalıştırma, her dosyanın sürücüler arasında "adil bir şekilde" dağıtılmasını sağlar. Eşit olarak söylemek istiyorum, çünkü sadece farklı büyüklükteki çiftleri (4 TB ayna + 3 TB ayna + 3 TB ayna) benim baskın 10 ile olduğum gibi sürücü kapasitelerini karıştırmazsanız eşit olarak dağıtılacak.
Komut Dosyası Kullanmanın Nedenleri
- Sorunu "yerinde" düzeltmek zorundayım. Örneğin, verileri başka bir sisteme yazamıyorum, buradan silemiyorum ve hepsini tekrar yazamıyorum.
- Havuzumu% 50'nin üzerinde doldurdum, bu yüzden orijinali silmeden önce tüm dosya sistemini bir kerede kopyalayamadım.
- Yalnızca iyi performans göstermesi gereken belirli dosyalar varsa, komut dosyası bu dosyalar üzerinde iki kez çalıştırılabilir. Ancak, ikinci çalışma sadece ilk çalışma sürücü kullanımını dengelemeyi başardıysa etkilidir .
- Çok fazla veri var ve ilerleme kaydedildiğini görmek istiyorum.
Drive Kullanımının Bile Sağlandığını Nasıl Anlarım?
Iostat aracını belirli bir süre (örn. iostat -m 5
) Kullanın ve yazma işlemlerini kontrol edin. Eğer aynılarsa, eşit bir yayılma elde ettiniz. Aşağıdaki ekran görüntüsünde bile mükemmel değiller, çünkü RAID 10'da 2 çift 3 TB sürücülü bir çift 4 TB çalıştırıyorum, bu yüzden iki 4 biraz daha fazla yazılacak.
Disk kullanımınız "dengesiz" ise, iostat, yeni sürücülerin orantısız olarak yazıldığı aşağıdaki ekran görüntüsü gibi bir şey gösterecektir. Ayrıca yeni sürücüler olduklarını da söyleyebilirsiniz çünkü okumalar 0'dadır, çünkü üzerinde veri yoktur.
Senaryo mükemmel değil, sadece bir geçici çözüm, ama bu arada benim için ZFS bir gün BTRFS (parmak çarpı işareti) gibi bir yeniden dengeleme özelliği uygulayana kadar çalışıyor.