zoukankan      html  css  js  c++  java
  • CEPH安装(CentOS 7)

    以包含四个节点的集群为例,其中包括一个 ceph-deploy 管理节点和一个三节点的Ceph存储集群。

    下图中每个节点代表一台机器。

    安装 CEPH 部署工具

    执行如下命令:

    sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*

    把软件包源加入软件仓库。用文本编辑器创建一个 YUM (Yellowdog Updater, Modified) 库文件,其路径为 /etc/yum.repos.d/ceph.repo 。例如:

    sudo vim /etc/yum.repos.d/ceph.repo

    把如下内容粘帖进去,用 Ceph 的最新主稳定版名字替换 {ceph-stable-release} (如 firefly ),用你的Linux发行版名字替换 {distro} (如 el6 为 CentOS 6 、 el7 为 CentOS 7 、 rhel6 为 Red Hat 6.5 、 rhel7 为 Red Hat 7 、 fc19 是 Fedora 19 、 fc20 是 Fedora 20 )。最后保存到 /etc/yum.repos.d/ceph.repo 文件中。

    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://download.ceph.com/keys/release.asc

    更新软件库并安装 ceph-deploy :

    sudo yum update && sudo yum install ceph-deploy

    CEPH 节点安装

    你的管理节点必须能够通过 SSH 无密码地访问各 Ceph 节点。如果 ceph-deploy 以某个普通用户登录,那么这个用户必须有无密码使用 sudo 的权限。

    安装 NTP

    我们建议在所有 Ceph 节点上安装 NTP 服务(特别是 Ceph Monitor 节点),以免因时钟漂移导致故障,详情见时钟

    在 CentOS / RHEL 上,执行:

    sudo yum install ntp ntpdate ntp-doc

    确保在各 Ceph 节点上启动了 NTP 服务,并且要使用同一个 NTP 服务器。

    安装 SSH 服务器

    所有 Ceph 节点上执行如下步骤:

    1. 在各 Ceph 节点安装 SSH 服务器(如果还没有):
      sudo yum install openssh-server
    2. 确保所有 Ceph 节点上的 SSH 服务器都在运行。

    创建部署 CEPH 的用户

    ceph-deploy 工具必须以普通用户登录 Ceph 节点,且此用户拥有无密码使用 sudo 的权限,因为它需要在安装软件及配置文件的过程中,不必输入密码。

    在集群内的所有 Ceph 节点上给 ceph-deploy 创建一个特定的用户,但不要用 “ceph” 这个名字。

    1. 在各 Ceph 节点创建新用户。
      ssh user@ceph-server
      sudo useradd -d /home/{username} -m {username}
      sudo passwd {username}
    2. 确保各 Ceph 节点上新创建的用户都有 sudo 权限。
      echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
      sudo chmod 0440 /etc/sudoers.d/{username}

    允许无密码 SSH 登录

    正因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。

    1. 生成 SSH 密钥对,但不要用 sudo 或 root 用户。提示 “Enter passphrase” 时,直接回车,口令即为空:
      ssh-keygen
      
      Generating public/private key pair.
      Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
      Enter passphrase (empty for no passphrase):
      Enter same passphrase again:
      Your identification has been saved in /ceph-admin/.ssh/id_rsa.
      Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.
    2. 把公钥拷贝到各 Ceph 节点,把下列命令中的 {username} 替换成前面创建部署 Ceph 的用户里的用户名。
      ssh-copy-id {username}@node1
      ssh-copy-id {username}@node2
      ssh-copy-id {username}@node3
    3. 修改 ceph-deploy 管理节点上的 ~/.ssh/config 文件,这样 ceph-deploy 就能用你所建的用户名登录 Ceph 节点了,而无需每次执行 ceph-deploy 都要指定 --username {username} 。这样做同时也简化了 ssh 和 scp 的用法。把 {username} 替换成你创建的用户名。
      Host node1
         Hostname node1
         User {username}
      Host node2
         Hostname node2
         User {username}
      Host node3
         Hostname node3
         User {username}

    开放所需端口

    Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信。详情见网络配置参考。 Ceph OSD 能利用多个网络连接进行与客户端、monitors、其他 OSD 间的复制和心跳的通信。

    对于 RHEL 7 上的 firewalld ,要对公共域开放 Ceph Monitors 使用的 6789 端口和 OSD 使用的 6800:7300 端口范围,并且要配置为永久规则,这样重启后规则仍有效。例如:

    sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent

    若使用 iptables ,要开放 Ceph Monitors 使用的 6789 端口和 OSD 使用的 6800:7300 端口范围,命令如下:

    sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT

    在每个节点上配置好 iptables 之后要一定要保存,这样重启之后才依然有效。例如:

    /sbin/service iptables save

    附: iptables -L -n  用来查询防火墙和iptable的出入规则。

    SELINUX

    在 CentOS 和 RHEL 上, SELinux 默认为 Enforcing 开启状态。为简化安装,我们建议把 SELinux 设置为 Permissive 或者完全禁用,也就是在加固系统配置前先确保集群的安装、配置没问题。用下列命令把 SELinux 设置为 Permissive :

    sudo setenforce 0

    要使 SELinux 配置永久生效(如果它的确是问题根源),需修改其配置文件 /etc/selinux/config 。

    优先级/首选项

    确保你的包管理器安装了优先级/首选项包且已启用。在 CentOS 上你也许得安装 EPEL ,在 RHEL 上你也许得启用可选软件库。

    sudo yum install yum-plugin-priorities

    比如在 RHEL 7 服务器上,可用下列命令安装 yum-plugin-priorities并启用 rhel-7-server-optional-rpms 软件库:

    sudo yum install yum-plugin-priorities --enablerepo=rhel-7-server-optional-rpms

    声明:该文档由官方文档根据自己需求整理而来。

  • 相关阅读:
    洛谷P1196银河英雄传说
    NOIP2011普及组第三题瑞士轮(洛谷P1309)
    Dijkstra算法
    10.13做题——洛谷1449后缀表达式
    NOI题库(1.12.T3)甲流病人初筛
    10.12做题——NOI题库(1.13.T30)1的个数
    NOIP考试必备——随机数
    10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)
    10.9做题——洛谷P1927防护伞
    10.9做题——USACO1.2/洛谷1206回文平方数(Palindromic Squares)
  • 原文地址:https://www.cnblogs.com/jugglee/p/8126605.html
Copyright © 2011-2022 走看看