XFS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page XFS and the translation is 30% complete.
Outdated translations are marked like this.

Das XFS-Dateisystem ist ein leistungsstarkes Journaling-Dateisystem. Es ist ACL (POSIX)-konform für die Verwendung mit Linux.

XFS has a particularly strong reputation for reliability and led to the creation of the venerable xfstests Linux kernel test suite which now tests regressions in various filesystems.

Installation

Kernel

KERNEL Aktivieren der XFS-Unterstützung (CONFIG_XFS_FS:)
File systems  --->
   <*> XFS filesystem support

Optional:

KERNEL Aktivieren optionaler XFS-Funktionen
File systems  --->
   [*]   XFS Quota support
   [*]   XFS POSIX ACL support
   [*]   XFS Realtime subvolume support
   [ ]   XFS Verbose Warnings
   [ ]   XFS Debugging support

Emerge

Das Paket sys-fs/xfsprogs wird für die XFS-Userspace-Dienstprogramme benötigt:

root #emerge --ask sys-fs/xfsprogs

Bedienung

Mount

Hängen Sie XFS-Dateisysteme mit dem Befehl mount ein.

XFS unterstützt SSD-Discards in der fstab.

Creation

Erstellen Sie ein XFS-Dateisystem mit mkfs.xfs aus xfsprogs:

root #mkfs.xfs -L 'label'

Das Label ist optional. Weitere Anpassungen bei der Erstellung könnten für die Verwendung als RAID, Multi-Terabyte-Laufwerke und das Journaling für eine HDD auf einer separaten SSD interessant sein.

Filesystem information

xfs_spaceman can be used to display information about the space available and to run a report on the health of a filesystem.

root #xfs_spaceman -c info /path/to/mountpoint

Changing parameters

Wichtig
It is not possible to change the parameters of a mounted filesystem

The parameters of an XFS filesystem can be changed using xfs_admin. For the full list of options, view the manpage: xfs_admin(8)

root #xfs_admin -L 'label' /dev/sda1

Expanding a filesystem

Wichtig
The filesystem must be mounted to be grown

To grow an XFS filesystem to N amount, use xfs_growfs.

root #xfs_growfs -D N /path/to/mountpoint
Hinweis
Using the -d argument results in it being expanded to the max size

Freezing

To suspend access to a filesystem, use the xfs_freeze command.

root #xfs_freeze -f /path/to/mountpoint

Utilities

Utility Description[1] Man page
fsck.xfs Checks a filesystem for corruption fsck.xfs(8)
mkfs.xfs Creates a new filesystem mkfs.xfs(8)
xfs_admin Changes the parameters of a filesystem xfs_admin(8)
xfs_bmap Prints block mapping for an XFS file xfs_bmap(8)
xfs_copy Copies contents of a filesystem to one or more targets in parallel xfs_copy(8)
xfs_estimate Estimate the amount of space a directory would consume if it were copied to an XFS filesystem xfs_estimate(8)
xfs_db Used to debug an XFS filesystem xfs_db(8)
xfs_freeze Suspends access to a filesystem xfs_freeze(8)
xfs_fsr Improves organization of mounted filesystems, compacting or improving the layout of extents xfs_fsr(8)
xfs_growfs Increases a filesystem's size xfs_growfs(8)
xfs_info Equivalent to invoking xfs_growfs but does not change any aspects about the filesystem xfs_info(8)
xfs_io Used for debugging, like xfs_db but for regular file paths than raw volumes xfs_io(8)
xfs_logprint Prints the log of an XFS filesystem xfs_logprint(8)
xfs_mdrestore Restores an XFS metadump image to a filesystem image xfs_mdrestore(8)
xfs_metadump Copies filesystem metadata to a file xfs_metadump(8)
xfs_mkfile Creates an XFS file (padded by zeroes by default) xfs_mkfile(8)
xfs_ncheck Generates pathnames from inode numbers xfs_ncheck(8)
xfs_quota Used for reporting and editing different aspects of filesystem quotas xfs_quota(8)
xfs_repair Repairs corrupted or damaged XFS filesystems xfs_repair(8)
xfs_rtcp Copies a file to a real-time partition xfs_rtcp(8)
xfs_scrub Checks and repairs contents of a mounted filesystem xfs_scrub(8)
xfs_scrub_all Scrubs all mounted XFS filesystems xfs_scrub_all(8)
xfs_spaceman Reports and controls free space usage xfs_spaceman(8)

Maintenance

Unterstützung für Zeitstempel des Jahres 2038 (bigtime)

Older partitions (created with <xfsprogs-5.15) will not have bigtime enabled by default. Mounting such partitions results in a warning like:

root #dmesg
...
[    4.036258] xfs filesystem being mounted at /home supports timestamps until 2038 (0x7fffffff)
...

To check the current version of xfsprogs, run mkfs.xfs -V. There's no need for this on up-to-date Gentoo systems, but it might be necessary if using install media from another distribution with older userland.

Die Unterstützung von Bigtime-Code wurde in xfsprogs 5.15 standardmäßig aktiviert, so dass eine manuelle Einstellung in neueren Versionen nicht erforderlich ist.

Mit Kernel 5.10 erhielt XFS bigtime-Unterstützung um die maximal aufgezeichneten Datumsstempel von 2038 auf 2486 für das V5-Plattenformat zu erweitern.[2]

Um auf bigtime zu aktualisieren, müssen Sie zuerst das Dateisystem sauber aushängen. Das Upgrade wird sich weigern, zu laufen, wenn das Aushängen nicht vollständig sauber war.

Dann führen Sie aus:

root #xfs_admin -O bigtime=1 /dev/sda1

Ersetzen von /dev/sda1 durch den Gerätepfad.

Hinweis
XFS auf dem Root-Mount erfordert ein initramfs oder eine andere Live-Umgebung mit den notwendigen Tools, um ein Upgrade der Metadaten durchzuführen.

Verwendung von Dracut initramfs zur Durchführung des Upgrades

Zunächst benötigt, Dracut zusätzliche Dateien im initramfs, um das Upgrade durchführen zu können. Dies kann entweder mit der Option --install oder innerhalb einer Konfigurationsdatei mit der Option install_items erreicht werden.

root #dracut --install "/usr/sbin/xfs_admin /usr/bin/expr" ...

Dann kann die Kernel-Befehlszeilenoption so geändert werden, dass sie rd.break=pre-mount enthält, um das initramfs zu stoppen, kurz bevor es das Root-Dateisystem einhängen würde. Stellen Sie sicher, dass dies vorübergehend geschieht und bei späteren Neustarts nach dem Upgrade wieder entfernt wird.

Entfernung

Um die Entfernung beim nächsten Lauf zu planen:

root #emerge --ask --depclean --verbose sys-fs/xfsprogs

Siehe auch

  • FATfilesystem originally created for use with MS-DOS (and later pre-NT Microsoft Windows).
  • Ext4 — ein quelloffenes Dateisystem und die neueste Version der Extended-Reihe von Dateisystemen
  • Btrfs — ein copy-on-write (CoW) Dateisystem für Linux, welches die Implementierung erweiterter Funktionen anstrebt und einen Fokus auf Fehlertoleranz, Selbsheilung und einfache Administration legt.

Referenzen