3.2. Ceph ブロックデバイスの作成および Linux カーネルモジュールクライアントからのデバイスの使用

ストレージ管理者は、Red Hat Ceph Storage ダッシュボードで Linux カーネルモジュールクライアントの Ceph ブロックデバイスを作成できます。システム管理者は、コマンドラインを使用して Linux クライアントでそのブロックデバイスをマップし、パーティション作成、フォーマットおよびマウントが可能です。その後、そのファイルの読み取りと書き込みが可能になります。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • Red Hat Enterprise Linux クライアント。

3.2.1. ダッシュボードを使用した Linux カーネルモジュールクライアントの Ceph ブロックデバイスの作成

ダッシュボードの Web インターフェイスを使用して、必要な機能だけを有効にし、Linux カーネルモジュールクライアント専用の Ceph ブロックデバイスを作成できます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。

手順

  1. ダッシュボードにログインします。
  2. ナビゲーションバーで、Pools をクリックします。

    Click pools
  3. Create ボタンをクリックします。

    Click create
  4. ダイアログウィンドウで、名前を設定します。

    Set name
  5. プールタイプを Replicated (レプリケート) に設定します。

    replicated
  6. 配置グループ (PG) 番号を設定します。

    Set PG number

    PG 番号の選択には、PG calculator を使用します。不明な場合は、Red Hat テクニカルサポート にお問い合わせください。

  7. レプリケートされたサイズを設定します。

    Replicated size
  8. rbd アプリケーションを有効にします。

    Enable rbd
  9. プールの作成 をクリックします。

    Click Create pool
  10. プールが正常に作成されたことを示す通知が表示されます。

    Creation notifications
  11. Block をクリックします。

    Click Block
  12. Images をクリックします。

    Click Images
  13. Create をクリックします。

    Click Create
  14. 1 は任意のイメージ名、 2 は先ほど作成した Pool3 は任意サイズのイメージ、 4 では LayeringExclusive lock だけが有効な機能となるように設定します。

    Set image parameters
  15. CreateRBD をクリックします。

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

    Image creation notification

関連情報

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

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

前提条件

手順

  1. Red Hat Enterprise Linux クライアントノードで、Red Hat Ceph Storage 4 Tools リポジトリーを有効にします。

    Red Hat Enterprise Linux 7

    [root@client1 ~]# subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms

    Red Hat Enterprise Linux 8

    [root@client1 ~]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms

  2. ceph-common RPM パッケージをインストールします。

    Red Hat Enterprise Linux 7

    [root@client1 ~]# yum install ceph-common

    Red Hat Enterprise Linux 8

    [root@client1 ~]# dnf install ceph-common

  3. Ceph 設定ファイルを Monitor ノードからクライアントノードにコピーします。

    scp root@MONITOR_NODE:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

    [root@client1 ~]# 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

  4. キーファイルを Monitor ノードからクライアントノードにコピーします。

    scp root@MONITOR_NODE:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

    [root@client1 ~]# 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

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

    rbd map --pool POOL_NAME IMAGE_NAME --id admin

    [root@client1 ~]# rbd map --pool block-device-pool image1 --id admin
    /dev/rbd0
    [root@client1 ~]#

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

    parted /dev/MAPPED_BLOCK_DEVICE mklabel msdos

    [root@client1 ~]# 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@client1 ~]# 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@client1 ~]# 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@client1 ~]# mkdir /mnt/ceph

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

    mount /dev/MAPPED_BLOCK_DEVICE_WITH_PARTITION_NUMBER PATH_TO_DIRECTORY

    [root@client1 ~]# mount /dev/rbd0p1 /mnt/ceph/

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

    df -h PATH_TO_DIRECTORY

    [root@client1 ~]# df -h /mnt/ceph/
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/rbd0p1      10G  105M  9.9G   2% /mnt/ceph

関連情報