web-dev-qa-db-fra.com

Le système de fichiers XFS nouvellement créé montre que 78 Go sont utilisés

Nous avons un tableau 12 TB RAID 6 qui est censé être configuré comme une seule partition avec un système de fichiers XFS Lors de la création du nouveau système de fichiers, il indique qu'il dispose de 78 Go, mais il n'y a aucun fichier sur le lecteur.

[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

Est-ce que j'ai fait quelque chose de mal? Est-ce par conception?

Il semble que le journal du système de fichiers ne prenne que 2 Go environ, et je ne peux pas comprendre ce qui pourrait être utilisé d'autre.

[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

Informations sur la partition:

[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

Il s'agit d'un Dell FX2 avec quatre nœuds de calcul FC430 et deux nœuds de stockage FD332, exécutant Red Hat Enterprise Linux 8 ( Ootpa ).

18
yakatz

Pour XFS, le système de fichiers vide "Taille utilisée" comme indiqué par df -h semble dépendre beaucoup des fonctionnalités de métadonnées que vous activez dans mkfs.xfs temps.

Test avec un fichier vide de 12 To:

# truncate -s 12TB xfstest.img

Paramètres par défaut (sur mon système ArchLinux actuel):

# 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/

En utilisant 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

En utilisant crc=0, reflink=0: (pour une raison quelconque, cela transforme également 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

En bref:

# 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)

Ainsi, l'espace "utilisé" sur un nouveau système de fichiers de 12 To est 78G, 12G ou aussi bas que 33M selon les fonctionnalités de métadonnées que vous activez au moment mkfs.

2
frostschutz

Tous les systèmes de fichiers ont une surcharge pour leurs propres structures de données internes. Ces informations internes sont utilisées par le système de fichiers pour créer des fichiers et des répertoires à l'avenir et pour savoir où tout est alloué. Ces données sont collectivement appelées "métadonnées". Ce sont des données "sur" les données du système de fichiers. Les métadonnées sont considérées comme des frais généraux, car elles occupent de l'espace mais ne sont pas des données utilisateur. Cette surcharge est un effet secondaire inévitable de l'utilisation de tout système de fichiers.

Selon ce billet de blog , XFS a une surcharge d'environ 0,5% de l'espace disque total. (Notez que ce post date de 2009, mais il n'y a aucune raison pour que cela ait radicalement changé). Il a obtenu ce résultat en testant la surcharge du système de fichiers de plus d'une douzaine de systèmes de fichiers différents en utilisant guestfish .

0,5% de votre espace de 12 To est de 60 Go, il semble donc que cela soit assez proche de l'utilisation attendue. Je soupçonne que son nombre aurait dû être légèrement supérieur à 0,5%, mais qu'il a été arrondi.

24
Moshe Katz