分享技术,记录生活,在互联网上留下属于自己的一亩三分地。

第2章安装RED HAT CEPH存储的要求

存储 novadmin 1075℃ 0评论

图2-1 先决条件工作流程

在安装红帽Ceph存储(RHCS)之前,请查看以下要求并相应地准备每个监视,OSD,元数据服务器和客户机节点。

2.1 先决条件

验证硬件是否满足最低要求。 有关详细信息,请参阅红帽Ceph存储硬件指南3

2.2 安装红帽Ceph存储的要求清单

  • 操作系统校验(必选)
  • 设置CEPH源(必选)
  • 在节点上使用RAID控制器(可选)
  • 配置网络(必选)
  • 配置防火墙(可选)
  • 创建一个Ansible 用户(必选)(在所有的节点上)
  • 开启无密钥SSH登录(必选)

2.3 红帽Ceph存储的操作系统要求

红帽Ceph存储3需要在存储集群中的所有Ceph节点上运行的具有同类版本的Ubuntu 16.04,如AMD64或Intel 64架构。

重点:

红帽不支持具有不同操作系统和版本的群集。

其他资源

2.4 启用红帽Ceph的存储源

在安装红帽Ceph存储(RHCS)之前,请在存储群集中的每个节点上启用适当的软件存储库。 访问RHCS软件存储库需要在红帽客户门户网站上有效的红帽登录名和密码

重点:

联系您的客户经理获取https://rhcs.download.redhat.com的凭证。

要求:

  • 有效的客户订阅。
  • RHCS节点可以连接到Internet。

步骤

在Ansible管理节点上,启用Red Hat Ceph Storage 3 Tools存储库:


$ sudo bash -c 'umask 0077; echo deb https://customername:customerpasswd@rhcs.download.redhat.com/3-updates/Tools $(lsb_release -sc) main | tee /etc/apt/sources.list.d/Tools.list'
$ sudo bash -c 'wget -O - https://www.redhat.com/security/fd431d51.txt | apt-key add -'
$ sudo apt-get update

其他资源

红帽企业版Linux系统管理员指南中的注册和管理订阅章节

2.5。 使用具有OSD节点的RAID控制器的注意事项(可选)

如果在节点上安装了具有1-2 GB缓存的RAID控制器,启用写回缓存可能会增加小I / O写入吞吐量,但缓存必须是非易失性的。

现代RAID控制器通常具有超级电容器,可在掉电事件期间提供足够的功率来将易失性存储器消耗到非易失性NAND存储器。了解电源恢复后特定控制器和固件的工作情况很重要。

一些RAID控制器需要手动干预。硬盘驱动器通常会向操作系统发布广告,默认情况下应该启用还是禁用其磁盘缓存。但是,某些RAID控制器或某些固件不提供此类信息,因此请验证已禁用磁盘级缓存以避免文件系统损坏。

为每个启用了回写缓存​​的Ceph OSD数据驱动器创建一个具有回写功能的单个RAID 0卷。

如果RAID控制器上还存在串行连接SCSI(SAS)或SATA连接的固态驱动器(SSD)磁盘,请调查控制器和固件是否支持直通模式。启用传递模式有助于避免高速缓存逻辑,并且通常会为高速媒体带来更低的延迟。

2.6。 验证红帽Ceph存储的网络配置

所有红帽Ceph存储(RHCS)节点都需要公共网络。 您必须将网络接口卡配置为公共网络,Ceph客户端可以访问Ceph监视器和Ceph OSD节点。

您可能有一个用于集群网络的网络接口卡,以便Ceph可以在独立于公共网络的网络上进行心跳,对等,复制和恢复。

配置网络接口设置并确保在重新启动时使更改保持不变。

重点:

红帽不建议为公共和专用网络使用单一网络接口卡。

其他资源:

有关网络配置的更多信息,请参阅“适用于Red Hat Ceph Storage 3的配置指南”中的“网络配置参考”一章。

2.7。 为红帽Ceph存储配置防火墙(可选)

红帽Ceph存储(RHCS)使用iptables服务。

Monitor守护进程使用端口6789在Ceph存储群集内进行通信。

在每个Ceph OSD节点上,OSD守护进程使用6800-7300范围内的多个端口:

一个用于通过公共网络与客户端和监视器进行通信
一个用于通过集群网络向其他OSD发送数据(如果可用); 否则,通过公共网络
一个用于在群集网络上交换心跳包(如果可用); 否则,通过公共网络
Ceph Manager(ceph-mgr)守护进程使用范围为6800-7300的端口。 考虑在同一节点上使用监视器来协调ceph-mgr守护进程。

