Ceph/ブロックデバイスの利用

ブロックデバイスの利用

Ceph上でブロックデバイスを作成し、任意のサーバーからHDDのように扱うことができます。
ここではこの任意のサーバーのことをcephクライアントと呼んで説明します。

この機能を使うにはkernelにrbdのモジュールが含まれている必要があり、現時点では標準状態のCentOSには含まれていません。
ここではCentOS7でrbdモジュールをインストールするための手順から書きますが、CentOS6ではceph-kmod-rpmが対応していないためこの手順は適用できないことに注意して下さい。
CentOS7.1からはrbdのモジュールがkernelに組み込まれたようなので、CentOS7.1にアップデートしましょう。やったね!
CentOS7.0以前の物については知りません!

インストール

cephクライアント上にceph-commonをインストールします。
# yum install ceph-common

ブロックデバイスのマウント

実際にブロックデバイスを作成してマウントする手順です。

まず管理ノード上から鍵をコピーします。
# ceph-deploy admin [cephクライアントのマシン名か、IPアドレス]

cephクライアントからブロックデバイスの作成を行います。
サイズの単位はメガです。
# rbd create [任意の識別名] --size 4096

作成したデバイスをcephクライアントにマッピングします。
# rbd map [作成した識別名] --pool rbd

showmappedで一応デバイス名を確認します。
# rbd shomapped
id pool image            snap device
0  rbd  [作成した識別名] -    /dev/rbd0
ここでは/dev/rbd0のようです。

ブロックデバイスにファイルシステムを作成します。
# mkfs.ext4 /dev/rbd0

マウントします。
# mount /dev/rbd0

起動時に自動的にマウントする

cephクライアントの/etc/ceph/rbdmapを編集し、以下の行を追加します。
rbd/[作成した識別名]

fstabを編集し、以下の行を追加します。
nofailオプションを忘れないようにしましょう。
/dev/rbd0 [マウントポイント] ext4 defaults,nofail 1 1

rbdmapが自動実行されるようにします。
# chkconfig /etc/init.d/rbdmap on
# systemctl daemon-reload

ついでにスクリプトにエラーが出るので/etc/rc.d/init.d/rbdmapに以下の行を追加しておきます。
. /etc/rc.d/init.d/functions
. /lib/lsb/init-functionsという行があるのでそのへんに追加しておけば良いでしょう。
以上



参考サイト

  • 最終更新:2016-01-22 10:52:13

このWIKIを編集するにはパスワード入力が必要です

認証パスワード