分布式存储Ceph的快速安装方法
更新:HHH   时间:2023-1-7


这篇文章主要讲解了“分布式存储Ceph的快速安装方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分布式存储Ceph的快速安装方法”吧!

环境准备

  • 系统CentOS 7.3

  • 文件系统XFS

  • 集群节点数量3

总共3台机器,mon和osd每个节点都进行部署,其中node0节点同时作为管理节点通过ceph-deploy部署自身节点和其他节点。

安装 ceph-deploy

  • 在所有节点执行下列命令

    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*


     

  • 修改ceph的yum源为163

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


    ceph.repo改为如下

    [ceph]
    name=ceph
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
    gpgcheck=0
    priority=1
    
    [ceph-noarch]
    name=cephnoarch
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
    gpgcheck=0
    priority=1
    
    [ceph-source]
    name=Ceph source packages
    baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/SRPMS
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=http://mirrors.163.com/ceph/keys/release.asc
    priority=1


     

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

    sudo yum update && sudo yum install ceph-deploy


     

Ceph节点安装

  • 所有节点安装NTP

    sudo yum install ntp ntpdate ntp-doc


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

  • 所有节点安装 SSH 服务器

    sudo yum install openssh-server

     

  • 创建部署 Ceph 的用户

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

    sudo useradd -d /home/work -m work 
    sudo passwd work

    2. 确保各 Ceph 节点上新创建的用户都有 sudo 权限

    echo "work ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/work
    sudo chmod 0440 /etc/sudoers.d/work


     

  • 允许无密码 SSH 登录
    正因为 ceph-deploy 不支持输入密码,你必须在管理节点上生成 SSH 密钥并把其公钥分发到各 Ceph 节点。 ceph-deploy 会尝试给初始 monitors 生成 SSH 密钥对。
    1. 用work用户生成 SSH 密钥对。提示 “Enter passphrase” 时,直接回车,口令即为空

    ssh-keygen

    2. 把公钥拷贝到各 Ceph 节点,公钥在node0生成的拷贝到node1和node2节点

    ssh-copy-id work@node1
    ssh-copy-id work@node2


     

  • 开放所需端口
    Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信。 Ceph OSD 能利用多个网络连接进行与客户端、monitors、其他 OSD 间的复制和心跳的通信。

  • 关闭防火墙和selinux

    systemctl stop firewalld && systemctl disable firewalld && setenforce 0 && sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config


     

  • 优先级/首选项

    sudo yum install yum-plugin-priorities


  • 在work用户下创建文件夹

    mkdir my-cluster && cd my-cluster

     

创建集群

  • 创建monitor集群

    ceph-deploy new node0 node1 node2

     这里我们node0,node1,node2都作为monitor集群节点,命令执行完后会生成应 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。

  • Ceph 配置文件里
    osd pool default size 为副本数量默认为3,如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下。public network = {ip-address}/{netmask},例子如下:

    public network = 10.112.101.0/24


     

  • 安装 Ceph

    ceph-deploy install node0 node1 node2


     

  • 配置初始 monitor(s)、并收集所有密钥

    ceph-deploy mon create-initial


     

添加OSD 

  • 添加3个OSD

    sudo mkdir /var/local/osd0
    
    ssh node1
    sudo mkdir /var/local/osd1
    exit
    
    ssh node2
    sudo mkdir /var/local/osd2
    exit

    修改目录权限

    chmod 777  /var/local/osd0/ | chmod 777  /var/local/osd0/* | chmod 777  /var/local/osd1/ |chmod 777  /var/local/osd1/* | chmod 777  /var/local/osd2/ |chmod 777  /var/local/osd2/*


  • 从管理节点执行 ceph-deploy 来准备 OSD

    ceph-deploy osd prepare node0:/var/local/osd0 node1:/var/local/osd1 node2:/var/local/osd2


     

  • 激活OSD

    ceph-deploy osd activate node0:/var/local/osd0 node1:/var/local/osd1 node2:/var/local/osd2


     

  • 用 ceph-deploy 把配置文件和 admin 密钥拷贝到管理节点和 Ceph 节点,这样你每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring 了。

    ceph-deploy admin node0 node1 node2


     

  • 确保你对 ceph.client.admin.keyring 有正确的操作权限。

    sudo chmod +r /etc/ceph/ceph.client.admin.keyring


     

  • 查看集群状态

    ceph -s


至此快速搭建集群完成!

感谢各位的阅读,以上就是“分布式存储Ceph的快速安装方法”的内容了,经过本文的学习后,相信大家对分布式存储Ceph的快速安装方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!

返回云计算教程...