记录: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
秘钥内容:
[client.admin]
key = AQDtioBjVwefMBAAu0/oJPK2khWK+juNOQkyZw==
caps mds = "allow *"
caps mgr = "allow *"
caps mon = "allow *"
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日