GNU/Linux >> Linux の 問題 >  >> Linux

BTRFS ファイル システムを作成してクエリを実行する方法

基本

btrfs ファイル システムは、大規模なストレージ サブシステムの拡大するスケーラビリティ要件を満たすように設計されています。 btrfs ファイル システムはその実装で B ツリーを使用するため、その名前はこれらのデータ構造の名前に由来しますが、実際の頭字語ではありません。 B ツリーは、ツリーがどれほど大きくなっても、ファイル システムとデータベースが大量のデータ ブロックに効率的にアクセスして更新できるようにするツリー状のデータ構造です。

btrfs ファイル システムは、次の重要な機能を提供します:

  • コピー オン ライト機能により、読み取り可能および書き込み可能なスナップショットの両方を作成し、ext3 または ext4 ファイル システムから変換した後でも、ファイル システムを以前の状態にロールバックできます。
  • チェックサム機能により、データの整合性が保証されます
  • 透過的な圧縮により、ディスク容量が節約されます。
  • 透過的な最適化により、パフォーマンスが向上します。
  • 統合された論理ボリューム管理により、RAID 0、RAID 1、または RAID 10 構成を実装し、ストレージ容量を動的に追加および削除できます。

CentOS/RHEL 6 Update 3 以降では、ブート ISO を使用して btrfs ルート ファイル システムを構成できます。 CentOS/RHEL 6 Update 3 より前では、インストール中に btrfs ルート ファイル システムを作成できませんでした。

UEK R3 では、btrfs は次の追加機能をサポートしています:

  • 送受信機能を使用すると、同じサブボリュームのスナップショットまたは親サブボリュームと子サブボリュームのいずれかである 2 つのサブボリューム間の違いを記録できます。
  • クォータ グループ (qgroups) を使用すると、ボリュームとそのサブボリュームに異なるサイズ制限を設定できます。
  • マウントを解除したり、ファイル システムへのアクセスを中断したりすることなく、デバイスを交換できます。

このドキュメントは、CentOS/RHEL システム上の単一のデバイスに BTRFS ファイル システムを作成する方法を説明するものです。次の手順は、CentOS/RHEL 7 を実行し、5GB サイズの仮想ディスクを備えた仮想マシンで実行されました。

BTRFS ファイル システムを作成する

btrfs ファイルシステムを構成する目的のディスクを追加し、システムがディスクを認識していることを確認します:

# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
├─xvda1 202:1 0 1G 0 part /boot
└─xvda2 202:2 0 19G 0 part
├─ol-root 251:0 0 17G 0 lvm /
└─ol-swap 251:1 0 2G 0 lvm [SWAP]
xvdb 202:16 0 5G 0 disk

上記の出力では、ディスクは「xvdb」になります。デバイスは、単純なディスク パーティション、ループバック デバイス (つまり、メモリ内のディスク イメージ)、マルチパス デバイス、またはハードウェアに RAID を実装する LUN のいずれかです。

1. システムにまだインストールされていない場合は、btrfs-progs パッケージをインストールします。

# yum install btrfs-progs

2. mkfs.brtfs コマンドを使用して Btrfs ファイル システムを作成します。

# mkfs.btrfs /dev/xvdb
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.

Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication.
Label: (null)
UUID: c7d1687d-fe91-4837-b14a-4870466d1a3f
Node size: 16384
Sector size: 4096
Filesystem size: 5.00GiB
Block group profiles:
Data: single 8.00MiB
Metadata: single 8.00MiB
System: single 4.00MiB
SSD detected: yes
Incompat features: extref
Number of devices: 1
Devices:
ID SIZE PATH
1 5.00GiB /dev/xvdb

3. btrfs filesystem show コマンドを使用して、ファイル システムがデバイス上に作成されたことを確認します。

# btrfs filesystem show
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

上記のコマンドは、システム内のすべての btrfs ファイル システムを表示します

または

# btrfs filesystem show /dev/xvdb
Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f
Total devices 1 FS bytes used 112.00KiB
devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb

上記のコマンドは、必要な指定デバイス (/dev/xvdb) の btrfs ファイル システムに関する情報のみを表示します。

4. 対応するファイル システムをマウントします。

# mount /dev/xvdb /btrfsTest

5. btrfs ファイル システムがマウントされていることを確認します。

# mount | grep btrfs
/dev/xvdb on /btrfsTest type btrfs (rw,relatime,seclabel,ssd,space_cache)

BTRFS ファイル システムのクエリ

btrfs filesystem df コマンドを実行して、btrfs ファイル システムによって使用されるスペースに関するより正確な情報を表示します。

# btrfs filesystem df /btrfsTest/
Data, single: total=8.00MiB, used=64.00KiB
System, single: total=4.00MiB, used=16.00KiB
Metadata, single: total=264.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

通常の df コマンドを使用してファイル システムをクエリできますが、表示される情報は正確ではない可能性があります。

# df -h /btrfsTest/
Filesystem Size Used Avail Use% Mounted on
/dev/xvdb 5.0G 17M 4.8G 1% /btrfsTest

詳細とオプションについては、mkfs.btrfs のマニュアル ページを参照してください:

# man mkfs.btrfs


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

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

  3. btrfs を使用して ssd ディスクにスワップファイルを作成する方法

  1. Btrfs ファイル システムを作成および管理するための「btrfs」コマンドの例

  2. Btrfs ファイル システムを作成してマウントする方法 (例で説明)

  3. Linux でファイルシステムを作成してマウントする方法

  1. Ansibleでファイルを作成する方法

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

  3. Linux でファイルシステムをマウントおよびアンマウントする方法