第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 プールが作成され、有効になっている。

手順

  1. Block ドロップダウンメニューから、イメージ を選択します。
  2. Create をクリックします。
  3. Create RBD ウィンドウでイメージ名を入力し、RBD 対応プールを選択し、サポート対象の機能を選択します。

    Create RBD ウィンドウ
  4. Create RBD をクリックします。

検証

  • イメージが正常に作成されたことを示す通知が表示されます。

関連情報

8.1.2. コマンドラインを使用した Linux への Ceph ブロックデバイスのマッピングとマウント

Linux rbd カーネルモジュールを使用して、Red Hat Enterprise Linux クライアントから Ceph ブロックデバイスをマッピングできます。マッピング後には、パーティション、フォーマット、およびマウントができるため、ファイルに書き込みができます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ダッシュボードを使用して Linux カーネルモジュールクライアントの Ceph ブロックデバイスが作成している。
  • Red Hat Enterprise Linux クライアント。

手順

  1. 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
  2. ceph-common RPM パッケージをインストールします。

    [root@rbd-client ~]# dnf install ceph-common
  3. 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 ~]#

  4. キーファイルを 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 ~]#

  5. イメージをマップします。

    構文

    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 ~]#

  6. ブロックデバイスにパーティションテーブルを作成します。

    構文

    parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos

    [root@rbd-client ~]# parted /dev/rbd0 mklabel msdos
    Information: You may need to update /etc/fstab.

  7. 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.

  8. パーティションをフォーマットします。

    構文

    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

  9. 新しいファイルシステムをマウントするディレクトリーを作成します。

    構文

    mkdir PATH_TO_DIRECTORY

    [root@rbd-client ~]# mkdir /mnt/ceph

  10. ファイルシステムをマウントします。

    構文

    mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY

    [root@rbd-client ~]# mount /dev/rbd0p1 /mnt/ceph/

  11. ファイルシステムがマウントされ、正しいサイズを表示していることを確認します。

    構文

    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

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.