GNU/Linux >> Linux の 問題 >  >> Cent OS

XFS ファイルシステムの作成方法

XFS ファイルシステムは、高性能のジャーナリング ファイルシステムです。 XFS は、RedHat Linux 7 のデフォルトのファイル システムです。XFS は、500 TB の最大ファイル システム サイズと 16 TB の最大ファイル サイズをサポートします。通常のディスク パーティションと論理ボリュームに XFS ファイル システムを作成できます。

XFS ファイル システムのデータ セクションには、ファイル システム メタデータ (inode、ディレクトリ、および間接ブロック) とユーザー ファイル データが含まれます。データ セクションは、固定サイズの仮想ストレージ領域である割り当てグループに分割されます。作成するファイルとディレクトリは、複数の割り当てグループにまたがることができます。各割り当てグループは、I/O 操作のスケーラビリティと並列処理の両方を提供するために、他の割り当てグループとは独立して独自の一連の inode と空き領域を管理します。

XFS ジャーナル (またはログ) は、ファイル システムのデータ セクションに内部的に配置することも、ディスク シークの回数を減らすために別のデバイスに外部的に配置することもできます。ジャーナルは、ファイル システムの実行中にファイル システム メタデータへの変更を保存し、それらの変更がデータ セクションに書き込まれるまで保持します。 XFS ジャーナリングは、停電やシステム クラッシュの後にファイル システムの一貫性を保証します。クラッシュ後にファイル システムをマウントすると、クラッシュ時に進行中だった操作を完了するためにジャーナルが読み取られます。

XFS ファイル システムの作成例

1.同じデバイス上に内部ログを含む XFS ファイルシステムを作成する

mkfs.xfs または mkfs –t xfs コマンドを使用して、XFS ファイル システムを作成します。次の例では、内部ログを含む XFS ファイル システムを /dev/sdc ディスクに作成します。スライドに示されているように、ファイル システムのパラメーターが出力として表示されます。

# mkfs.xfs /dev/sdc
meta-data=/dev/sdc               isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

2.別のデバイスでジャーナルを使用して XFS ファイルシステムを作成する

次の例では、XFS ファイル システムを /dev/sdb に作成しますが、ジャーナルを別のデバイス /dev/sdc に配置します。 size オプションは 10000 ブロック ジャーナルを指定します:

# mkfs.xfs -l logdev=/dev/sdc,size=10000b /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242880, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =/dev/sdc               bsize=4096   blocks=10000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

3.論理ボリュームに XFS ファイルシステムを作成

次の例では、ストライプ ユニットのサイズが 32 KB で、ストライプあたり 6 ユニットの XFS ファイル システムを論理ボリューム上に作成します。

# mkfs.xfs -d su=32k,sw=6 /dev/mapper/vg_test-test_lv 
meta-data=/dev/mapper/vg_test-test_lv isize=512    agcount=8, agsize=9592 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=76736, imaxpct=25
         =                       sunit=8      swidth=48 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=624, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

XFS は、ストライプ単位のサイズとストライプごとの単位数の情報を使用して、データ、inode、およびジャーナルをストレージに合わせて適切に配置します。 LVM および複数デバイス (MD) ボリューム、および一部のハードウェア RAID 構成では、XFS は最適なストライプ パラメータを自動的に選択できます。

4.既存のファイルシステムを XFS ファイルシステムで上書き

次の例には、mkfs.xfs コマンドの出力が含まれています。 -f オプションは、既存のファイル システム タイプを強制的に上書きします。 –L オプションは、ファイル システム ラベルを「XFS」に設定します 」。 -b size=1024 オプションは、論理ブロック サイズを 1024 バイトに設定します。

# mkfs.xfs -f -L XFS -b size=1024 /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=5242880 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=1024   blocks=20971520, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=1024   blocks=10240, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

mkfs.xfs コマンドの出力を理解する

出力は、XFS ファイル システムに最大 3 つの部分があることを示しています:

  • データ セクション
  • ログ セクション (日誌)
  • リアルタイム セクション

デフォルトの mkfs.xfs オプションを使用する場合、リアルタイム セクションは存在せず、ログ領域はデータ セクション内に含まれます。命名領域は、ファイル システム ディレクトリの設定を指定します。

以下は、mkfs.xfs コマンドの追加オプションです。

  • -b [block_size] :ファイル システムの各セクションは、特定の数のブロックに分割されます。 XFS では、ファイル システムの各セクションの論理ブロック サイズを選択できます。物理ディスク ブロックは常に 512 バイトです。論理ブロック サイズのデフォルト値は 4 KB です。これは、100 MB を超えるファイル システムの推奨ブロック サイズです。最小論理ブロックは 512 バイトであり、100 MB 未満のファイル システムおよび多数の小さなファイルを含むファイル システムに推奨されます。最大ブロック サイズは、カーネルのページ サイズです。
  • -d [data_section_options] :これらのオプションは、ファイル システムのデータ セクションの場所、サイズ、およびその他のパラメーターを指定します。ファイル システムのデータ セクションは、XFS のパフォーマンスを向上させるために割り当てグループに分割されます。より多くの割り当てグループは、ブロックと inode を割り当てるときに、より多くの並列処理を実現できることを意味します。 –d agcount=[value] オプションを使用して、割り当てグループの数を選択します。ファイル システムのサイズが 128 MB ~ 8 GB の場合、割り当てグループのデフォルト数は 8 です。または、–d agsize=[value] オプションを使用して、割り当てグループのサイズを選択することもできます。 agcount パラメーターと agsize パラメーターは相互に排他的です。割り当てグループの最小サイズは 16 MB です。最大サイズは 1 TB 弱です。十分なメモリがあり、多くの割り当てアクティビティがある場合は、割り当てグループの数をデフォルトより増やします。割り当てグループの数を多く設定しすぎないでください。特にファイル システムがほぼ満杯の場合に、ファイル システムが大量の CPU 時間を使用する可能性があるためです。
  • -n [naming_options] :これらのオプションは、ファイル システム ディレクトリ (または名前付け領域) のバージョンとサイズのパラメーターを指定します。これにより、ファイル システムの論理ブロック サイズよりも大きいファイル システム ディレクトリの論理ブロック サイズを選択できます。たとえば、小さなファイルが多数含まれるファイル システムでは、ファイル システムの論理ブロック サイズが小さく (512 バイト)、ファイル システム ディレクトリの論理ブロック サイズが大きくなる (4 KB) 場合があります。これにより、インデックス情報を格納するツリーのブロックが大きくなるため、ディレクトリ ルックアップのパフォーマンスが向上します。


Cent OS
  1. Linuxでスワップファイルを作成する方法

  2. phpinfoページを作成する方法

  3. Linux でファイル圧縮を使用して ZFS ファイルシステムを作成する方法

  1. Pleskファイルマネージャでファイルを作成する方法

  2. Linuxでスワップを作成する方法

  3. ファイルが存在しない場合にのみファイルを作成する方法は?

  1. シェルスクリプトで一時ファイルを作成するにはどうすればよいですか?

  2. ファイルを作成してファイルシステムとしてマウントする方法は?

  3. XFS ファイル システムでディスク クォータを有効にする方法