zoukankan      html  css  js  c++  java
  • 架构师的成长之路初片~Ceph-block存储

    Ceph之块存储
    存储池: pools(水池)
      现阶段环境说明:沿上配置:进行操作
      在创建好存储磁盘后,默认创建一个编号为0的存储池。可用命令:ceph osd lspools 查看。

      查看镜像
      rbd list
      创建镜像
      rbd create demo-image --size 10G
      vbd create rbd/jacob --size 10G //指定rbd为池
      列出所有镜像
      rbd list
      查看这个镜像的详细信息
      rbd info demo-image(镜像名)

    二、动态调整(调整镜像的大小)
      rbd resize --size 15G jacob //调整jacob的镜像指定扩容到15G
      rbd info jacob //查看镜像详细信息
      rbd resize --size 7G jacob --allow-shrink //将jacob镜像缩减到指定大小。
        //当如把镜像缩小时,因数据会丢失,则需要加 --allow-shrink 标签即可。

    三、客户端访问
      yum -y install ceph-common 客户端需要安装ceph-common软件包
      scp 192.168.4.11:/etc/ceph/ceph.conf /etc/ceph/
      scp 192.168.4.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ 拷贝配置文件(否则不知道集群在哪 拷贝连接密钥(否则无连接权限)

      rbd map jacob #客户端访问映射服务器的jacob共享镜像
      lsblk #查看结果(会多一块磁盘)
      rbd showmapped #查看磁盘名和共享镜像名称的对应关系
    此时的磁盘是个网络磁盘,必须格式化,挂载,才可以写入数据。且写入的数据并不存在自身的主机,而是存在node1 ode2 ode3里面
      mkfs.xfs /dev/rbd0 #格式化,格式为xfs
      echo "test" > /mnt/test.txt //写入数据
      rbd showmapped //可查看该磁盘由那个池以及镜像提供。


    删除镜像:思路,由于磁盘时挂载使用的,所以需要在客户端进行卸载,并且取消镜像的映射。
      客户端操作:
        1)卸载访问点
        umount /mnt/rbd/ //操作完可用lsblk查看
        2)取消映射
        rbd unmap /dev/rbd0 //操作完可用lsblk查看

    Ceph之块存储:
    缺点:同一时刻,只能允许一个客户端读取数据。
    也不能同时挂载,否则会造成文件丢失
    一、创建镜像快照
      OSD的三个备份,也敌不过人为的删除。所以引入快照的概念。
      现环境状况,沿上案例继续进行。

    1)快照的概念:基于当前的镜像创建一个快照(可不用格式化,直接操作)
      rbd snap ls jacob /查看某个镜像名称
      Mon(node1)端
    2) rbd snap create jacob --snap jacob-snap1 //给jacob镜像创建一个叫jacob-snap1的快照镜像
      rbd snap ls jacob //查看jacob的快照 //#为jacob镜像创建快照,--snap指定快照名称,快照名称为jacob-snap1,快照名称可以任意

    客户端 :
      rbd map jacob #客户端访问映射服务器的jacob共享镜像
      mount /dev/rbd0 /mnt/rbd/ //挂载
      cd /mnt/rbd/ //进入挂载的目录
    3) rm -rf /mnt/rbd/* //删除里面的所有文件,此时该盘内不存在任何文件。


    4)还原快照
      在还原快照之前,先把client端的网络磁盘卸载。否则还原的时候会出现问题
      rbd snap rollback jacob --snap jacob-snap1 //还原快照

    二、创建快照克隆
      因在克隆快照镜像的时候,被克隆的镜像不能被删除,所以得保护快照并且不做任何操作。
      rbd snap protect jacob --snap jacob-snap1 //保护快照,jacob是镜像名称,jacob-snap1是前面创建的快照(被保护的快照,不可以被删除)
      rbd snap rm jacob --snap jacob-snap1 #删除被保护的快照,会失败
      rbd clone jacob --snap jacob-snap1 jacob-clone --image-feature layering //使用jacob镜像的快照jacob-snap1克隆一个新的名称为jacob-clone的镜像,新镜像名称可以任意

      rbd info jacob //原始的镜像
      rbd info jacob-clone //克隆原始的镜像
      rbd info 镜像名 //可用此命令查看,jacob与jacob-clone的详细信息
      rbd flatten jacob-clone //将现在的克隆镜像,取消与它父亲之间的关联
      rbd 选项:flatten //flatten:解释 Fill clone with parent data (make itindependent).
      rbd --help 可查看所有选项 ^// 用父数据填充克隆(使其独立)


    Ceph文件系统存储:
    现环境状况,沿上案例继续进行。
    一个文件系统由:inode和block两部分构成
    inode:存储元数据(metadata元数据),存的是block的(目录)信息。
    block存储真正的数据

    优点:支持多人使用

    1)装包:ceph-dms //选择一个节点来进行装包及控制
    2)ceph-deploy mds create node1 //远程nod1,拷贝集群配置文件,启动mds服务
    3)ceph osd pool create cephfs_data 64 //创建存储池,共享池的名称为cephfs_data,对应有64个PG,共享池名称可以任意
    4)ceph osd pool create cephfs_metadata 64 //创建存储池,共享池的名称为cephfs_metadata,对应有64个PG
    5)ceph fs new myfxl cephfs_metadata cephfs_data //创建ceph文件系统,#myfs1是名称,名称可以任意,注意,先写metadata池,再写data池,fs是filesystem的缩写,filesystem中文是文件系统,默认,只能创建1个文件系统,多余的会报错
    6)ceph fs ls //查看文件系统此时的状态

    客户端操作:
    挂载使用
     1)mount -t ceph 192.168.4.11:6789:/ /mnt/ceph -o name=admin,secret=AQC2tElgvRqyKhAA/RvZdiFGfZ5hcUsWB6gRMQ=
    =
      //#注意:-t(type)指定文件系统类型,文件系统类型为ceph
      #-o(option)指定mount挂载命令的选项,选项包括name账户名和secret密码
      #192.168.4.11为MON节点的IP(不是MDS节点),6789是MON服务的端口号
      #admin是用户名,secret后面是密钥
      #密钥可以在/etc/ceph/ceph.client.admin.keyring中找到
    报错集:
    1:密码不对 //坏的超级块,block
    2:用户名不对,权限不足 //(perrmission deined)
    3:ecph-mds.target服务没有启动 //(设备不存在,don`t exits)
    4:服务有,没有文件系统。 //卡死

  • 相关阅读:
    2019-9-2-win10-uwp-Markdown
    2018-8-10-控件
    2018-8-10-win10-uwp-dataGrid
    2018-2-13-win10-uwp-hashcash
    2018-2-13-git-cannot-lock-ref
    UCOSIII系统内部任务
    UCOSIII时间片轮转调度
    Keil MDK fromelf生成bin文件
    UCOS内存管理
    uavcan扩展帧格式 zubax
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14588659.html
Copyright © 2011-2022 走看看