Ceph现在包含(实验性)对单个存储集群中的多个文件系统的支持; 但挂载选项似乎不允许指定要挂载的文件系统。
我configuration了两个testing文件系统,每个文件系统都有自己的mds和备份池; 但无法获得客户端节点来安装它们; 因为挂载选项只能指定一个监视器,两者都是相同的。
root@ws:~# ceph status cluster 92ed87a5-559c-4b79-90c7-6b381374d431 health HEALTH_OK monmap e7: 1 mons at {mon-jacopo=10.0.1.22:6789/0} election epoch 17, quorum 0 mon-jacopo fsmap e59: burninatorfs-1/1/1 up mediafs-1/1/1 up {[burninatorfs:0]=mds-jacopo=up:active,[mediafs:0]=mds-media=up:active} osdmap e404: 2 osds: 2 up, 2 in flags sortbitwise pgmap v36088: 288 pgs, 5 pools, 48411 bytes data, 40 objects 10315 MB used, 5540 GB / 5554 GB avail 288 active+clean
我无法findfstab的任何选项,允许我挂载一个ceph fs或另一个。 我试过的装载path和选项的任何组合的结果都是两个文件系统在这两个点上的未知select。
root@jacopo:/media# cat /etc/fstab | grep ceph mon-jacopo.burninator.net:/ /media/burninator ceph noshare,noatime,_netdev,name=burninator,secret=XXXX== 0 0 mon-jacopo.burninator.net:/ /media/media ceph noshare,noatime,_netdev,name=media,secret=YYYY== 0 0
奇怪的是,即使我通过不同的身份和秘密来隔离这两个文件系统的权限,它们也会像挂载它们一样挂载。
client.burninator key: XXXX== caps: [mds] allow rw caps: [mon] allow r caps: [osd] allow rw pool=burninatorfs-data,allow rw pool=burninatorfs-metadata client.media key: YYYY== caps: [mds] allow rw caps: [mon] allow r caps: [osd] allow rw pool=mediafs-data,allow rw pool=mediafs-metadata
允许更改文件系统实际挂载(没有find方法来确定这一点) – 两个挂载点反映的结果,就像它是一个绑定挂载。 我敢肯定,最后一部分是一个错误,因为不应该共享客户端连接( noshare挂载选项),并且挂载凭证应该只允许修改指向“正确”文件系统的挂载。
root@jacopo:~# mount | grep ceph mon-jacopo.burninator.net:/ on /media/burninator type ceph (rw,noatime,name=burninator,secret=<hidden>,noshare,acl,_netdev) mon-jacopo.burninator.net:/ on /media/media type ceph (rw,noatime,name=media,secret=<hidden>,noshare,acl,_netdev) root@jacopo:~# cd /media root@jacopo:/media# find burninator/ burninator/ burninator/foo root@jacopo:/media# find media/ media/ media/foo root@jacopo:/media# mkdir media/newdir root@jacopo:/media# touch media/newdir/1 root@jacopo:/media# touch media/newdir/2 root@jacopo:/media# rm burninator/newdir/1 root@jacopo:/media# find burninator/ burninator/ burninator/newdir burninator/newdir/2 burninator/foo root@jacopo:/media# find media/ media/ media/newdir media/newdir/2 media/foo root@jacopo:/media#
所有节点都运行Ubuntu 16.04 LTS,位于或接近内核4.4.0-45-generic,ceph版本10.2.2(45107e21c568dd033c2f0a3107dec8f0b0e58374),由ceph-deploy 1.5.32安装。
读取这个提交 ,你可以使用mount选项mds_namespace 。
# mount -t ceph -o mds_namespace=burninatorfs 10.0.0.1:/ /mnt/burninatorfs # mount -t ceph -o mds_namespace=mediafs 10.0.0.1:/ /mnt/mediafs