Ceph元数据服务器节点(ceph-mds)使用端口6800。

Ceph对象网关节点默认使用端口7480。 但是,您可以更改默认端口,例如端口80。

要使用SSL / TLS服务,请打开端口443。

要求:

网络硬件已连接。

步骤:

在指定的每个节点上以root用户身份执行以下步骤。

2.7.1 在所有Monitor节点上,打开公共网络上的端口6789:


iptables -I INPUT 1 -i $NIC_NAME -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dport 6789 -j ACCEPT

替换:

  • $NIC_NAME 在公共网络上使用网络接口卡的名称。
  • $IP_ADDR 与监视节点的网络地址。
  • $NETMASK_PREFIX 使用无类别域间路由(CIDR)表示法中的网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -p tcp -s 192.168.0.11/24 --dport 6789 -j ACCEPT

2.7.2. 在所有OSD节点上,打开公共网络上的端口6800-7300:


iptables -I INPUT 1 -i $NIC_NAME -m multiport -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dports 6800:7300 -j ACCEPT

替换:

  • $NIC_NAME  在公共网络上使用网络接口卡的名称。
  • $IP_ADDR  与OSD节点的网络地址。
  • $NETMASK_PREFIX   在CIDR表示法中使用网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -m multiport -p tcp -s 192.168.0.21/24 --dports 6800:7300 -j ACCEPT

2.7.3. 在所有的Ceph Manager(ceph-mgr)节点上(通常是与Monitor相同的节点),打开公共网络上的端口6800-7300:


iptables -I INPUT 1 -i $NIC_NAME -m multiport -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dports 6800:7300 -j ACCEPT

替换:

  • $NIC_NAME  在公共网络上使用网络接口卡的名称。
  • $IP_ADDR  与OSD节点的网络地址。
  • $NETMASK_PREFIX   在CIDR表示法中使用网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -m multiport -p tcp -s 192.168.0.21/24 --dports 6800:7300 -j ACCEPT

2.7.4.  在所有Ceph元数据服务器(ceph-mds)节点上,打开公共网络上的端口6800:


iptables -I INPUT 1 -i $NIC_NAME -m multiport -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dports 6800 -j ACCEPT

替换:

  • $NIC_NAME   在公共网络上使用网络接口卡的名称。
  • $IP_ADDR  与Metadata Server节点的网络地址。
  • $NETMASK_PREFIX   在CIDR表示法中使用网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -m multiport -p tcp -s 192.168.0.21/24 --dports 6800 -j ACCEPT

2.7.5. 在所有Ceph对象网关节点上,打开公共网络上的相关端口。

2.7.5.1  要打开默认端口7480:


iptables -I INPUT 1 -i $NIC_NAME -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dport 7480 -j ACCEPT

替换:

  • $ NIC_NAME,公网名称为网络接口卡。
  • $ IP_ADDR与对象网关节点的网络地址。
  • $ NETMASK_PREFIX与CIDR表示法中的网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -p tcp -s 192.168.0.31/24 --dport 7480 -j ACCEPT

2.7.5.2  可选的。 如果您将默认的Ceph对象网关端口(例如,端口80)更改为端口80,请打开此端口:


iptables -I INPUT 1 -i $NIC_NAME -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dport 80 -j ACCEPT

替换:

  • $ NIC_NAME,公网名称为网络接口卡。
  • $ IP_ADDR与对象网关节点的网络地址。
  • $ NETMASK_PREFIX与CIDR表示法中的网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -p tcp -s 192.168.0.31/24 --dport 80 -j ACCEPT

2.7.5.3  可选的。 要使用SSL / TLS,请打开端口443:


iptables -I INPUT 1 -i $NIC_NAME -p tcp -s $IP_ADDR/$NETMASK_PREFIX --dport 443 -j ACCEPT

替换:

  • $ NIC_NAME,公网名称为网络接口卡。
  • $ IP_ADDR与对象网关节点的网络地址。
  • $ NETMASK_PREFIX与CIDR表示法中的网络掩码。

例如:


$ sudo iptables -I INPUT 1 -i enp6s0 -p tcp -s 192.168.0.31/24 --dport 443 -j ACCEPT

2.7.6.使更改在存储群集中的所有RHCS节点上持久保存。

2.7.6.1 安装iptables-persistent软件包:


