ceph集群添加和删除节点

2023-03-31 09:02:51 浏览数 (2)

Ceph是一个分布式存储系统,允许将数据分散在多个节点上,从而提高存储的可靠性和可扩展性。在Ceph集群中添加和删除节点是非常常见的操作,这篇文章将介绍如何在Ceph集群中添加和删除节点。

添加节点

在Ceph集群中添加节点涉及以下步骤:

1. 准备新节点

首先,需要准备一台新的服务器,使其满足Ceph节点的要求。Ceph节点至少需要2个网卡,一个用于公共网络(例如Internet),另一个用于集群网络。此外,新节点需要安装相应的Ceph软件包。

2. 添加节点到集群

要将新节点添加到Ceph集群中,需要执行以下步骤:

在新节点上,添加Ceph的软件仓库,以便可以安装最新版本的Ceph软件包。

代码语言:javascript复制
$ wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
$ echo "deb https://download.ceph.com/debian-<ceph-version>/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/ceph.list
$ sudo apt update

其中,<ceph-version>是你要安装的Ceph版本,例如“nautilus”、“octopus”、“pacific”等。

在新节点上安装Ceph软件包。

代码语言:javascript复制
$ sudo apt install ceph

在管理节点上,将新节点添加到Ceph集群中。

代码语言:javascript复制
$ sudo ceph orch host add <new-hostname>

其中,<new-hostname>是新节点的主机名或IP地址。

在管理节点上,启用新节点。

代码语言:javascript复制
arduinoCopy code$ sudo ceph orch apply mon -i <new-hostname>

在管理节点上,检查新节点是否已成功添加到Ceph集群中。

代码语言:javascript复制
$ sudo ceph orch ls

如果一切顺利,你应该能够在输出中看到新节点的主机名。

3. 配置新节点

添加新节点后,需要在其上配置Ceph服务。这包括在新节点上启动相应的守护进程(例如,监视器、对象存储守护进程等),以及在集群中创建新的存储池和对象。

在新节点上,启动Ceph守护进程。

代码语言:javascript复制
$ sudo systemctl start ceph-mon.target ceph-osd.target ceph-mds.target

在管理节点上,创建新的存储池或对象。

代码语言:javascript复制
$ sudo rados mkpool <new-pool>

其中,<new-pool>是新的存储池的名称。

在管理节点上,将数据复制到新节点。

代码语言:javascript复制
phpCopy code$ sudo rados -p <new-pool> put <object> <file>

其中,<object>是要创建的新对象的名称,<file>是要上传的文件。

在新节点上,检查是否已成功复制了数据。

代码语言:javascript复制
$ sudo rados -p <new-pool> ls

如果一切正常,你应该能够看到新对象的名称。

4. 确认节点添加成功

要确认节点已成功添加到Ceph集群中,需要检查集群状态,以确保所有节点都已成功连接。

在管理节点上,检查集群状态。

代码语言:javascript复制
$ sudo ceph -s

确认所有节点的状态都是“up”。

如果所有节点都处于“up”状态,说明新节点已成功添加到Ceph集群中。

删除节点

在Ceph集群中删除节点涉及以下步骤:

1. 禁用节点

要从Ceph集群中删除节点,需要先禁用该节点。

在管理节点上,禁用要删除的节点。

代码语言:javascript复制
$ sudo ceph orch apply mon,mgr,osd,mds --args 'noout=true' --args 'norebalance=true' -i <node-to-be-removed>

其中,<node-to-be-removed>是要删除的节点的主机名或IP地址。

在管理节点上,检查要删除的节点是否已被禁用。

代码语言:javascript复制
$ sudo ceph orch ps --daemon_type osd

在输出中,你应该能够看到要删除的节点的状态为“disabled”。

2. 从集群中删除节点

要从Ceph集群中删除节点,需要执行以下步骤:

在管理节点上,删除要删除的节点。

代码语言:javascript复制
$ sudo ceph orch host rm <node-to-be-removed>

在管理节点上,检查要删除的节点是否已被删除。

代码语言:javascript复制
$ sudo ceph orch ls

在输出中,你应该不能看到要删除的节点的主机名。

3. 确认节点删除成功

要确认节点已成功从Ceph集群中删除,需要检查集群状态,以确保所有节点都已成功连接。

在管理节点上,检查集群状态。

代码语言:javascript复制
$ sudo ceph -s

确认所有节点的状态都是“up”。

如果所有节点都处于“up”状态,说明要删除的节点已成功从Ceph集群中删除。

oss

0 人点赞