CephFS文件储存

一、官方文档

http://docs.ceph.org.cn/
http://docs.ceph.org.cn/cephfs/

# 操作文档

二、部署MDS集群

# 1、创建三个节点
[root@node1 ~]# cd /app/ceph-deploy/ceph-deploy/
[root@node1 ceph-deploy]# ceph-deploy mds create node1 node2 node3  

# 2、查看集群状态
[root@node1 ceph-deploy]# ceph -s 
  cluster:
    id:     081dc49f-2525-4aaa-a56d-89d641cef302
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum node1,node2,node3 (age 25m)
    mgr: node3(active, since 25m), standbys: node1, node2
    mds:  3 up:standby  # 现在没有文件系统,所以是standby的状态
    osd: 3 osds: 3 up (since 25m), 3 in (since 45m)
    rgw: 2 daemons active (node1, node2)

三、部署CephFS文件系统

3.1、创建CephFS文件系统

官方文档:http://docs.ceph.org.cn/cephfs/createfs/

一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:

  • 为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。
  • 为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。

关于存储池的管理请参考 存储池 。例如,要用默认设置为文件系统创建两个存储池,你可以用下列命令:

# 1、创建2个pool
[root@node1 ceph-deploy]# ceph osd pool create cephfs_data 8 8
pool 'cephfs_data' created
[root@node1 ceph-deploy]# ceph osd pool create cephfs_metadata 8 8
pool 'cephfs_metadata' created
[root@node1 ceph-deploy]# ceph osd lspools
1 cephfs_data
2 cephfs_metadata

# 2、创建CephFS
[root@node1 ceph-deploy]# ceph fs new cephfs-demo cephfs_metadata cephfs_data
new fs with metadata pool 7 and data pool 6
[root@node1 ceph-deploy]# ceph fs ls
name: cephfs-demo, metadata pool: cephfs_metadata, data pools: [cephfs_data ]

# 3、查看集群状态
[root@node1 ceph-deploy]# ceph -s 
  cluster:
    id:     081dc49f-2525-4aaa-a56d-89d641cef302
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum node1,node2,node3 (age 35m)
    mgr: node3(active, since 36m), standbys: node1, node2
    mds: cephfs-demo:1 {0=node1=up:active} 2 up:standby   # 变成了一个active
    osd: 3 osds: 3 up (since 35m), 3 in (since 55m)
    rgw: 2 daemons active (node1, node2)

3.2、用内核驱动挂载 CEPH 文件系统

要挂载 Ceph 文件系统,如果你知道监视器 IP 地址可以用 mount 命令、或者用 mount.ceph 工具来自动解析监视器 IP 地址。例如:

sudo mkdir /mnt/mycephfs
sudo mount -t ceph 192.168.1.129:6789:/ /mnt/mycephfs

要挂载启用了 cephx 认证的 Ceph 文件系统,你必须指定用户名、密钥。

sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==

# secret 可以不写
[root@node1 ~]# sudo mount -t ceph 192.168.1.129:6789:/ /mnt/mycephfs -o name=admin

[root@node1 ~]# cd /mnt/mycephfs
[root@node1 mycephfs]# ll
total 0
[root@node1 mycephfs]# echo aaa > aaa
[root@node1 mycephfs]# ls 
aaa

前述用法会把密码遗留在 Bash 历史里,更安全的方法是从文件读密码。例如:

sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret

关于 cephx 参见认证

要卸载 Ceph 文件系统,可以用 unmount 命令,例如:

sudo umount /mnt/mycephfs
原文地址:https://www.cnblogs.com/hsyw/p/14541033.html