OpenStackでCephを使う場合は、Glance/CinderどちらもRBDイメージとして利用します。
が、せっかくなので普通にマウントもしてみて、馴染みやすくしたい気がします。
リンク
参考ページはほぼここのみです。Ceph全体を普通にマウント
ceph-fs-common パッケージに /sbin/mount.ceph が入っているので、それがあれば mount コマンドですんなりマウントできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# ディレクトリ作って mkdir /mnt/ceph # 鍵をローカルに保存して ceph-authtool --print-key /etc/ceph/keyring.admin | tee /etc/ceph/secret.admin # monに対して、ユーザ名と鍵を使ってマウント # - mon のLISTEN は 0.0.0.0 にできなそうなので、localhost指定ができないっぽい mount -t ceph 192.168.0.13:6789:/ /mnt/ceph -o name=admin,secretfile=/etc/ceph/secret.admin,noatime # 確認 df -Th date >> /mnt/ceph/test.txt # お掃除 umount /mnt/ceph |
Fuseとしてマウント
ceph-fuse パッケージに入っている ceph-fuse を使います。
1 2 3 4 5 |
ceph-fuse -m 192.168.0.13:6789 /mnt/ceph df -Th cat /mnt/ceph/test.txt umount /mnt/ceph |
fstabでマウント
/etc/fstab に以下のように記述することでマウントできます。…が、普通はOS起動時には、Cephが起動するより先にこのfstabマウントが走るため、
<Control-D>とかで起動が止まってしまうと思われます。なので、自動起動したい場合は他のサーバの mon を使うか、rc.local などでceph起動後にマウントすることになります。
/etc/fstab
1 |
192.168.0.13:6789:/ /mnt/ceph ceph name=admin,secretfile=/etc/ceph/secret.admin,noatime 0 2 |
動作確認。
1 2 3 4 |
mount /mnt/ceph df -Th cat /mnt/ceph/test.txt umount /mnt/ceph |
RBD pool imageをマウント
RBDイメージは別次元にあるので、上記のように普通にマウントしても中身を見ることができません。マップして /dev/ に認識させることで利用できるようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# pool作成 rados mkpool test-pool rados lspools # image作成 # - sizeの単位はMB rbd --pool test-pool create --size 1024 test-image rbd --pool test-pool ls -l # デバイスマッピング rbd map test-image --pool test-pool rbd showmapped ls -l /dev/rbd/test-pool/test-image /dev/rbd0 # フォーマット&マウント # - xfs より btrfs の方が速いらしい! mkfs.btrfs /dev/rbd0 mount /dev/rbd0 /mnt/ceph df -Th date >> /mnt/ceph/test.txt # お掃除 umount /mnt/ceph rbd unmap /dev/rbd/test-pool/test-image ls -l /dev/rbd/test-pool/test-image /dev/rbd0 rbd --pool test-pool rm test-image rbd --pool test-pool ls rados rmpool test-pool test-pool --yes-i-really-really-mean-it |
システムが勝手にRBDイメージを作って利用している状態だと、なんとなく見えないというか感覚が掴みづらいですが、マウントしてみることでわかりやすくなってCephに愛着がわくかもしれません。
そして私は愛着が湧いてきたので、まだCephについて書いていく予定でございます。