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