5 XFSファイル・システムの管理
XFSは、もともとSilicon Graphics, Inc.によってIRIX OS用に作成され、後にLinuxに移植された高性能のジャーナル・ファイル・システムです。ファイル・システムが多数のストレージ・デバイスにまたがる場合でも、XFSの並列I/Oパフォーマンスのおかげで、I/Oスレッド、ファイル・システムの帯域幅、ファイルおよびファイル・システムのサイズに、高いスケーラビリティが確保されます。
XFSの典型的なユース・ケースは、複数のストレージ・サーバー(各サーバーが、FC接続された複数のディスク・アレイからなる)にまたがるTBサイズのファイル・システムの実装です。
Oracle Linux 8では、root
(/
)またはboot
ファイル・システムでXFSを使用できます。
XFSには、大規模なファイル・システムの実装を必要とするエンタープライズ・レベルのコンピューティング環境でのデプロイメントに適した、次のような多くの機能があります。
-
メタデータ操作のためのジャーナルが実装されます。
ジャーナルにより、停電やシステム障害が発生した場合にファイル・システムの整合性が保証されます。XFSは、ファイル・システムの更新を非同期で循環バッファ(journal)に記録しており、それにより、ディスクに対する実際のデータ更新のコミットが可能です。ジャーナルは、内部的にファイル・システムのデータ・セクションに格納するか、ディスク・アクセスの競合を減らために外部的に別のデバイスに格納することができます。システム障害や停電が発生した場合は、ファイル・システムの再マウント時にジャーナルが読み取られ、保留中のメタデータ操作がすべてリプレイされて、ファイル・システムの整合性が確保されます。このリカバリの速度は、ファイル・システムのサイズによって変わるわけではありません。
-
複数の割当てグループに内部的に区分けされます。これが固定サイズの仮想ストレージ領域です。
作成するファイルやディレクトリは、複数の割当てグループにまたがっていてもかまいません。各割当てグループは、他の割当てグループとは独立に、独自のinodeと空き領域の組合せを管理して、I/O操作のスケーラビリティと並列性を確保します。ファイル・システムが多くの物理デバイスにまたがる場合、割当てグループによりチャネルをストレージ・コンポーネントに基盤から分離することができるため、スループットを最適化できます。
-
エクステント・ベースのファイル・システム。
ファイルのフラグメンテーションと複数箇所への散在を少なく保つために、各ファイルのブロックは可変長のエクステントを持つことができます。ここで、各エクステントは1つ以上の連続ブロックで構成されています。XFSの領域割当てスキームは、ファイル・システム操作に使用できる空きエクステントが効率的に特定されるように設計されています。XFSでは、スパース・ファイルでの空き部分にはストレージが割り当てられません。可能であれば、ファイルのエクステント割当てマップは、ファイルのinodeに格納されます。大きな割当てマップは、割当てグループによって維持されるデータ構造に格納されます。
-
reflinkおよび重複排除機能が含まれています。これにより、次の利点があります。
-
各コピーに専用のinodeがあるため、各コピーは異なるファイル・メタデータ(権限など)を保持できます。データ・エクステントのみが共有されます。
-
このファイル・システムでは、アプリケーションで特別な操作が必要になることなく、あらゆる書込みでコピーオンライトが発生します。
-
あるエクステントを変更しても、その他すべてのエクステントは共有状態を維持できます。そのようにして、エクステント単位で領域が節約されます。ただし、ハードリンク・ファイルへの変更には、ファイル全体の新しいコピーが必要になる点に注意してください。
-
-
遅延割当てが実装されます
断片化を減らしパフォーマンスを高めるために、XFSでは、バッファ・キャッシュにおいてデータ用のファイル・システム・ブロックが予約され、OSでそのデータがディスクにフラッシュされるときにそのブロックが割り当てられます。
-
XFSでは、ファイルの拡張属性が認識されます。
各属性の値のサイズは最大で64 KBにでき、各属性をルート領域またはユーザー名領域に割り当てることができます。
-
XFSにおける直接I/Oでは、高スループットの非キャッシュI/Oが実装されます。
XFSでは、デバイスのすべてのI/O帯域幅を使用して、アプリケーションとストレージ・デバイスの間でDMAが直接実行されます。
-
ボリューム・マネージャ、ハードウェア・サブシステムおよびデータベースで提供されるスナップショット機能が含まれています。
XFSファイル・システムのI/Oを一時停止し再開するには、xfs_freezeコマンドを使用します。XFSファイル・システムの凍結と凍結解除を参照してください。
-
XFSでは、ブロックおよびinodeの使用量に関するユーザー、グループおよびプロジェクト・ディスク割当てが可能になり、それはファイル・システムのマウント時に初期化されます。プロジェクト・ディスク割当てを使用すると、XFSファイル・システム内の個々のディレクトリ階層に、どのユーザーまたはグループにそれに対する書き込みアクセスがあるかに関係なく、制限を設定できます。
基礎となるソフトウェア・ベースまたはハードウェア・ベースのストライプ・アレイ上に作成したXFSファイル・システムのスループットを最大限に高めるには、mkfs.xfsコマンドの-dオプションにsu引数とsw引数を使用して、各ストライプ・ユニットのサイズとストライプ当たりのユニット数を指定します。XFSは、その情報を使用して、ストレージに対して適切なようにデータ、inodeおよびジャーナルを調整します。lvm
ボリューム、md
ボリュームおよび一部のハードウェアRAID構成では、XFSで、最適なストライプ・パラメータを自動的に選択できます。
アクティブなXFSファイル・システムで個々のファイルをデフラグするには、xfs_fsrコマンドを使用します。XFSファイル・システムのデフラグを参照してください。
XFSファイル・システムをサイズ調整するには、xfs_growfsコマンドを使用します。XFSファイル・システムのサイズ調整を参照してください。
稼働中のXFSファイル・システムをバックアップおよびリストアするには、xfsdumpおよびxfsrestoreコマンドを使用できます。XFSファイル・システムのバックアップとリストアを参照してください。
XFSの詳細は、https://xfs.wiki.kernel.org/を参照してください。
ローカル・ファイル・システム管理の概要は、「ファイル・システム管理について」を参照してください。
XFSパッケージのインストール
ノート:
Oracle Linux yumサーバーからXFSパッケージを入手することもできます。
-
ULNにログインし、システムで
ol8_x86_64_baseos_latest
チャネルをサブスクライブします。 -
システム上で、
xfsprogs
パッケージとxfsdump
パッケージをインストールします。sudo dnf install xfsprogs xfsdump
-
XFS開発およびQAパッケージが必要な場合は、システムで
ol8_x86_64_optional
チャネルをサブスクライブし、それらをインストールします。sudo dnf install xfsprogs-devel xfsprogs-qa-devel
XFSファイル・システムの作成
mkfs.xfsコマンドを使用して、XFSファイル・システムを作成できます。次に例を示します。
sudo mkfs.xfs /dev/vg0/lv0
前のコマンドを実行すると、次の出力が生成されます。
meta-data=/dev/vg0/lv0 isize=256 agcount=32, agsize=8473312 blks = sectsz=512 attr=2, projid32bit=0 data = bsize=4096 blocks=271145984, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal log bsize=4096 blocks=32768, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
次の例は、ストライプユニット・サイズが32KB、ストライプ当たり6ユニットのXFSファイル・システムを作成する方法を示しています。そのためには、引数のsuおよびswを-dオプションに指定します。
sudo mkfs.xfs -d su=32k,sw=6 /dev/vg0/lv1
詳細は、mkfs.xfs(8)
のマニュアル・ページを参照してください。
XFSファイル・システムの変更
ノート:
マウントされているXFSファイル・システムは変更できません。
xfs_adminコマンドを使用すると、マウントされていないXFSファイル・システムを変更できます。たとえば、次のような操作ができます。
-
レイジー・カウンタの有効化または無効化
-
ファイル・システムのUUIDの変更
-
ファイル・システムのラベルの変更
マウントされていないXFSファイル・システムの既存のラベルを表示し、新しいラベルを適用するには、次のコマンドを使用します。
sudo xfs_admin -l /dev/sdb
label = ""
sudo xfs_admin -L "VideoRecords" /dev/sdb
writing all SBs new label = "VideoRecords"
ノート:
ラベルの最大長は12文字です。
既存のUUIDを表示してから、新しいUUIDを生成するには、次のコマンドを使用します。
sudo xfs_admin -u /dev/sdb sudo xfs_admin -U generate /dev/sdb
UUIDを完全にクリアする場合は、次のコマンドを使用します。
sudo xfs_admin -U nil /dev/sdb
Clearing log and setting UUID writing all SBs new UUID = 00000000-0000-0000-0000-000000000000
レイジー・カウンタを無効にしてから、再度有効にするには、次のコマンドを使用します。
sudo xfs_admin -c 0 /dev/sdb sudo xfs_admin -c 1 /dev/sdb
詳細は、mkfs_admin(8)
マニュアル・ページを参照してください。
XFSファイル・システムのサイズ調整
ノート:
マウントされていないXFSファイル・システムはサイズ調整できません。また、XFSファイル・システムを縮小するためのコマンドはありません。
xfs_growfsコマンドを使用すると、マウントされているXFSファイル・システムのサイズを大きくできます(基礎となるデバイスにその変更に対応する領域がある場合)。このコマンドは、基礎となるデバイスのレイアウトやサイズには影響しません。必要な場合は、基礎ボリューム・マネージャを使用して、使用可能な物理ストレージを増やします。たとえば、LVMボリューム・グループに使用可能なストレージを大きくするにはvgextendコマンドを使用でき、ファイル・システムが格納されている論理ボリュームのサイズを大きくするにはlvextendを使用できます。
partedコマンドを使用して、XFSファイル・システムが含まれているパーティションのサイズを変更することはできません。かわりに、サイズを大きくしてパーティションを再作成し、そのコンテンツをバックアップ(元のパーティションを削除してある場合)または元のパーティションのコンテンツ(ディスク領域を解放するためにそれを削除していない場合)からリストアする必要があります。
たとえば、ブロック・サイズを4KBと仮定して、/myxfs1
のサイズを4TBに増やします。次に例を示します。
sudo xfs_growfs -D 1073741824 /myxfs1
ファイル・システムのサイズを、基礎となるデバイスでサポートされる最大サイズまで増加するには、-dオプションを指定します。
sudo xfs_growfs -d /myxfs1
詳細は、xfs_growfs(8)
のマニュアル・ページを参照してください。
reflink機能を使用したXFSファイル・システムの作成
Oracle Linux 8では、Reflink機能を使用することでXFSファイル・システムを作成できます。この機能を使用すると、ディスク領域の消費が減り、ファイルがより高速にコピーされるようになります。たとえば、ディレクトリ・ツリーをコピーするためにreflink対応ツールを使用した場合は、コピー内のファイルと元のファイルとでディスク領域が共有されます。ファイル・システムの通常のコピーを作成するよりも、ディレクトリ・ツリーのreflinkコピーの作成にかかる時間は大幅に短縮されます。また、追加のストレージが使用されることがありません。
なお、Oracle Linux 8では、mkfs.xfsコマンドを使用してフォーマットするときは、デフォルトでreflink機能が有効になります。
XFSのreflinkサポートの使用を開始するには、次の手順を実行します。
-
次のように、ファイル・システムをフォーマットします。
sudo mkfs.xfs /dev/sda1
meta-data=/dev/sda1 isize=512 agcount=4, agsize=6553600 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=26214400, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=12800, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
ノート:
mkfsコマンドの出力で
reflink=1
という語句が表示されない場合は、システムが古すぎるためその機能をXFSで使用できません。 -
ファイル・システムをマウントします。
sudo mount /dev/sda1 /storage
これで、このファイル・システムは新しいファイルを取り込む準備ができました。
reflink機能の使用に関する詳細な実例は、https://blogs.oracle.com/linux/xfs-data-block-sharing-reflinkを参照してください。
XFSファイル・システムの停止と停止解除
XFSファイル・システムのハードウェア・ベースのスナップショットをとる必要がある場合、書込み操作を一時的に停止できます。
ノート:
lvcreateコマンドを使用してLVMスナップショットを作成する場合は、書込み操作を明示的に一時停止する必要はありません。
XFSファイル・システムを凍結するには、xfs_freezeコマンドに-fオプションを使用します。
sudo xfs_freeze -f /myxfs
XFSファイル・システムを凍結解除するには、xfs_freezeコマンドに-uオプションを使用します。
sudo xfs_freeze -u /myxfs
ノート:
xfs_freezeコマンドは、btrfs
、ext3
およびext4
ファイル・システムでも使用できます。
詳細は、xfs_freeze(8)
のマニュアル・ページを参照してください。
XFSファイル・システムでの割当ての管理
XFSファイル・システム上の割当てを管理するには、xfs_quotaツールを使用します。このツールは、XFSでの割当て実装に対応しています。edquotaなどのその他の割当てツールでXFS割当てを編集できる場合がありますが、xfs_quotaをお薦めします。
詳細は、xfs_quota(8)
のマニュアル・ページを参照してください。
ブロック使用状況情報の表示
すべてのユーザー用のmyxfs
ファイル・システムのブロック使用量制限と現在の使用量を表示するには、xfs_quotaコマンドを使用します。
xfs_quota -x -c 'report -h' /myxfs
User quota on /myxfs (/dev/vg0/lv0) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 0 0 0 00 [------] guest 0 200M 250M 00 [------]
次の形式のコマンドでは、df -hコマンドの方法でブロックとinodeの未使用数と使用数が表示されます。
sudo xfs_quota -c 'df -h' /myxfs
Filesystem Size Used Avail Use% Pathname /dev/vg0/lv0 200.0G 32.2M 20.0G 1% /myxfs
sudo xfs_quota -c 'df -ih' /myxfs
Filesystem Inodes Used Free Use% Pathname /dev/vg0/lv0 21.0m 4 21.0m 1% /myxfs
割当て制限の設定
-xオプションを指定してエキスパート・モードに入ると、limitなどのサブコマンドを使用して、個別ユーザーごとのblockおよびinode使用量の弱い制限および強い制限を設定できます。次に例を示します。
sudo xfs_quota -x -c 'limit bsoft=200m bhard=250m isoft=200 ihard=250 guest' /myxfs
このコマンドを使用するには、ユーザー割当てを有効にし、ファイル・システムをマウントしている必要があります。
グループ割当てを有効にしてマウントしたXFSファイル・システム上でグループに対して制限を設定するには、limitに-gオプションを指定します。
sudo xfs_quota -x -c 'limit -g bsoft=5g bhard=6g devgrp' /myxfs
プロジェクト割当て制限の設定
次の手順では、pquota
オプションを使用してファイル・システムをすでにマウントし、/etc/projects
にプロジェクトIDを作成していることを前提としています。プロジェクト割当ての設定を参照してください。
-
xfs_quotaのprojectサブコマンドを使用して、プロジェクトのXFSファイル・システムで管理対象ツリーを定義します。
sudo xfs_quota -x -c ’project -s project_name’ mountpoint
たとえば、プロジェクト
testproj
の/myxfs
ファイル・システムでディレクトリ階層/myxfs/testdir
に対応する管理対象ツリーを定義するには、次の操作を行います。sudo xfs_quota -x -c ’project -s testproj’ /myxfs
-
limitサブコマンドを使用して、プロジェクトのディスク使用量に制限を設定します。
sudo xfs_quota -x -c ’limit -p arguments project_name’ mountpoint
たとえば、プロジェクト
testproj
にディスク容量10GBの強い制限を設定するには、次のコマンドを使用します。sudo xfs_quota -x -c ’limit -p bhard=10g testproj’ /myxfs
詳細は、projects(5)
、projid(5)
およびxfs_quota(8)
のマニュアル・ページを参照してください。
XFSファイル・システムのバックアップとリストア
xfsdump
パッケージには、ユーティリティのxfsdumpとxfsrestoreが含まれています。xfsdumpコマンドは、XFSファイル・システム内のファイルを調べ、バックアップが必要なファイルを特定し、それらをストレージ・メディアにコピーします。xfsdumpコマンドを使用して作成するバックアップは、エンディアン・アーキテクチャが異なるシステム間でポータブルです。xfsrestoreコマンドは、XFSファイル・システムの完全バックアップまたは増分バックアップをリストアします。バックアップからは、個別ファイルやディレクトリ階層をリストアすることもできます。
ノート:
LVMスナップショットはボリュームのスパース・クローンをすぐに作成しますが、xfsdumpはそれと異なり、時間をかけてファイル・システム・データのコピーを作成します。
xfsdumpコマンドを使用して、XFSファイル・システムのバックアップをテープ・ドライブなどのデバイスや、様々なファイル・システム上のバックアップ・ファイルに作成できます。バックアップは、同じデバイスに書き込まれる複数の物理メディアにまたがってもかまいません。また、同じメディアに複数のバックアップを書き込むこともできます。ファイルには、単一のバックアップのみを書き込むことができます。このコマンドでは、物理メディアにある既存のXFSバックアップは上書きされません。既存のバックアップを上書きする必要がある場合は、適切なコマンドを使用して物理メディアを消去する必要があります。
たとえば、次のコマンドは、XFSファイル・システム(/myxfs
)のレベル0(ベース)バックアップをデバイス/dev/st0
に書き込み、そのバックアップにセッション・ラベルを割り当てます。
sudo xfsdump -l 0 -L "Backup level 0 of /myxfs `date`" -f /dev/st0 /myxfs
同じコマンドを使用して、既存のバックアップに関連する増分ダンプを作成できます。次に例を示します。
sudo xfsdump -l level -L "Backup level level of /myxfs `date`" -f /dev/st0 /myxfs
レベル1バックアップではレベル0バックアップより後のファイル・システム変更のみが記録され、レベル2バックアップでは最新のレベル1バックアップより後の変更のみが記録され、以後同様にレベル9まで続きます。
[Ctrl]と[C]
を押すことでバックアップを中断し、xfsdumpに-Jオプション(ダンプ・インベントリの抑制)を指定しなかった場合は、-Rオプションを指定することで、後でダンプを再開できます。次に例を示します。
sudo xfsdump -R -l 1 -L "Backup level 1 of /myxfs `date`" -f /dev/st0 /myxfs
前述の例では、以前中断したセッションのバックアップ・セッション・ラベルが上書きされます。
xfsrestoreコマンドを使用して、XFSファイル・システムで作成したバックアップに関する情報の確認や、バックアップからのデータのリストアを実行します。
xfsrestore -Iコマンドを使用すると、セッションIDやセッション・ラベルなど、バックアップに関してわかっている情報が表示されます。バックアップ・メディアから特定のバックアップ・セッションをリストアするには、セッションIDまたはセッション・ラベルを指定します。
たとえば、セッションIDを指定してレベル0バックアップからXFSファイル・システムをリストアするには、次のコマンドを使用します。
sudo xfsrestore -f /dev/st0 -S c76b3156-c37c-5b6e-7564-a0963ff8ca8f /myxfs
-rオプションを指定して、レベル0バックアップからと、そのバックアップに基づいている上位のバックアップから、すべてのデータ累積的にリカバリします。
sudo xfsrestore -r -f /dev/st0 -v silent /myxfs
このコマンドは、レベル0のバックアップに基づいてアーカイブ内のバックアップを検索し、各バックアップを順番にリストアするかどうかを選択するプロンプトを表示します。選択したバックアップのリストア後に、このコマンドは終了します。なお、このコマンドは複数回実行する必要があります。最初にレベル0バックアップのリストアを選択し、その後、ファイル・システムのデータをリストアするために必要な最新のバックアップを含め、より高いレベルのバックアップを選択します。
ノート:
XFSファイル・システムの累積リストアが完了したら、xfsrestoreによってリストア先のディレクトリに作成された、housekeeping
ディレクトリを削除します。
次の例に示すように、選択したファイルやサブディレクトリのコンテンツをバックアップ・メディアからリカバリできます。コマンドを実行すると、指定したセッション・ラベルが付いたバックアップから、/myxfs/profile/examples
のコンテンツが/tmp/profile/examples
にリカバリされます。
sudo xfsrestore -f /dev/sr0 -L "Backup level 0 of /myxfs Sat Mar 2 14:47:59 GMT 2013" \ -s profile/examples /usr/tmp
別の方法として、-iオプションを指定すると、インタラクティブにバックアップを参照できます。次に例を示します。
sudo xfsrestore -f /dev/sr0 -i
前述の形式でコマンドを使用すると、ファイル・システム感覚でバックアップを参照できます。ディレクトリの変更、ファイルの一覧表示、ファイルの追加、ファイルの削除、バックアップからのファイル抽出が可能です。
あるXFSファイル・システムの内容全体を別のファイル・システムにコピーするには、-Jオプションを使用してxfsdumpコマンドとxfsrestoreコマンドを組み合せて、コマンドが実行する通常のダンプ・インベントリ・ハウスキーピングを抑制します。次に例を示します。
sudo xfsdump -J - /myxfs | xfsrestore -J - /myxfsclone
詳細は、xfsdump(8)
とxfsrestore(8)
のマニュアル・ページを参照してください。
XFSファイル・システムのチェックと修復
ノート:
Oracle Linux Premier Supportアカウントがあり、XFSファイル・システムのマウントに関する問題が発生している場合は、Oracleサポートに/var/log/messages
ファイルのコピーを送信して支援を受けてください。
XFSファイル・システムをマウントできない場合は、xfs_repair -nコマンドを使用するとその整合性を確認できます。通常このコマンドは、問題があると思われる、マウントされていないファイル・システムのデバイス・ファイルに対してのみ実行します。xfs_repair -nコマンドでは、ファイル・システムで修復操作を実施する必要がある場合にそのファイル・システムに加えられる変更が、出力で示されます。ただし、ファイル・システムが直接変更されることはありません。
ファイル・システムのマウントが可能なときに適切なバックアップがない場合は、xfsdumpコマンドを使用すると、既存のファイル・システム・データをバックアップできます。ただし、ファイル・システムのメタデータが破損した場合、このコマンドは失敗することがあります。
xfs_repairコマンドを使用すると、そのデバイス・ファイルで指定されているXFSファイル・システムを修復できます。コマンドはジャーナル・ログをリプレイして、ファイル・システムが正常にアンマウントされなかったことが原因の可能性がある不整合性を修正します。XFSファイル・システムをマウントするたびにジャーナルがリプレイされるため、ファイル・システムに矛盾がある場合を除き、通常は、次のコマンドを使用する必要はありません。
sudo xfs_repair device
ジャーナル・ログが破損した場合、xfs_repairに-Lオプションを指定することによって、ログをリセットできます。
注意:
ログをリセットすると、ファイル・システムが不整合状態のままになり、データの損失と破損を招くことがあります。xfs_dbコマンドの使用によるXFSファイル・システムのデバッグと修復に慣れていない場合は、かわりに、ファイル・システムを再作成し、そのコンテンツをバックアップからリストアしてください。
ファイル・システムをマウントできない場合や、適切なバックアップがない場合は、xfs_repairコマンドの実行が唯一の現実的なオプションとなります(xfs_dbの使用に慣れている場合を除く)。
xfs_dbでは、XFSファイル・システムを手動でデバッグおよび修復するための内部コマンド・セットが提供されます。これらのコマンドでは、ファイル・システムのスキャン、およびそのデータ構造の参照と表示が可能です。-xオプションを指定してエキスパート・モードを有効にすると、データ構造を変更できます。
sudo xfs_db [-x] device
詳細は、xfs_db(8)
およびxfs_repair(8)
のマニュアル・ページを参照し、xfs_db内でhelpコマンドを実行してください。
XFSファイル・システムのデフラグ
xfs_fsrコマンドを使用して、XFSファイル・システム全体、またはXFSファイル・システム内の個々のファイルをデフラグできます。XFSはエクステント・ベースのファイル・システムであるため、ファイル・システム全体のデフラグは不要でありお薦めしません。
個々のファイルをデフラグするには、次のコマンドを使用して、ファイル名をxfs_fsrの引数として指定します。
sudo xfs_fsr pathname
オプションを指定せずにxfs_fsrコマンドを実行すると、/etc/mtab
にリストされている、マウント済の書込み可能なすべてのXFSファイル・システムがデフラグされます。このコマンドでは、2時間の間、各ファイル・システムが順番に処理され、最も多くのエクステントがある上位10パーセントのファイルがデフラグされます。2時間経過すると、コマンドの進行状況が/var/tmp/.fsrlast_xfs
ファイルに記録されます。コマンドを再度実行すると、その時点からプロセスが再開されます。
詳細は、xfs_fsr(8)
のマニュアル・ページを参照してください。