Ceph FSを利用する(Linux Client編)

前回の記事の続きを書こうとしたのだけど、思ったより難しそうで段階を踏む必要があったため、Linux Client編を先に書く。やりたいことは、自動的にマウントされるPVEクラスタ外のLinuxマシンからCephFSを利用することである。手順は以下のようになる。

  1. CephFSの設定を作成。
  2. CephXユーザを作成し、secret情報を生成
  3. mount
  4. (必要なら) fstabに追加

CephFSの設定を作成

Cephの公式マニュアルMount CephFS: Prerequisitesに書いてある通りなのだが、まずは、モニターノード上で設定を作成する。

tana02$ sudo ceph config generate-minimal-conf
[global]
	fsid = 1c9be8c9-074b-450b-aab0-03814db6932e
	mon_host = [v2:192.168.0.202:3300/0,v1:192.168.0.202:6789/0] [v2:192.168.0.203:3300/0,v1:192.168.0.203:6789/0] [v2:192.168.0.204:3300/0,v1:192.168.0.204:6789/0]

これをクライアント側の/etc/ceph/ceph.confとして設定する。

CephXのユーザ登録

これもモニターノード上で行う。

takeh-t@tana02:~$ sudo ceph fs authorize cephfs client.fsuser /samba_fs rw
[client.fsuser]
	key = AQDCOwx<em>&lt;中略&gt;</em>==

fsuserというのが今回作成したユーザ。その後の/samba_fsは、CephFS上のパスでここ以下をアクセス可能(rw)するというもの。この情報をクライアントの/etc/ceph/ceph.client.fsuser.keyring に格納する。

mount

cephfsへのアクセス自体はLinux Kernel内に機能があるが、mountするには、mount.ceph(8)が必要で、これはceph-commonに含まれている。

$ sudo apt install ceph-common

インストール後はマウントする。適当なマウントポイントを作った後以下のコマンドで可能になる。

$ sudo mount -t ceph fsuser@.cephfs=/samba_fs/ /mnt/cephfs

追記: この指定の仕方はどうもあまり推奨されないらしく環境によって動作しない。
以下のような書式が良い。

$ sudo mount -t ceph :/samba_fs /mnt/cephfs -o name=fsuser
takeh-t@tanan2:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 385264 1484 383780 1% /run
/dev/mmcblk1p3 11042020 306108 10153208 3% /
/dev/sda1 31315772 8229312 21470128 28% /usr
tmpfs 1926316 112428 1813888 6% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
/dev/mmcblk1p1 60479 6182 54298 11% /boot/efi
/dev/sda5 31333180 1386236 28329744 5% /var
/dev/sda7 43833684 2162736 39412108 6% /home
/dev/sda6 15640948 324976 14499640 3% /opt
tmpfs 385260 40 385220 1% /run/user/1000
fsuser@1c9be8c9-074b-450b-aab0-03814db6932e.cephfs=/samba_fs/ 5451227136 122880 5451104256 1% /mnt/cephfs

fsidが出力に含まれるのでdfコマンドはだいぶ見づらい。。。


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です