• 应用ceph块存储(ceph-13.2.10)


    记录:334

    场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群。应用ceph块设备(ceph block device);主要是创建ceph块存储、块存储分区、在线扩容、离线缩容、删除块存储等操作。

    版本:

    操作系统:CentOS 7.9

    ceph版本:ceph-13.2.10

    名词:

    Ceph:一个开源的分布式存储系统。

    Ceph: Ceph is a distributed object store and file system designed to provide excellent performance, reliability and scalability.

    地址:

    官网:https://docs.ceph.com/

    安装包地址:https://mirrors.aliyun.com/ceph/rpm-mimic/

    1.基础环境

    1.1 Ceph集群(服务端)

    集群已安装软件:ceph-deploy、ceph、ceph-radosgw。

    集群已部署组件:mon、mgr、mds、osd、rgw。

    查看集群状态:ceph -s

    1.2 Ceph客户端

    在集群之外的主机app166中部署客户端。操作ceph集群的存储系统。

    安装命令:yum install -y ceph-common

    解析:在客户端主机安装ceph-common,操作集群。

    1.3主机软件规划

    ceph集群和ceph客户端的主机、IP以及组件分布规划。

    1.4安装ceph

    离线安装ceph集群,可以参考如下博文。

    博文:离线安装ceph集群(ceph-13.2.10)

    地址:https://blog.csdn.net/zhangbeizhen18/article/details/128052772

    2.开启客户端认证

    在主节点app161操作,操作目录:cd /etc/ceph。

    (1)确认ceph.conf文件

    文件:/etc/ceph/ceph.conf

    内容:auth_client_required = cephx

    (2)确认客户端秘钥

    秘钥文件名称:/etc/ceph/ceph.client.admin.keyring

    秘钥内容:

    1. [client.admin]
    2. key = AQDtioBjVwefMBAAu0/oJPK2khWK+juNOQkyZw==
    3. caps mds = "allow *"
    4. caps mgr = "allow *"
    5. caps mon = "allow *"
    6. caps osd = "allow *"

    3.同步主节点配置文件到客户端

    在主节点app161操作,操作目录:cd /etc/ceph。

    (1)执行同步配置文件操作

    命令:ceph-deploy admin 192.168.19.166

    解析:ceph-deploy admin,执行同步配置命令;192.168.19.166,是客户端主机ip,如果没有配置免密,那么就需要输入密码确认。

    (2)同步的文件列表

    从主节点app161同步到客户端节点的配置文件:

    ceph.client.admin.keyring、ceph.con、tmpW4qEGF。

    4.创建块存储

    在客户端app166操作,操作目录:cd /etc/ceph。

    4.1客户端创建存储池与初始化

    (1)创建存储池

    命令:ceph osd pool create hz_rbd_pool 32

    解析:存储池名称:hz_rbd_pool。

    (2)初始化存储池

    命令:rbd pool init hz_rbd_pool

    解析:存储池名称:hz_rbd_pool。

    4.2客户端创建image

    (1)创建image

    命令:rbd create hz_volume --pool hz_rbd_pool --size 1024

    解析:创建image名称:hz_volume;对应存储池:hz_rbd_pool;指定大小:1024MB。

    (2)查看image

    命令:rbd ls hz_rbd_pool

    解析:查看hz_rbd_pool,会打印出 hz_volume。

    (3)查看rbd image详细信息

    命令:rbd info hz_volume -p hz_rbd_pool

    解析:查看rbd image详细信息

    4.3把image映射成块存储

    (1)image映射成块存储

    映射步骤一:rbd feature disable hz_rbd_pool/hz_volume object-map fast-diff deep-flatten

    映射步骤二:rbd map hz_rbd_pool/hz_volume

    解析:映射成功后,打印信息:/dev/rbd0。映射到rbd0。

    (2)查看映射

    查看映射命令:rbd showmapped

    解析:能查看映射目的目录。

    (3)取消映射

    命令:rbd unmap /dev/rbd0

    解析:取消映射。

    (4)查看映射的块

    命令:lsblk

    解析:已经看到块rdb0。

    4.4块存储分区、创建文件系统和挂载

    4.4.1块分区

    (1)块分区

    分区:fdisk /dev/rbd0

    解析:把磁盘/dev/rbd0块分区;按提示分区。

    (2)查看结果

    查看分区结果:lsblk

    4.4.2创建文件系统

    命令:mkfs.xfs /dev/rbd0p1

    解析:对/dev/rbd0p1,创建xfs类型文件系统。

    4.4.3挂载磁盘

    (1)创建挂载目录

    命令:mkdir -p /mnt/hz_data

    (2)挂载磁盘

    命令:mount /dev/rbd0p1 /mnt/hz_data

    解析:磁盘挂载到/mnt/hz_data。

    (3)查看挂载结果

    命令:df -h

    4.5应用块存储

    (1)写入一条数据到文件。

    命令:echo 'Hangzhou is a city.'>>/mnt/hz_data/hz.txt

    解析:写入到挂载目录,需求全路径名称。

    5.块存储在线扩容

    在客户端app166操作。对块存储/dev/rbd0,做块存储在线扩容。

    注意:块存储在线扩容必须在/dev/rbd0块设备上才支持;在块存储分区/dev/rbd0p1上不能扩容。

    (1)卸载已挂载的块存储

    卸载命令:umount /mnt/hz_data

    解析:使用umount命令,卸载已挂载到/mnt/hz_data目录的块设备/dev/rbd0。

    (2)删除/dev/rbd0分区

    删除分区:fdisk /dev/rbd0

    解析:在执行过程中根据提示,选择d代表删除、w代表写入和保存。

    (3)对/dev/rbd0设备格式化

    命令:mkfs.xfs -f /dev/rbd0

    解析:格式化文件系统。

    (4)挂载设备

    命令:mount /dev/rbd0 /mnt/hz_data

    解析:使用mount挂载设备。

    (5)在线扩容

    命令:rbd resize --size 1800 hz_rbd_pool/hz_volume

    解析:使用rbd resize在线扩容。

    (6)扩展文件系统

    命令:xfs_growfs -d /mnt/hz_data

    解析:fs_growfs命令来扩容xfs文件系统,将磁盘和文件系统容量对应上。

    (7)查看扩展结果

    查看磁盘:lsblk

    查看文件系统:df -h

    6.块存储离线缩容

    缩容前,数据备份。

    (1)缩容

    命令:rbd resize --size 600 hz_rbd_pool/hz_volume --allow-shrink

    解析:缩容到600MB。

    查看缩容后信息:rbd info hz_rbd_pool/hz_volume | grep size

    (2)卸载已挂载的块存储

    卸载命令:umount /mnt/hz_data

    解析:使用umount命令,卸载已挂载到/mnt/hz_data目录的块设备/dev/rbd0。

    (3)格式化文件系统

    命令:mkfs.xfs -f /dev/rbd0

    解析:格式化文件系统。

    (4)挂载存储块

    命令:mount /dev/rbd0 /mnt/hz_data

    解析:使用mount挂载设备。

    (5)查看缩容结果

    查看磁盘:lsblk

    查看文件系统:df -h

    7.删除块存储

    (1)卸载已挂载的块存储

    卸载命令:umount /mnt/hz_data

    解析:使用umount命令,卸载已挂载到/mnt/hz_data目录的块设备/dev/rbd0。

    (2)删除设备映射

    命令:rbd unmap /dev/rbd0

    (3)删除块存储此

    命令:ceph osd pool delete hz_rbd_pool hz_rbd_pool --yes-i-really-really-mean-it

    解析:删除pool时,需传递两次pool的名称。

    以上,感谢。

    2022年11月26日

  • 相关阅读:
    Web前端:2022年最新web开发技术
    渗透测试漏洞原理之---【不安全的反序列化】
    垃圾回收的知识点
    DFS专题训练1
    SqlSessionFactory与SqlSession
    【字符串函数内功修炼】strncpy + strncat + strncmp(二)
    java 企业工程管理系统软件源码 自主研发 工程行业适用
    nginx端口转发?
    Springboot利用Security做OAuth2授权验证
    【Redis】简单实现分布式锁
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/128053594