使用内核驱动程序挂载CephFs
1、在ceph-client1客户端节点上创建挂载点目录
mkdir /mnt/mycephfs
2、查看管理员秘钥
因为要挂载启用了 cephx 认证的 Ceph 文件系统,所以必须指定用户名、密钥。
cd /etc/ceph/
cat ceph.client.admin.keyring
[client.admin]
key = AQDPdgZcQXRtGBAAfAY5WZwZWdAKoTLqQwwDoA== #这个就是管理员的秘钥,等会挂载的时候用得上
caps mds = "allow *"
caps mon = "allow *"
caps osd = "allow *"
3、使用linux的mount命令挂载cephfs
mount -t ceph 10.33.1.55:6789:/ /mnt/cephfs -o name=admin,secret=AQDPdgZcQXRtGBAAfAY5WZwZWdAKoTLqQwwDoA==
4、用df -h命令查看挂载情况
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 471M 0 471M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 6.6M 477M 2% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/mapper/cl-root 8.0G 1.5G 6.5G 19% /
/dev/sda1 1014M 186M 829M 19% /boot
/dev/rbd0 10G 33M 10G 1% /mnt/ceph-vol1
tmpfs 97M 0 97M 0% /run/user/0
192.168.89.103:6789:/ 45G 436M 45G 1% /mnt/mycephfs #这个就是挂载好的cephfs
5、卸载cephfs
umount /mnt/mycephfs
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 471M 0 471M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 6.6M 477M 2% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/mapper/cl-root 8.0G 1.5G 6.5G 19% /
/dev/sda1 1014M 186M 829M 19% /boot
/dev/rbd0 10G 33M 10G 1% /mnt/ceph-vol1
tmpfs 97M 0 97M 0% /run/user/0
6、以更安全的方式挂载
用法会把密码遗留在 Bash 历史里,更安全的方法是从文件读密码
将admin的秘钥保存到文件里
echo "AQBOp0xaDyeNGBAAqbEktnUq5GFVF5arsWbesA==" > /etc/ceph/admin.secret
mount -t ceph 192.168.89.103:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 471M 0 471M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 6.6M 477M 2% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/mapper/cl-root 8.0G 1.5G 6.5G 19% /
/dev/sda1 1014M 186M 829M 19% /boot
/dev/rbd0 10G 33M 10G 1% /mnt/ceph-vol1
tmpfs 97M 0 97M 0% /run/user/0
192.168.89.103:6789:/ 45G 436M 45G 1% /mnt/mycephfs #这个就是挂载好的cephfs
通过FUSE方式挂载CephFS
如果内核版本低于2.6.34,那么可以使用ceph的FUSE客户端来进行挂载ceph文件系统
1、在客户端上安装fuse
apt install ceph-fuse
2、创建挂载点目录
mkdir /mnt/fuse_cephfs/
3、开始挂载
ceph-fuse -m 10.33.1.55:6789 /mnt/fuse_cephfs/
2018-12-17 14:43:31.374161 7f7267886f00 -1 init, newargv = 0x5581daf26fc0 newargc=11ceph-fuse[23983]: starting ceph client
ceph-fuse[23983]: starting fuse
4、查看挂载后的信息
df -h
Filesystem Size Used Avail Use% Mounted on
udev 981M 0 981M 0% /dev
tmpfs 201M 16M 185M 8% /run
/dev/mapper/ubuntu--vg-root 15G 5.2G 8.3G 39% /
tmpfs 1001M 0 1001M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
/dev/sda1 472M 58M 391M 13% /boot
tmpfs 201M 0 201M 0% /run/user/0
/dev/sdb1 11G 1.6G 9.5G 15% /var/lib/ceph/osd/ceph-0
ceph-fuse 33G 4.7G 29G 15% /mnt/fuse_cephfs
5、我把之前通过kernel驱动程序的挂载方式中的挂载点目录更改为了kernel_cephfs
并再次执行了挂载后
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 471M 0 471M 0% /dev
tmpfs 483M 0 483M 0% /dev/shm
tmpfs 483M 6.6M 477M 2% /run
tmpfs 483M 0 483M 0% /sys/fs/cgroup
/dev/mapper/cl-root 8.0G 1.5G 6.5G 19% /
/dev/sda1 1014M 186M 829M 19% /boot
tmpfs 97M 0 97M 0% /run/user/0
ceph-fuse 45G 444M 45G 1% /mnt/fuse_cephfs #这是fuse客户端方式挂载
192.168.89.103:6789:/ 45G 444M 45G 1% /mnt/kernel_cephfs #这是kernel的方式挂载
事实证明:这两者可以同时存在,我这里是在同一台机器上,当然更可以在不同的机器上挂载同一个cephfs
并且,我在/mnt/fuse_cephfs目录下创建了file_fuse_123.txt,然后再到/mnt/kernel_cephfs去查看,也出现了file_fuse_123.txt
此处证明,cephfs是分布式的且共享型的网络文件系统.
注意,这两种挂载方式虽然可以在一台机器上同时存在,但是在生产环境中这么做是没有太大意义的。我这里仅仅只是为了测试而已。
6、开机自动挂载cephfs
如需要开机时自动挂载cephfs,将下面的信息添加到客户端的/etc/fstab中
id=admin /mnt/fuse_cephfs fuse.ceph defaults 0 0
7、重启客户端的注意事项
1、重启前最好是先umont调挂载后的文件系统
2、然后再重启
网友评论