整体搭建过程参考的是:https://blog.csdn.net/bocuojiang1865/article/details/100966681。
搭建过程真是费了老劲,踩了一些坑,结果莫名其妙就好了。
针对参考链接说一下注意点
1.先把cephfs搭建好
可参考:https://bbs.huaweicloud.com/blogs/349783
2.关闭或者禁用防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
3.SELINUX设置
(1)临时有效
setenforce 0
(2)永久有效:
vi /etc/selinux/config
SELINUX=disabled
4. 安装samba
我使用的是centos7版本,通过以下命令安装samba-4.10.16版本
yum install -y samba samba-common-tools
5.编译源码前执行 yum -y install libcephfs-devel
(1)下载源码也是samba-4.10.16版本,下载链接:https://www.samba.org/samba/history/samba-4.10.16.html;
(2)编译源码过程中,除了参考链接中的依赖库,有报错的话,可自行根据报错安装依赖库。需要注意的是,并不会报缺少 libcephfs库,但是这个库不安装,就不会生成ceph.so,ceph.so是能否搭建好文件系统的关键。
(3)编译安装命令
./configure
make
make install (参考链接中没有给这部,不确定这部是否需要,如遇问题可试着执行)
(4) cp -a libvfs_module_ceph.so /usr/lib64/samba/vfs/ 这一步改为
cp -a samba-4.10.16/bin/modules/vfs/ceph.so /usr/lib64/samba/vfs/
6.配置samba (在/etc/samba/smb.conf中)
(1)path我设置其他目录,报错说没有该目录或者没有权限,索性就换成根目录,结果就可以了;
(2)vfs objects = ceph,这句必须有,这是向Samba说明要使用 vfs_ceph 模块(我在这个地方报错,后面不知进行了什么操作,就又不报错了)
(3)可参考如下
[mycephfs1]
vfs objects = ceph
path = /
kernel share modes = no
ceph:config_file = /etc/ceph/ceph.conf
ceph:user_id = samba.gw
read only = no
7.windows这边不需要什么额外的操作
直接按参考链接中的图进行连接即可,连接时用户就是samba用户
8.如连接不了,可通过systemctl status smb -l
查看报错情况
9.cephx认证
ceph auth get-or-create client.samba.gw mon 'allow *' osd 'allow *' mds 'allow *' mgr 'allow *' -o ceph.client.samba.gw.keyring