记录: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
秘钥内容:
- [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创建存储池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日