• ceph文件系统


    1.  ceph文件系统:

            CephFS需要有个一个MDS(Meta Data Servers)元数据服务,其构建在RADOS之上,对客户端提供数据存储的服务;MDS由多个节点组成,节点之间使用 Active/Standby 模式,即主备模式对外提供服务,主节点的日志元数据信息记录在pool资源池上∶由一个单独的资漂池pool存放,MDS之间会定期交换metadata元数据信息;当主MDS异常时,备用的MDS会接管其功能,元数据信息将直接从journal 资源池中获取,从而保障数据的一致性。

            另外,对于数据的读写操作,客户端从metadata获取元数据之后,客户端对数据的读写操作直接到数据存储的资源池,从而将元数据和和数据存储资源池分开,构建MDS集群时需要创建两个pool,其中一个存放metadata元数据,另外一个存放实际data数据。

    2.  MDS集群部署:

    1. 1. ## 在ansible清单文件中添加:
    2. [root@node2 ~]# vim /etc/ansible/hosts
    3. [mdss]
    4. node[2:4]
    5. 2. ## 开放入口文件的mdss功能:
    6. [root@node2 ~]# vim ceph-ansible-main/site.yml
    7. - hosts:
    8. - mdss
    9. 3. ##复制mdss.yml文件
    10. [root@node2 ~]# cp ceph-ansible-main/group_vars/mdss.yml.sample ceph-ansible-
    11. main/group_vars/mdss.yml
    12. 4. ##重新部署
    13. [root@node2 ceph-ansible-main]# ansible-playbook site.yml

    3.  创建存放metadata元数据和存放实际data数据的池:

    1. [root@node2 ~]# ceph osd pool create cephfs_data 128
    2. [root@node2 ~]# ceph osd pool create cephfs_metadata 128

    4.  创建文件系统:

    1. [root@node2 ~]# ceph fs new cephfs(文件系统名称) cephfs_metadata cephfs_data
    2. ## 查看文件系统状态
    3. [root@node2 ~]# ceph fs ls
    4. name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
    5. ## 再次此时查看mds的服务状态,可以看到node2被选举为active主,另外两个承担standby的角色[root@node2 ~]# ceph -s

    5.  CephFS客户端挂载:

            CephFS提供了两种客户端和CephFS文件存储交互∶内核的 cephfs和用户态级别的 ceph-fuse,内核极别的 cephfs 性能上会优于ceph-fuse,因此推荐使用 cephfs。使用 cephf时需要认证信息,为了简便,我们使用默认提供的admin用于实现和CephFS的交互

            方式一.  使用CephFS挂载文件系统:

    1. [root@client ~]# mkdir /mnt/cephfs1
    2. ## 文件系统临时挂载,默认把三个节点都挂载到/mnt/cephfs1
    3. [root@client ~]# mount.ceph :/ /mnt/cephfs1 -o name=admin
    4. ## 查看文件系统挂载状态
    5. [root@client ~]# df -h
    6. ## 如果你需要持久挂载,我们可以将cephfs挂载的存储信息写入到/etc/fstab文件中,例如∶
    7. :/ /mnt/cephfs1 ceph name=admin,noatime,_netdev 0 2

            方式二.  使用ceph-fuse挂载文件系统:

    1. ## 安装ceph-fuse
    2. [root@client ~]# yum install ceph-fuse -y
    3. ## 生成挂载文件目录mkdir
    4. [root@client ~]# mkdir /mnt/cephfs2
    5. ## 挂载文件系统
    6. [root@client ~]# ceph-fuse -n client.admin -m node2:6789,node3:6789,node4:6789
    7. /mnt/cephfs2
    8. -n:表示指定操作的用户
    9. -m:表示指定节点
    10. ## 查看挂载状态
    11. [root@client ~]# df -h

    6.  清除实验资源:

    1. ## 卸载文件系统
    2. [root@client ~]# umount /mnt/cephfs1
    3. [root@client ~]# umount /mnt/cephfs2
    4. [root@client ~]# rm -rf /mnt/cephfs*
    5. # 删除文件系统,同样要修改ceph配置文件才能删除
    6. [root@node2 ~]# ceph fs rm cephfs --yes-i-really-mean-it

  • 相关阅读:
    哥斯拉加密WebShell过杀软
    【Rust基础②】流程控制、模式匹配
    Matlab工具箱N-way的使用
    知行之桥堆内存及清理
    流畅的Python读书笔记(一)序列:列表推导式和生成器表达式
    mySQL创建表的基础命令
    Linux环境下JDK1.8的安装(保姆级教程)
    docker制作镜像
    百度小程序模板制作_百度小程序模板平台
    c#中webservice的调用
  • 原文地址:https://blog.csdn.net/NancyLCL/article/details/126919700