第8章 rbd カーネルモジュール
ストレージ管理者は、rbd
カーネルモジュールを使用して Ceph ブロックデバイスにアクセスできます。ブロックデバイスをマップして、マッピングを解除し、これらのマッピングを表示できます。また、rbd
カーネルモジュールを使用してイメージのリストを取得することもできます。
Red Hat Enterprise Linux (RHEL) 以外の Linux ディストリビューションのカーネルクライアントは使用できますが、サポートされていません。これらのカーネルクライアントの使用時に問題がストレージクラスターにある場合には、Red Hat は対応しますが、根本的な原因がカーネルクライアント側にある場合は、ソフトウェアベンダーが問題に対処する必要があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
8.1. Ceph ブロックデバイスの作成および Linux カーネルモジュールクライアントからのデバイスの使用
ストレージ管理者は、Red Hat Ceph Storage ダッシュボードで Linux カーネルモジュールクライアントの Ceph ブロックデバイスを作成できます。システム管理者は、コマンドラインを使用して Linux クライアントでそのブロックデバイスをマップし、パーティション作成、フォーマットおよびマウントが可能です。その後、そのファイルの読み取りと書き込みが可能になります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Red Hat Enterprise Linux クライアント。
8.1.1. ダッシュボードを使用した Linux カーネルモジュールクライアントの Ceph ブロックデバイスの作成
ダッシュボードの Web インターフェイスを使用して、サポート対象機能だけを有効にし、Linux カーネルモジュールクライアント専用の Ceph ブロックデバイスを作成できます。
カーネルモジュールクライアントは、ディープフラット化、レイヤー、排他的ロック、オブジェクトマップ、Fast diff などの機能をサポートします。
オブジェクトマップ、Fast diff、およびディープフラット化機能には、Red Hat Enterprise Linux 8.2 以降が必要です。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- レプリケートされた RBD プールが作成され、有効になっている。
手順
- Block ドロップダウンメニューから、イメージ を選択します。
- Create をクリックします。
Create RBD ウィンドウでイメージ名を入力し、RBD 対応プールを選択し、サポート対象の機能を選択します。
- Create RBD をクリックします。
検証
- イメージが正常に作成されたことを示す通知が表示されます。
関連情報
- 詳細は、Red Hat Ceph Storage ブロックデバイスガイド の コマンドラインを使用した Linux への Ceph ブロックデバイスのマッピングとマウント を参照してください。
- 詳細は、Red Hat Ceph Storage ダッシュボードガイド を参照してください。
8.1.2. コマンドラインを使用した Linux への Ceph ブロックデバイスのマッピングとマウント
Linux rbd
カーネルモジュールを使用して、Red Hat Enterprise Linux クライアントから Ceph ブロックデバイスをマッピングできます。マッピング後には、パーティション、フォーマット、およびマウントができるため、ファイルに書き込みができます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ダッシュボードを使用して Linux カーネルモジュールクライアントの Ceph ブロックデバイスが作成している。
- Red Hat Enterprise Linux クライアント。
手順
Red Hat Enterprise Linux クライアントノードで、Red Hat Ceph Storage 6 Tools リポジトリーを有効にします。
[root@rbd-client ~]# subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms
ceph-common
RPM パッケージをインストールします。[root@rbd-client ~]# dnf install ceph-common
Ceph 設定ファイルを Monitor ノードからクライアントノードにコピーします。
構文
scp root@MONITOR_NODE:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
例
[root@rbd-client ~]# scp root@cluster1-node2:/etc/ceph/ceph.conf /etc/ceph/ceph.conf root@192.168.0.32's password: ceph.conf 100% 497 724.9KB/s 00:00 [root@client1 ~]#
キーファイルを Monitor ノードからクライアントノードにコピーします。
構文
scp root@MONITOR_NODE:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
例
[root@rbd-client ~]# scp root@cluster1-node2:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring root@192.168.0.32's password: ceph.client.admin.keyring 100% 151 265.0KB/s 00:00 [root@client1 ~]#
イメージをマップします。
構文
rbd map --pool POOL_NAME IMAGE_NAME --id admin
例
[root@rbd-client ~]# rbd map --pool block-device-pool image1 --id admin /dev/rbd0 [root@client1 ~]#
ブロックデバイスにパーティションテーブルを作成します。
構文
parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos
例
[root@rbd-client ~]# parted /dev/rbd0 mklabel msdos Information: You may need to update /etc/fstab.
XFS ファイルシステムのパーティションを作成します。
構文
parted /dev/MAPPED_BLOCK_DEVICE mkpart primary xfs 0% 100%
例
[root@rbd-client ~]# parted /dev/rbd0 mkpart primary xfs 0% 100% Information: You may need to update /etc/fstab.
パーティションをフォーマットします。
構文
mkfs.xfs /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER
例
[root@rbd-client ~]# mkfs.xfs /dev/rbd0p1 meta-data=/dev/rbd0p1 isize=512 agcount=16, agsize=163824 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=2621184, imaxpct=25 = sunit=16 swidth=16 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=16 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
新しいファイルシステムをマウントするディレクトリーを作成します。
構文
mkdir PATH_TO_DIRECTORY
例
[root@rbd-client ~]# mkdir /mnt/ceph
ファイルシステムをマウントします。
構文
mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY
例
[root@rbd-client ~]# mount /dev/rbd0p1 /mnt/ceph/
ファイルシステムがマウントされ、正しいサイズを表示していることを確認します。
構文
df -h PATH_TO_DIRECTORY
例
[root@rbd-client ~]# df -h /mnt/ceph/ Filesystem Size Used Avail Use% Mounted on /dev/rbd0p1 10G 105M 9.9G 2% /mnt/ceph
関連情報
- 詳細は、ダッシュボードを使用した Linux カーネルモジュールクライアントの Ceph ブロックデバイスの作成 を参照してください。
- 詳細は、Red Hat Enterprise Linux 8 のファイルシステムの管理 を参照してください。
- 詳細は、Red Hat Enterprise Linux 7 の ストレージ管理ガイド を参照してください。