首页 > 编程学习 > ceph块存储在线扩容

ceph块存储在线扩容

发布时间:2022/11/27 10:42:21

记录: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日

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式