$ sudo apt-get install iptables-persistent

2.7.6.2 在出现的终端UI中,选择yes将当前IPv4 iptables规则保存到/etc/iptables/rules.v4文件,并将当前IPv6 iptables规则保存到/etc/iptables/rules.v6文件。

注意:

如果在安装iptables-persistent之后添加新的iptables规则,请将新规则添加到规则文件中:


$ sudo iptables-save >> /etc/iptables/rules.v4

其他资源:

有关公共和群集网络的更多信息,请参阅验证红帽Ceph存储的网络配置

2.8 使用sudo Access创建一个Ansible用户

Ansible必须能够以具有root权限的用户身份登录到红帽Ceph存储(RHCS)节点,才能在不提示输入密码的情况下安装软件并创建配置文件。

要求:

具有对存储群集中所有节点的root或sudo访问权限。

步骤:

以root用户身份在存储群集中的所有节点上执行以下步骤。

2.8.1 以root用户身份登录Ceph节点:


ssh root@$HOST_NAME

替换:

  • $ HOST_NAME与Ceph节点的主机名称。

例如:


# ssh root@mon01

提示时输入root密码。

2.8.2 创建一个新的Ansible用户:


adduser $USER_NAME

替换:

  • $ USER_NAME用于Ansible用户的新用户名。

例如:


$ sudo adduser admin

出现提示时,请为该用户输入两次密码。

重要:

不要使用ceph作为用户名。 ceph用户名是为Ceph守护进程保留的。 跨群集的统一用户名可以提高易用性,但避免使用明显的用户名,因为入侵者通常会将其用于强力攻击。

2.8.3 为新创建的用户配置sudo访问权限:


cat << EOF >/etc/sudoers.d/$USER_NAME
$USER_NAME ALL = (root) NOPASSWD:ALL
EOF

替换:

  • $ USER_NAME用于Ansible用户的新用户名。

例如:


$ sudo cat << EOF >/etc/sudoers.d/admin
admin ALL = (root) NOPASSWD:ALL
EOF

2.8.4 为新文件分配正确的文件权限:


chmod 0440 /etc/sudoers.d/$USER_NAME

替换:

  • $ USER_NAME用于Ansible用户的新用户名。

例如:


$ sudo chmod 0440 /etc/sudoers.d/admin

其他资源

“红帽企业版Linux 7系统管理员指南”中的添加新用户部分。

2.9 为Ansible启用无密码SSH

在Ansible管理节点上生成SSH密钥对,并将公钥分配给存储群集中的每个节点,以便Ansible可以在不提示输入密码的情况下访问节点。

先决条件

创建一个sudo用户参考章节2.8

步骤:

从Ansible管理节点以及Ansible用户执行以下步骤。

2.9.1 生成SSH密钥对,接受默认文件名并将密码短语保留为空:


[user@admin ~]$ ssh-keygen

将公钥复制到存储群集中的所有节点:


ssh-copy-id $USER_NAME@$HOST_NAME

替换:

  • $ USER_NAME用于Ansible用户的新用户名。
  • $ HOST_NAME与Ceph节点的主机名称。

例如:


[user@admin ~]$ ssh-copy-id ceph-admin@ceph-mon01

2.9.3  创建并编辑〜/ .ssh / config文件。

重点:

通过创建和编辑〜/ .ssh / config文件,您不必在每次执行ansible-playbook命令时都指定-u $ USER_NAME选项。

2.9.3.1 创建SSH配置文件:


[user@admin ~]$ touch ~/.ssh/config

2.9.3.2 打开配置文件进行编辑。 为存储群集中的每个节点设置主机名和用户选项:


Host node1
   Hostname $HOST_NAME
   User $USER_NAME
Host node2
   Hostname $HOST_NAME
   User $USER_NAME
...

替换:

  • $ HOST_NAME与Ceph节点的主机名称。
  • $ USER_NAME用于Ansible用户的新用户名。

例如:


Host node1
   Hostname monitor
   User admin
Host node2
   Hostname osd
   User admin
Host node3
   Hostname gateway
   User admin

2.9.3.4 为〜/ .ssh / config文件设置正确的文件权限:


[admin@admin ~]$ chmod 600 ~/.ssh/config

其他资源:

ssh_config(5)手册页

“红帽企业版Linux 7系统管理员指南”中的OpenSSH章节

本章参考

转载请注明:Nov » 第2章安装RED HAT CEPH存储的要求

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址