HCRM博客

如何在CentOS上安装Ceph?

在CentOS上安装Ceph存储是一个复杂但有条理的过程,以下是一个详细的指南,包括准备工作、安装步骤、集群构建、dashboard配置以及Ceph文件系统创建等步骤。

一、准备工作

1、关闭防火墙和SELinux:在开始之前,确保防火墙和SELinux已关闭,可以使用以下命令关闭防火墙:

如何在CentOS上安装Ceph?-图1
(图片来源网络,侵权删除)
   sudo systemctl stop firewalld
   sudo systemctl disable firewalld

对于SELinux,可以将其设置为宽容模式:

   sudo setenforce 0

2、关闭图形网络管理器:为了确保网络配置的稳定性,建议关闭图形网络管理器:

   sudo systemctl stop NetworkManager
   sudo systemctl disable NetworkManager

3、配置IP地址和主机名:为节点配置静态IP地址和主机名,编辑/etc/sysconfig/networKScripts/ifcfgeth0 文件,并添加以下内容:

   BOOTPROTO=static
   IPADDR=YOUR_IP_ADDRESS
   NETMASK=YOUR_NETMASK
   GATEWAY=YOUR_GATEWAY
   ONBOOT=yes

替换YOUR_IP_ADDRESSYOUR_NETMASKYOUR_GATEWAY 为实际的IP地址、子网掩码和网关,编辑/etc/hostname 文件,将主机名更改为所需的名称。

4、修改hosts文件:编辑/etc/hosts 文件,添加以下内容:

   127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
   ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5、SSH配置:为了简化配置过程,可以生成SSH公钥以进行无密码登录:

如何在CentOS上安装Ceph?-图2
(图片来源网络,侵权删除)
   sshkeygen t rsa
   sshcopyid user@remote_host

6、时间同步:确保所有节点的时间准确同步,使用NTP(Network Time Protocol):

   sudo yum install y ntp
   sudo systemctl start ntpd
   sudo systemctl enable ntpd

二、安装Ceph存储集群

1、安装Ceph存储集群软件包:使用以下命令安装Ceph存储集群软件包:

   sudo yum install cephdeploy

2、配置Ceph存储集群软件包:执行以下命令配置Ceph存储集群软件包:

   sudo yum install ntp ntpupdate ntpdoc

3、配置网络同步:为了确保Ceph节点之间的网络同步,请确保所有节点上的NTP服务已经启动并运行:

   sudo systemctl start ntpd

4、关闭防火墙和安全选项:为了确保Ceph存储集群的安全性,请关闭所有节点的防火墙以及安全选项:

   sudo systemctl stop firewalld

5、配置Ceph存储集群节点:在每个Ceph节点上执行以下步骤:

如何在CentOS上安装Ceph?-图3
(图片来源网络,侵权删除)

生成密钥对:

     cephauthtool genkeys /etc/ceph/ceph.client.admin.keyring

创建Ceph配置文件:

     cephauthtool /etc/ceph/ceph.client.admin.keyring —createkeyring /etc/ceph/ceph.mon.keyring —addkey —type mon —setkey [mon] osd ‘allow rwx’ osd ‘allow r’ mon ‘allow r’ osd ‘require_jewel_osds: true’ osd ‘pool default size = 1’ osd ‘pool default min size = 1’ osd ‘pool default pg_num = 192’ osd ‘pool default pgp_num = 192’ osd ‘pool default crush_rule = 0’ mon ‘log level = 0’ mon ‘cluster { global, mon { network public } }’ mon ‘dashboard enable = true’ mon ‘dashboard listen_interface = eth0’ mon ‘dashboard_http_port = 7788’ mon ‘dashboard_socket_path = /var/run/ceph/cephmon.socket’ mon ‘dashboard_ssl_cert_path = /var/lib/ceph/mon/ceph${hostname}.pem’ mon ‘dashboard_ssl_port = 7789’ mon ‘dashboard_username = admin’ mon ‘dashboard_password_hash = dmFsaWRfYmFzZTY0X2VuY29kZWRfc3RyaW5nIQ== ‘mon ‘ms mds map allow rwx cluster required=true public required=true default required=true data required=true meta required=true system required=true’ mon ‘ms mds allow rmw object map required=true’ mon ‘ms mds allow rw object map required=true’ mon ‘ms mds allow r object map required=true’ mon ‘ms mds allow r object map default=true’ mon ‘ms mds allow rw object map default=true’ mon ‘ms mds allow rmw object map default=true’ mon ‘ms mds map allow rwx cluster default=true public default=true default default=true data default=true meta default=true system default=true’ mon ‘ms mds map allow r object pool default=true’ mon ‘ms mds map allow rw object pool default=true’ mon ‘ms mds map allow r object pool default=true’ mon ‘ms mds map allow rw object pool default=true’ mon ‘ms mds map allow rmw object pool default=true’

三、启动Ceph服务

完成Ceph配置后,可以使用以下命令启动Ceph服务:

sudo systemctl start cephmon.target
sudo systemctl start cephosd.target
sudo systemctl start cephmds.target

四、验证Ceph安装和配置

安装和配置Ceph后,您可以使用以下命令验证Ceph是否正常运行:

sudo ceph s

如果一切正常,您应该能够看到与您的Ceph集群相关的信息。

五、添加和管理存储池

您可以使用Ceph来创建存储池,以存储数据,以下是一些常用命令:

创建存储池:

  sudo ceph osd pool create {poolname} {pgnum} [{pgpnum}]

{poolname}是您要创建的存储池的名称,{pgnum}是存储池的PG数(placement group数),{pgpnum}是可选的PG副本数。

列出存储池:

  sudo ceph osd lspools

删除存储池:

  sudo ceph osd pool delete {poolname} {poolname} yesireallyreallymeanit

六、FAQs问答

Q1: Ceph集群中至少需要多少个节点?

A1: 一个最小型的Ceph集群至少要有3个节点,cephmon,cephmgr,cephmds都搭建在一个节点上,其他节点上搭建cephosd,cephosd会和cephmon分开节点部署,以实现冗余和高可用性。

Q2: 如何确保Ceph集群中所有节点的时间同步?

A2: 确保所有Ceph节点的时间准确同步非常重要,可以使用NTP(Network Time Protocol)来同步时间,在所有节点上安装NTP服务,并启动NTP服务:

sudo yum install y ntp
sudo systemctl start ntpd
sudo systemctl enable ntpd
分享:
扫描分享到社交APP
上一篇
下一篇