如何在Centos系统中使用Ceph分布式存储技术?
讲解Ceph分布式存储技术的安装和配置方法
安装Ceph分布式存储技术:
1.安装Ceph存储节点的操作系统:CentOS 7
2.安装Ceph存储节点的软件
# yum install -y epel-release
# rpm –import ‘https://download.ceph.com/keys/release.asc’
# yum install -y https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm
# yum update -y && yum install -y ceph
3.配置Ceph存储节点
# ceph-deploy new
结果:
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (1.5.39): /usr/bin/ceph-deploy new ceph-node1
[ceph_deploy][INFO ] creating new cluster named ceph
[ceph_deploy.new][DEBUG ] Creating new cluster named ceph
[ceph_deploy.new][INFO ] making sure passwordless SSH succeeds
[ceph-node1][INFO ] verifying accessibility of all hosts
[ceph-node1][INFO ] connecting to host ceph-node1
[ceph-node1][DEBUG ] connected to host: ceph-node1
[ceph-node1][DEBUG ] detect platform information from remote host
[ceph-node1][DEBUG ] detect machine type
[ceph-node1][INFO ] installing Ceph on ceph-node1
[ceph-node1][DEBUG ] Deploying packages to ceph-node1:
ceph-base
ceph-common
ceph-mon
[ceph-node1][DEBUG ] repo_file is set to None
[ceph-node1][DEBUG ] repository_url is set to None
[ceph-node1][DEBUG ] distro is set to centos
[ceph-node1][DEBUG ] install_version is set to jewel
[ceph-node1][INFO ] running command: sudo yum -y install ceph-base ceph-common ceph-mon
[ceph-node1][INFO ] Running command: sudo ceph –version
输出:
ceph-deploy new
初始化一个新的 Ceph 集群
该命令仅适用于一个新的 Ceph 环境,初始化新的 Ceph 集群并管理配置文件和密钥环。通过使用 new 子命令,配置文件、 mon 的密钥环、集群的管理密钥等文件会在输入的 hostname 中产生。这些文件保存在工作目录下的 cluster-name 目录。
部署 Ceph 目录和 Ceph 系统:
# ceph-deploy install ceph-node1
# ceph-deploy install ceph-node1 ceph-node2 ceph-node3
4. 初始化 Ceph 集群
# ceph-deploy new ceph-node1
生成 /etc/yum.repos.d/ceph.repo 配置文件。
把产生的配置文件跟新软件状态存储起来,以便操作系统中下次使用。
# ceph-deploy install ceph-node1
输出:
ceph-deploy install
安装 Ceph 软件包
该命令将通过管理节点 SSH 连接到集群中指定的各个节点,并执行 yum 来安装 Ceph 软件包。
部署 OSD:
# ceph-deploy osd create –data /dev/sdb ceph-node1
# ceph-deploy osd create –data /dev/sdb –journal /dev/sdc ceph-node1
输出:
ceph-deploy osd create命令
创建 OSD(Object Storage Device)
该命令会使 OSD 初始化并添加到集群中,可以透过磁盘或使用 LVM 逻辑卷由命令自动化地分配。一旦调用 osd create 子命令,ceph-deploy 会找到一个可用 OSD 并且将 OSD 激活。然后使用 daemonized OSD 指示文本,这将会保存来自 Ceph 集群的信息,等待 OSD 数据。
部署监视器(monitor):
# ceph-deploy mon create ceph-node1
输出:
ceph-deploy mon create 命令
创建一个通过监视器自动加入 Ceph 集群
该命令要求输入要加入集群的所有监视器的主机名列表。ceph-deploy 会在列表中的主机上安装并启动一个新的单节点监视器,再将其它监视器添加到集群中。若这个 Ceph 环境是用作测试,您可把下列–no-check-hostname开关加入到命令行,以忽略 FQDN 主机名验证。
$ ceph-deploy mon create HOSTNAME [HOSTNAME …]
删除mon:
# ceph-deploy mon destroy ceph-node1
输出:
ceph-deploy mon destroy 命令
从 Ceph 集群中摧毁一个单节点监视器
该命令让使用Ceph 集群的管理员能够删除一个不再需要的单节点监视器。传入的这个主机名也会被删除集群里的所有监视器列表。请注意,该命令应当向集群中留有足够的监视器以保持高可用性。
5. 验证 Ceph 集群状态
# ceph -s
输出:
ceph -s 命令
获取 Ceph 集群状态
当 Ceph 集群环境已安装,监视器和 OSD 服务已配置并且在运行时,就可以通过此命令检查 Ceph 集群状态信息。Ceph 管理员必须确保 Ceph 集群环境的状态正常。
6. 部署 Ceph Gateway
# ceph-deploy rgw create ceph-node1
输出:
ceph-deploy rgw create 命令
创建一个 RADOS Gateway ,即一个 Ceph 对象存储网关
当 ceph 环境配置访问了对应的存储,则可使用 RADOS Gateway 创建一个 Ceph 对象存储网关。URLException、Argument404Exception、IOException 和 UnknownHostException 是常见问题。
通过 Web 或 S3 访问 Ceph 集群
Ceph Gateway 将 Ceph 集群转换为一个可扩展的对象存储接口,以便在 Internet 上通过 RESTful API 和 S3 API 访问 Ceph 的数据。生成的 conf 文件中,设置了许多网关参数,例如:rgw_http_host、rgw_num_rados_handles、rgw_socket_path、rgw_thread_pool_size、rgw_max_obj_size等。
7. 部署 Ceph FS
# ceph-deploy mds create ceph-node1
输出:
ceph-deploy mds create 命令
在 ceph 集群环境中创建 Metadata Server(元数据服务器)
若使用 CephFS 功能,则必须使用 CephFS 和 CephFS 元数据服务器。
8. 部署 Ceph RBD
# ceph-deploy disk list ceph-node1
部署Ceph RBD:
# ceph-deploy disk zap ceph-node1 /dev/sdb
# ceph-deploy osd create –data /dev/sdb ceph-node1
生成 RBD:
# rbd create testrbd –size 10240 –pool rbd
部署后,使用以下命令查看 Ceph 集群状态:
ceph -s
欢迎使用 Ceph 分布式存储技术。
2023年05月05日 11:38