Btrfs, etki alanı tabanlı bir yazma üzerine kopyalama (CoW) dosya sistemidir. Büyük dosyalar birden çok veri uzantısında depolanır; Ve bu büyük dosyalar değiştirildiğinde, değiştirilecek uzantılar, depolama aygıtının herhangi bir yerindeki yeni, boş uzantılara kopyalanır ve yeni konumda değiştirilir. Büyük dosyaların uzantıları daha sonra güncellenen uzantıları gösterecek şekilde yeniden bağlanır. Eski uzantılar hemen kaldırılmaz.
Btrfs dosya sisteminin yazma üzerine kopyala (CoW) özelliği bu şekilde parçalanmaya neden olur. Parçalanma, büyük dosyaların veri uzantılarının tüm depolama aygıtına dağılması anlamına gelir. Anında değil. Bu, dosya sisteminin performansını (okuma/yazma hızı) azaltabilir.
Bu sorunu çözmek için, zaman zaman Btrfs dosya sistemini birleştirmek gerekir. Bu makale, Btrfs dosya sistemini nasıl birleştireceğinizi gösterir.
kısaltmalar
Bu yazıda kullanılan kısaltmalar (kısaltılmış formlar) aşağıdaki gibidir:
- Bir inek – Yazarken kopyala
- Kelebek – B-Ağacı dosya sistemi
- HDD – Sabit disk sürücüsü
- SSD – Katı hal diskleri
- GB – GB
- sanal makine – bir sanal makine
Temel gereksinimler
Bu makaledeki örnekleri denemek için:
- Btrfs dosya sistemi bilgisayarınızda yüklü olmalıdır.
- Yedek bir HDD/SSD’ye (herhangi bir boyutta) veya en az bir boş HDD/SSD bölümüne (herhangi bir boyutta) sahip olmalısınız.
20 GB HDD’m var sdb Ubuntu makinemde. Sabit diskimde bir Btrfs dosya sistemi oluşturacağım sdb.
hayır: HDD/SSD’niz muhtemelen bölümlerin yanı sıra benimkinden farklı bir ada sahip olacaktır. Bu yüzden şimdi sizinkiyle değiştirdiğinizden emin olun.
Yedek bir HDD/SSD’niz varsa, HDD/SSD’nizde (bölümleme olmadan) bir Btrfs dosya sistemi oluşturabilirsiniz. Ayrıca HDD / HDD’nizde bir bölüm oluşturabilir ve orada bir Btrfs dosya sistemi oluşturabilirsiniz.
Btrfs dosya sistemini Ubuntu’ya yükleme konusunda yardım için makaleye bakın Ubuntu 20.04 LTS’de Btrfs’yi Kurun ve Kullanın.
Fedora’da Btrfs dosya sistemini kurma konusunda yardım için makaleye bakın Fedora 33’te Btrfs’yi kurun ve kullanın.
Bir Btrfs dosya sistemi oluşturun
(Bölümlenmemiş) HDD/HDD veya HDD/SSD bölümünüzde bir Btrfs dosya sistemi oluşturabilirsiniz.
Btrfs dosya sistemini oluşturmak için sdb HDD (tüm sabit disk sürücüsü, bölüm yok) ve ona dosya sistemi tanımını verin veriaşağıdaki komutu çalıştırın:
sudo $mkfs.btrfs -L sürümü /dev/sdb
Btrfs dosya sistemi şimdi oluşturulmalıdır. sdb HDD.
Dizin oluştur /veri Az önce oluşturduğunuz Btrfs dosya sistemini aşağıdaki komutla bağlamak için:
Oluşturulan Btrfs dosya sistemini ona bağlar sdb sabit sürücüde /veri dizini, aşağıdaki komutu çalıştırın:
sudo mount /dev /sdb /çok
Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, Btrfs dosya sistemi şimdi monte edilmelidir:
Btrfs dosya sistemini manuel olarak birleştirin
Aşağıdaki ekran görüntüsünde de görebileceğiniz gibi iki mount dosyasını Btrfs dosya sistemine kopyaladım. /veri Btrfs dosya sistemi birleştirme sürecini gösteren kılavuz:
Tek bir dosyayı veya bir alt/dolu klasörü yinelemeli olarak birleştirebilirsiniz.
bir dosyayı birleştirmek için /data/ubuntu-20.04.1-live-server-amd64.isoAşağıdaki komutu çalıştıracağız:
sudo btrfs birleştirme dosya sistemi -vf /data/ubuntu-20.04.1-live-server-amd64.iso
bir dosya /data/ubuntu-20.04.1-live-server-amd64.iso Birleştirilmesi gerekir.
Her dosyayı veya dizini birleştirmek için /veri Dizin tekrarlı olarak aşağıdaki komutu çalıştırır:
sudo btrfs dosya sistemi birleştirme -rvf / veri
Gördüğünüz gibi, tüm dosyalar /veri Dizin birleştirildi.
Benzer şekilde, bir alt klasörünüz varsa /data/osimagesardından tüm dosyaları birleştirebilirsiniz. /data/osimages yinelemeli olarak aşağıdaki komutla alt klasör:
sudo btrfs $defragment -rvf /data/osimages
Birleştirme sırasında Btrfs dosya sistemini sıkıştırın
Btrfs dosya sistemi, dosyaları birleştirirken sıkıştırmanıza olanak tanır.
içindeki tüm dosyaları birleştirmek için /veri Dizini ve ile sıkıştırın zlib Birleştirme komutunu sıkıştırma algoritmasıyla aynı anda çalıştırın. -czlib Seçenek aşağıdaki gibidir:
sudo btrfs dosya sistemi birleştirme -rvf -czlib /data
içindeki tüm dosyaları birleştirmek için /veri Dizini ve ile sıkıştırın ZSTD Birleştirme komutunu sıkıştırma algoritmasıyla aynı anda çalıştırın. – Kavşak noktası Seçenek aşağıdaki gibidir:
sudo btrfs $ birleştirme -rvf -czstd / veri
içindeki tüm dosyaları birleştirmek için /veri Dizini ve ile sıkıştırın LZO Birleştirme komutunu sıkıştırma algoritmasıyla aynı anda çalıştırın. -Kalzo Seçenek aşağıdaki gibidir:
sudo btrfs dosya sistemi birleştirme -rvf -clzo /data
içindeki dosyalar /veri Dizin aynı anda birleştirilmeli ve sıkıştırılmalıdır.
Benzer şekilde, Btrfs alt klasör dosyalarını birleştirebilir ve sıkıştırabilirsiniz.
Btrfs dosya sistemini otomatik olarak birleştirin
Açılış sırasında Btrfs dosya sisteminizde otomatik birleştirmeyi etkinleştirebilirsiniz. Bu Btrfs dosya sistemi özelliği, Btrfs dosya sistemindeki tüm dosyaları otomatik olarak birleştirecektir.
Oluşturulan Btrfs dosya sistemini ona bağlar sdb hdd /veri Önyükleme sırasında otomatik birleştirmenin etkinleştirildiği bir dizine Btrfs dosya sistemi için bir giriş eklemeniz gerekir. /etc/fstab bir dosya.
İlk olarak, oluşturulduğu Btrfs dosya sisteminin UUID’sini bulun. sdb HDD şu şekilde:
Gördüğünüz gibi, Btrfs dosya sistemi UUID’si onun üzerinde oluşturulmuştur. sdb HDD 60afc092-e0fa-4b65-81fd-5dfd7dd884de.
Senin için farklı olacak. Bu yüzden bundan sonra sizinkiyle değiştirdiğinizden emin olun.
açlıktan ölme /etc/fstab ile dosyala nano Metin editörü aşağıdaki gibidir:
Sonuna aşağıdaki satırı ekleyin /etc/fstab bir dosya:
UUID = 60afc092-e0fa-4b65-81fd-5dfd7dd884de / data btrfs otomatik birleştirme 0 0
Bittiğinde, +’ya basın x bunu takiben s Ve kurtarmak için /etc/fstab bir dosya.
Değişikliklerin etkili olması için bilgisayarınızı aşağıdaki komutla yeniden başlatın:
Gördüğünüz gibi, Btrfs dosya sistemi bunun üzerine inşa edilmiştir. sdb Sabit sürücü takılı /veri otomatik birleştirme etkinleştirilmiş dizin.
Btrfs dosya sistemini birleştirme sorunları
Birleştirme, dosya sistemi performansını artırıyor gibi görünse de, Btrfs dosya sistemi birleştirme işleminde bazı sorunlar vardır.
Btrfs bir yazma üzerine kopyalama (CoW) dosya sistemi olduğundan, Btrfs dosya sisteminin birleştirilmesiyle ilgili sorunları anlamak için Btrfs dosya sisteminin yazma üzerine kopyalama özelliğini anlamanız gerekir.
Diyelim ki büyük bir dosyanız var (Duçya 1), Btrfs dosya sistemi için uzantı 100’ü kullanır (uzantıları dosya blokları olarak düşünebilirsiniz). Bu büyük dosyanın başka bir kopyasını oluşturursanız (dosya2) Aynı Btrfs dosya sisteminde ek disk alanı kullanılmadığını göreceksiniz. Bunun nedeni, dosyaların aynı olması ve her dosya için yüzlerce uzantının aynı olmasıdır. Bu nedenle, Btrfs dosya sistemi her iki dosya için de aynı uzantıları kullanır.
Şekil 1: Duçya 1 E dosya2 Disk alanından tasarruf etmek için Btrfs ile aynıdırlar ve aynı dosya sistemi uzantılarını paylaşırlar.
Şimdi büyük dosyanın kopyalarından birini değiştirdiğinizi varsayalım (dosya2). Değişimin 100 etki alanından 10’u olması gerekiyordu. btrfs dosya sistemi, gerekli 10 uzantıyı kullanılmayan başka bir konuma kopyalayacaktır (örneğin, e101–E 110) dosya sisteminden ve orada değiştirin. Değişiklikler diske yazıldıktan sonra, Btrfs dosya sistemi, değişikliklerin büyük dosyaya yansıtılması için uzantıları yeniden yükleyecektir. İşlem aşağıdaki gibi görünür:
Şekil 2: 10 Aralıklar değişti dosya2. Böylece, uzantılar Btrfs dosya sisteminde yeniden birleştirilir.
Şekil 1 ve 2’den, yazma üzerine kopyalamanın (CoW) nasıl çalıştığını ve Btrfs dosya sisteminin disk alanından tasarruf etmek için yazma üzerine kopyalamayı (CoW) nasıl kullandığını anlayabilirsiniz.
Artık Btrfs dosya sisteminin Yazma Üzerine Kopyalama (CoW) özelliğinin nasıl çalıştığını bildiğinize göre, Btrfs dosya sisteminin birleştirilmesiyle ilgili sorunları anlayacaksınız.
- Dosyaları birleştirmek, Btrfs veri uzantılarını hareket ettirir ve bunları birer birer hizalamaya çalışır. Bu, dosya kopyaları arasındaki kopya üzerine yazma bağlantılarını keser. Bu, veri uzantılarını dosyanın özdeş (veya hemen hemen aynı) kopyaları arasında paylaşarak önceden kaydedilmiş Btrfs dosya sisteminin disk kullanımının yanı sıra yedekli veri aralıklarını da artıracaktır.
- Bir Btrfs alt klasörü birden çok anlık görüntü içeriyorsa, alt klasörün birleştirilmesi, alt klasör ile anlık görüntüler arasındaki yazma sırasında kopyalama bağlantılarını kesecektir. Bu, Btrfs dosya sisteminin disk kullanımını artıracaktır.
- Btrfs dosya sistemini büyük veritabanları veya sanal makine görüntüleri (VM verilerini/diskleri depolamak için) için kullanıyorsanız, dosya sisteminin birleştirilmesi de sistem performansını olumsuz etkiler. dosya sistemi.
çözüm
Bu makalede, tek bir dosyayı ve Btrfs dosya sisteminin bir klasör/alt klasöründeki dosyaları yinelemeli olarak nasıl birleştireceğinizi öğrendiniz. Ayrıca önyükleme sırasında Btrfs dosya sisteminde otomatik birleştirmeyi nasıl etkinleştireceğinizi de öğrendiniz. Son olarak makale, Btrfs dosya sisteminin birleştirilmesiyle ilgili bazı sorunları tartışıyor.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın