分布式存储Ceph 快速安装手册

环境准备

  • 系统CentOS 7.3
  • 文件系统XFS
  • 集群节点数量3
    191752_Ob4h_214589.png

总共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

     

至此快速搭建集群完成!

转载于:https://my.oschina.net/ytqvip/blog/1604965

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值