Ceph高可用集群搭建超级详细步骤

    科技2022-07-10  134

    设置三台linux主机并配置不同的ip地址以及内网地址

    我设置的ip网址为:192.168.236.121 192.168.236.122 192.168.236.123

    内网地址为:192.168.100.101 192.168.100.102 192.168.100.103

    设置三条主机名分别为node1、node2、node3

    hostnamectl set-hostname node1

    bash #使得命名生效

    编写hosts文件并传递到另外两个主机上

    免密钥登录

    keygen 生成公钥和私钥

    将公钥派发到三个节点上

    ssh-copy-id -i 公钥存放地址

    关闭防火墙

    关闭selinux

    SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)

    将/etc/selinux下的config文件中的selinux修改为disabled

    设置setenforce为0 (临时关闭selinux)

    setenforce 0

    查看当前selinux状态

    getenforce

    关闭防火墙

    systemctl disable firewalld systemctl stop firewalld

    设置ntp同步

    安装ntp

    yum install ntp -y

    如果需要将ntp的时间以内网为准的话需要设置ntp的文件,也就是设置以下部分

    这里默认是指向外网的,一般都需要指向公司的ntp服务器

    文件位于 /etc/ntp.conf

    重启ntp服务

    systemctl restart ntpd

    systemctl enable ntpd

    查看是否启动

    ntpq -pn

    将另外两台服务器的ntp指向第一台服务器的ntp,并重新启动ntp服务

    在其对用的ntp.conf文件中将原来的server注释掉,然后添加对应的服务器

    sever ip iburst

    如果出现*则说明同步完成

    配置yum源

    配置centos的yum源

    删除原来自带的yum源

    rm -f * 删除掉 /etc/yum.repos.d/下的yum源

    在阿里云镜像上找到与自己版本匹配的yum源

    配置epl的yum源

    配置ceph的yum源

    自己编写ceph.repo文件

    [norch] name=norch baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/ enabled=1 gpgcheck=0 [x86_64] name=x86 64 baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/ enabled=1 gpgcheck=0

    创建缓存 yum makecache

    安装ceph-deploy

    yum install python-setuptools ceph-deploy

    需要确保版本是2.0.1或者是2.0.0

    创建monitor

    先创建ceph-deploy文件夹,进入之后执行创建monitor 命令,创建ceph-deloy文件夹是想将让生成的文件放到包里面

    ceph-deploy new --public-network 192.168.236.0/24 --cluster-network 192.168.100.0/24 node1

    public-network用于对外,cluster-network用于对内

    安装依赖的包 (每个节点都需要安装)

    yum install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds -y

    初始化monitor

    ceph-deploy mon create-initial

    将admin的密钥推送到所有的节点上

    ceph-deploy admin node1 node2 node3

    部署监控节点

    ceph-deploy mgr create node1

    添加osd

    可以将主机中的磁盘作为osd添加到ceph集群中

    ceph-deploy osd create node1 --data /dev/sdb

    ceph-deploy osd create node2 --data /dev/sdb

    ceph-deploy osd create node3 --data /dev/sdb

    为了确保高可用的集群,需要部署多个monitor,ceph采用的是Paxos算法,因此需要部署奇数个mon

    ceph-depoly mon add node2 --address 192.168.100.102

    ceph-depoly mon add node2 --address 192.168.100.103

    也可以查看仲裁选举的情况

    ceph-deploy quorum_status --format json-pretty

    部署多个mgr节点,也是为了高可用,但是此处的mgr节点只有一个是active的状态,其余的都是standby状态

    ceph-deploy mgr create node2 node3

    到此我们已经部署一个有3个mon,3个mgr和3个osd的高可用ceph集群!

    Processed: 0.040, SQL: 8