Yeni oluşturulan XFS dosya sistemi 78 GB kullanıldığını gösteriyor


18

Bir XFS dosya sistemiyle tek bir bölüm olarak ayarlanması gereken 12 TB RAID 6 dizimiz var . Yeni dosya sistemini oluştururken, 78 GB kullanımda olduğunu, ancak sürücüde dosya olmadığını söylüyor.

[root@i00a ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         32G     0   32G   0% /dev
tmpfs            32G     0   32G   0% /dev/shm
tmpfs            32G   11M   32G   1% /run
tmpfs            32G     0   32G   0% /sys/fs/cgroup
/dev/sdb3       154G  3.9G  150G   3% /
/dev/sdb2      1014M  153M  862M  16% /boot
/dev/sdb1       599M  6.7M  593M   2% /boot/efi
/dev/sdc1       187G  1.6G  185G   1% /var
tmpfs           6.3G     0  6.3G   0% /run/user/0
/dev/sda1        11T   78G   11T   1% /export/libvirt

Ben yanlış bir şey mi yaptım? Tasarım gereği bu mu?

Görünüşe göre dosya sistemi günlüğü sadece 2 GB kadar yer kaplıyor ve alanı başka ne kullanabileceğini anlayamıyorum.

[root@i00a ~]# xfs_info /export/libvirt/
meta-data=/dev/sda1              isize=512    agcount=11, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=2929458688, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Bölüm bilgileri:

[root@irb00a ~]# parted /dev/sda1
GNU Parted 3.2
Using /dev/sda1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Unknown (unknown)
Disk /dev/sda1: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number  Start  End     Size    File system  Flags
 1      0.00B  12.0TB  12.0TB  xfs

Bu, Red Hat Enterprise Linux 8 ( Ootpa ) çalıştıran dört FC430 işlem düğümü ve iki FD332 depolama düğümü olan bir Dell FX2'dir .


Gerçekten boş mu? (12 TB görüntüsüyle, varsayılan mkfs ayarlarıyla bsize=4096 blocks=2929687500) yeniden oluşturmaya çalışmak , örneğinize göre df -hsonuç Size 11T, Used 12Gdeğildir 78G. xfsdump21KB dosya üretir ... ;-)
frostschutz

2
Ah, farkettim ki reflink=1benim için varsayılan buydu reflink=0. Bununla birlikte reflink=1, 78Gbenim için kullanıldığını söylüyor , bu yüzden şimdi çoğaltabilirim.
frostschutz

Görünüşe göre bu tasarımdan kaynaklanıyor, ancak yeniden düzenlemelerin kullanım durumunuz için hiçbir şey yapmayacağından eminseniz, kapatmayı düşünebilirsiniz.
frostschutz

Bilmiyorum. Burada tek şey sanal makineler için qcow2 dosyaları olacak.
yakatz

Bazı libvirt araçları reflekti destekliyor gibi görünüyor, ancak büyük olasılıkla sorun değil: stackoverflow.com/a/41968000/597234 Muhtemelen kaydedilen alana ek bir VM takabilirim.
yakatz

Yanıtlar:


2

XFS için, gösterildiği df -hgibi boş dosya sistemi "Kullanılan Boyut", o mkfs.xfsanda hangi meta veri özelliklerini etkinleştirdiğinize çok bağlıdır .

Boş bir 12 TB dosya ile test etme:

# truncate -s 12TB xfstest.img

Varsayılan ayarlar (mevcut ArchLinux sistemimde):

# mkfs.xfs xfstest.img 
meta-data=xfstest.img            isize=512    agcount=11, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=2929687500, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       11T   12G   11T   1% /dev/shm/loop
# umount loop/

Kullanma reflink=1:

# mkfs.xfs -m reflink=1 -f xfstest.img
meta-data=xfstest.img            isize=512    agcount=11, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=2929687500, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       11T   78G   11T   1% /dev/shm/loop

Kullanılması crc=0, reflink=0(nedense, aynı zamanda döndüğünü finobt=0, sparse=0)

