• ceph块存储在线扩容


    记录:339

    场景:在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创建存储池pool

    命令:ceph osd pool create hangzhou_rbd_pool 16

    解析:在客户端创建存储池,名称:hangzhou_rbd_pool。

    4.2初始化存储池pool

    命令:rbd pool init hangzhou_rbd_pool

    解析:在客户端初始化存储池,名称:hangzhou_rbd_pool。

    4.3创建image

    (1)创建image

    命令:rbd create hangzhou_volume --pool hangzhou_rbd_pool --size 1024

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

    (2)查看image

    命令:rbd ls hangzhou_rbd_pool

    解析:查看hangzhou_rbd_pool,会打印出hangzhou_volume。

    (3)查看rbd image详细信息

    命令:rbd info hangzhou_volume -p hangzhou_rbd_pool

    解析:查看rbd image详细信息。

    4.4把image映射成块存储

    (1)image映射成块存储

    步骤一:rbd feature disable hangzhou_rbd_pool/hangzhou_volume object-map fast-diff deep-flatten

    步骤二:rbd map hangzhou_rbd_pool/hangzhou_volume

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

    (2)查看映射的块

    命令:lsblk

    解析:已经看到块rdb0。

    (3)查看映射

    查看映射命令:rbd showmapped

    解析:能查看映射的device。

    (4)取消映射

    命令:rbd unmap /dev/rbd0

    解析:取消映射。

    4.5创建文件系统

    块设备使用前,需创建文件系统。

    命令:mkfs.xfs /dev/rbd0

    解析:对/dev/rbd0块设备,创建xfs类型文件系统。

    4.6挂载块设备到目录

    (1)创建挂载目录

    命令:mkdir -p /mnt/hangzhou_data

    解析:创建一个用来挂载块设备的目录。

    (2)挂载磁盘

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

    解析:把块设备挂载到/mnt/hangzhou_data。

    (3)查看挂载结果

    命令:df -h

    解析:查看挂载情况。

    4.7应用块存储

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

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

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

    4.8查看块设备和对应文件系统

    查看块设备:lsblk

    查看文件系统:df -h

    5.块存储在线扩容

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

    5.1在线扩容

    命令:rbd resize --size 2048 hangzhou_rbd_pool/hangzhou_volume

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

    5.2在线扩展文件系统

    命令:xfs_growfs -d /mnt/hangzhou_data

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

    5.3查看扩展结果

    查看磁盘:lsblk

    查看文件系统:df -h

    解析:查看rbd0和文件系统都已经扩容到2GB。

    6.小结

    块存储在线扩容,不会影响已经存储在块设备的文件。

    以上,感谢。

    2022年11月27日

  • 相关阅读:
    【随想录】-【10 动态规划】122 买卖股票的最佳时机Ⅱ
    completablefuture使用案例代码
    致敬!百里煤海战斗在第二战线上的人们
    微信个人号如何实现自动回复呢?
    怎么查看证书里是不是包含私钥和公钥
    人工智能、深度学习、机器学习常见面试题41~55
    CSS盒模型
    大数据算法系列10:字符串检验算法
    Python编程 集合
    代码随想录二刷 Day 43
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/128060353