XFSファイル・システムの設定と管理
XFSファイル・システムの作成、マウントおよびサイズ変更などの一般的な管理タスクを実行する方法を理解します。
XFSファイル・システムの作成およびマウント
mkfs.xfsコマンドを使用して、パーティション、LVMボリューム、ディスクまたは同様のハードウェア・デバイスなどのブロック・デバイス上にXFSファイル・システムを作成します。
XFSファイル・システムは、mkfs.xfsコマンドを使用して作成します。コマンドのデフォルト・オプションは、ほとんどの一般的なユース・ケースに適しています。詳細は、mkfs.xfs(8)のマニュアル・ページを参照してください。
注目のXFS機能オプション
XFSファイル・システムの作成時に、いくつかの重要なオプションを設定できます。オプションについては、mkfs.xfs(8)マニュアル・ページでも詳しく説明されています。
| オプション | 説明 |
|---|---|
lazy-count
|
レイジー・カウンタは、空き領域カウンタおよびiノード・カウンタがスーパーブロック以外のファイル・システムの一部に保持されるため、メタデータ集中型のアプリケーション・ワークロードのI/Oパフォーマンスが向上します。 レイジー・カウンタはデフォルトで有効化されています。ただし、必要に応じて、mkfs.xfsコマンドに Oracle Linux 8および9では、このオプションを使用できます。 |
logdev
|
XFSジャーナルに外部ログ・デバイスを使用すると、ディスクの競合を減らし、ファイル・システムのI/Oスループットを向上させることができます。ジャーナルに適切なホスト・デバイスは、SSD(固体ドライブ)デバイスまたはバッテリ・バックアップ式ライトバック・キャッシュを持つRAIDデバイスです。XFSジャーナルのデフォルトの場所は、データと同じブロック・デバイス上です。 XFSファイル・システム作成時に、指定されたサイズの外部ジャーナルを確保するには、mkfs.xfsコマンドに |
bigtime
|
Oracle Linux 8: この機能は、RHCKおよびUEK R6では使用できないため、デフォルトでは無効になっています。この機能を使用するには、最新のUEK R7にアップグレードします。 このオプションを有効にしないと、古いXFSファイルシステムがフォーマットされることがあります。既存のファイルシステムでオプションを有効にするには、xfs_admin -O bigtime=1コマンドを使用します。詳細は、Changing XFS File System Feature Optionsを参照してください。 |
inobtcount
|
Oracle Linux 8: この機能は、RHCKおよびUEK R6では使用できないため、デフォルトでは無効になっています。この機能を使用するには、最新のUEK R7にアップグレードします。 このオプションを有効にしないと、古いXFSファイルシステムがフォーマットされることがあります。既存のファイルシステムでオプションを有効にするには、xfs_admin -O inobtcount=1コマンドを使用します。詳細は、Changing XFS File System Feature Optionsを参照してください。 |
reflink
|
詳細は、共有データ・ブロックを使用したファイルのコピーを参照してください。 |
su, sw |
ストライプユニットの場合は suオプション、ストライプ幅の場合は swオプションは、RAIDデバイスまたはストライプ化された論理ボリュームのXFSファイルシステムをフォーマットするときに指定できます。特定のデバイスジオメトリを指定する必要がある場合は、mkfs.xfsコマンドに -d su=<size>,sw=<width>オプションを指定します。ストライプ単位は、ファイル・システムのブロック・サイズの倍数として指定されます。ストライプ幅は、ストライプユニット値の乗数として表され、通常は、ストライプ化された論理ボリューム構成内のメンバー数またはRAIDデバイス内のディスク数と同じです。 |
XFSファイル・システムの機能オプションの変更
アンマウントされたデバイス上のXFSファイルシステム機能を更新または変更するには、xfs_adminコマンドを使用します。
xfs_adminコマンドは、マウント解除されたXFSファイルシステムの機能オプションを変更できます。たとえば、次の操作を実行できます:
-
遅延カウンタを有効または無効にします(Oracle Linux 8および9のみ)。
-
bigtimeやinobtcountなどの他の機能オプションを有効または無効にします。 -
ファイル・システムのUUIDの変更
-
ファイル・システムのラベルの変更
詳細は、mkfs_admin(8)マニュアル・ページを参照してください。
マウントされたXFSファイル・システムは変更できません。
XFSファイル・システムのサイズ調節
xfs_growfsコマンドを使用して、XFSファイル・システムのサイズを大きくします(基礎となるデバイスに、その変更に対応する領域がある場合)。
マウントされていないXFSファイル・システムはサイズ調整できません。また、XFSファイル・システムを縮小するためのコマンドはありません。
Logical Volume Manager (LVM)を使用している場合は、vgextendコマンドを使用して、LVMボリューム・グループで使用可能なストレージを大きくし、lvextendを使用して、ファイル・システムを含む論理ボリューム・サイズを大きくできます。
partedコマンドを使用してXFSファイル・システムが含まれているパーティション サイズは変更できません。かわりに、サイズを大きくしてパーティションを再作成します。元のパーティションを削除した場合または元のパーティションのコンテンツ(ディスク領域を解放するための削除を行わなかった場合)から、そのコンテンツをバックアップからリストアする必要があります。
ファイル・システムのサイズを、ファイル・システム・ブロックで表された指定のサイズに増やすか、デバイス上の最大使用可能領域を使用するようにサイズを増やすことができます。
XFSファイル・システムのチェックおよび修復
xfs_repairコマンドを使用して、ファイルシステムの整合性をチェックし、ファイルシステムの修復を実行します。
XFSファイル・システムをマウントできない場合は、xfs_repairコマンドを使用するとその整合性を確認し、問題を修復できます。このコマンドでは、ジャーナル・ログがリプレイされ、ファイル・システムが正常にアンマウントされなかったことが原因の可能性がある不整合が表示されます。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ファイル・システム内の個々のファイルをデフラグします。
断片化が発生するのは、ファイルが連続していない方法でディスクに格納されている場合です。断片化は、次のようないくつかの要因によって引き起こされる可能性があります。
- 小さいファイルの作成および削除の頻度:小さいファイルが頻繁に作成および削除されると、ディスク上の空き領域が多くの場所に分散します。この分散された空き領域により、新規または大きなファイルが連続しないチャンクに格納される場合があります。
- ファイルの変更と増加のレベルが高い:ファイルが変更されて増加すると、そのデータが最初に割り当てられた領域に収まらない場合があります。ファイルのデータがディスクの異なる部分に分散されるため、断片化が発生する可能性があります。
- Copy-on-Write操作: copy-on-write機能を利用する機能は、断片化の原因となる可能性があります。たとえば、ファイルが再リンクされ、その内容が変更された場合、エクステントを分割または変更して、ファイル・システムをさらに断片化できます。
断片化は、パフォーマンスに影響するため、アクセス時間が遅くなり、再リンク作成時間が長くなる可能性があります。
ファイルシステムのデフラグは、xfs_fsrコマンドを使用して管理されます。詳細は、xfs_fsr(8)のマニュアル・ページを参照してください。