# mkfs.xfs -m reflink=0 -m crc=0 -f xfstest.img 
meta-data=xfstest.img            isize=256    agcount=11, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0, sparse=0, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=2929687500, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# mount -o loop xfstest.img loop/
# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       11T   33M   11T   1% /dev/shm/loop

Kısacası:

# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       11T   78G   11T   1% /dev/shm/loop (reflink=1, crc=1)
/dev/loop0       11T   12G   11T   1% /dev/shm/loop (reflink=0, crc=1)
/dev/loop0       11T   33M   11T   1% /dev/shm/loop (reflink=0, crc=0)

Bu nedenle, yeni bir 12 TB dosya sisteminde "Kullanılmış" alan mkfs zamanında hangi meta veri özelliklerini etkinleştirdiğinize bağlı olarak 78G, 12G veya 33M kadar düşüktür.


RedHat 8 reflinks=1varsayılan olarak vardır
yakatz

24

Tüm dosya sistemlerinin kendi dahili veri yapıları için ek yükü vardır. Bu dahili bilgi, dosya sistemi için gelecekte dosya ve dizin oluşturmak ve her şeyin nereye tahsis edildiğini takip etmek için kullanılır. Bu veriler topluca "meta veriler" olarak bilinir. Dosya sistemindeki veriler "hakkında" verilerdir. Meta veriler, yer kapladığı ancak kullanıcı verileri olmadığı için ek yük olarak kabul edilir. Bu ek yük, herhangi bir dosya sistemi kullanmanın kaçınılmaz bir yan etkisidir.

Göre bu blog yazı , XFS toplam disk alanının yaklaşık% 0.5 ek yükü vardır. (Bu gönderinin 2009'dan geldiğine dikkat edin, ancak bunun büyük ölçüde değişmesi için hiçbir neden yoktur). Bir düzineden fazla farklı dosya sistemi kullanarak dosya sistemi yükünü test ederek bu sonucu elde etti guestfish.

12 TB alanınızın% 0,5'i 60 GB olduğundan, beklenen kullanıma oldukça yakın görünüyor. Onun sayısının% 0,5'ten biraz daha yüksek olması gerektiğine inanıyorum, ancak yuvarlandı.


9
Bazı dosya sistemlerinin ayrılan tam boyutu rapor ettiğini ve daha sonra kullanılan alana karşı defter tutma yükünü ücretlendirdiğini, diğerlerinin ise defter tutmayı tam boyuttan çıkardığını ve yalnızca dosya alanını "kullanılmış" olarak bildirdiklerini belirtmek gerekir.
chrylis -on strike-

3
Dosya sistemi yükü ... insanlara sabit disklerinin neden 1983'ten beri etikette ne olduğunu bildirmediğini soruyor
J ...

3
@J ... Aslında, sabit disk genellikle orada 1024MB yerine 1GB = 1000MB kullanarak boyut pazarlar. 512GB ile pazarlanan bir HD aslında listelenen boyuttan 12GB daha küçük. TB ile daha da kötüleşir, çünkü 1 TB = 1000 GB = 1000 * 1000 MB kullanırlar. 1 TB HD, 1024 GB yerine gerçekten 976 GB'dir. Bir boğmaca 48GB TB tarafından kaybedildi.
Justin Lessard

4
Gigabayt (baz 10) ile gibibitlerin (baz 2) ölçülmesindeki fark, kullanılan alan olarak görünmüyor df.
yakatz

1
@JustinLessard MiB ve KiB seviyelerindeki ek yükü unuttun. 512 GB'lık bir sabit disk aslında gerçek bir 512 GiB diskten 32 GiB'den daha küçüktür. Ve bunun üzerine, 1 TB'lık bir disk, TiB, GiB, MiB ve KiB yükünü hesaba katarken gerçekten 0.909 TiB'ye benziyor. (* 1: 1000 ^ 4 ^ 4/1024) 0,90949 =
penguin359
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.