使用ceph-deploy快速安装ceph集群

使用ceph-deploy快速安装ceph集群

注!!!(此文档仅适用于使用ceph-deploy工具快速安装)

一、准备阶段

准备三台主机并设置ip和主机名

注!!!设置ip和主机名是创建虚拟机安装系统时就设置好的

192.168.XXX.XXX node1

192.168.XXX.XXX node2

192.168.XXX.XXX node3

主机名 磁盘 磁盘
node1(mon1、osd0、osd1) sdb sdc
node2(mon2、osd2、osd3) sdb sdc
node3(mon3、osd4、osd5) sdb sdc

在每个节点添加主机名映射(主机名根据自身主机情况而定,最好重命名)

vi /etc/hosts

192.168.XXX.XXX node1

192.168.XXX.XXX node2

192.168.XXX.XXX node3

固定每个虚拟机地址,以防部署过程中虚拟机地址改变(可选)

vi /etc/sysconfig/network-scripts/ifcfg-XXX

BOOTPROTO="static"     ----更改项

IPADDR=192.168.XXX.XXX		----增加项

GATEWAY=192.168.XXX.2		----增加项

NETMASK=255.255.255.0		----增加项

DNS1=192.168.XXX.2			----增加项

ping 其他虚拟机名称

ping baidu.com

都没问题则成功

每个节点关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

每个节点时钟校验(可选)

sudo yum install ntp ntpdate ntp-doc
ntpdate 0.cn.pool.ntp.org

二、安装阶段

添加ceph库到yum配置文件

vi /etc/yum.repos.d/ceph.repo

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-(!!ceph版本!!)/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

如nautilus版本:(以下使用的是清华源)

[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-nautilus/el7/$basearch
enabled=1
priority=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-nautilus/el7/noarch
enabled=1
priority=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-nautilus/el7/SRPMS
enabled=1
priority=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc

更新yum和安装ceph-depoly

sudo yum update
sudo yum -y install ceph-deploy

安装SSH并启用无密码登录(如果已有,可以不用安)

sudo yum -y install openssh-server
  1. 在每个Ceph节点上创建一个新用户。

    ssh 节点名称
    sudo useradd -d /home/{username} -m {username}
    sudo passwd {username}		#为新用户设置密码
    

    ssh node2
    sudo useradd -d /home/oucephd -m oucephd
    sudo passwd oucephd			#为新用户设置密码
    
  2. 对于添加到每个Ceph节点的新用户,请确保该用户具有 sudo权限。

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

    echo "oucephd ALL = (root) NOPASSWD:ALL" | sudo tee etc/sudoers.d/oucephd
    sudo chmod 0440 /etc/sudoers.d/oucephd
    
  3. 在mon1节点上切换到新用户

    (如果您认为有必要可以在三个节点上都执行以下操作)

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.

#一直回车就行

  1. 将生成的密钥复制到各个节点

    ssh-copy-id {username}@node1
    ssh-copy-id {username}@node2
    ssh-copy-id {username}@node3
    

    ssh-copy-id oucephd@node1
    ssh-copy-id oucephd@node2
    ssh-copy-id oucephd@node3
    
  2. 修改node1的~/.ssh/config文件

    vi ~/.ssh/config

    Host node1
       Hostname node1
       User {username}
    Host node2
       Hostname node2
       User {username}
    Host node3
       Hostname node3
       User {username}
    

    Host node1
       Hostname node1
       User oucephd
    Host node2
       Hostname node2
       User oucephd
    Host node3
       Hostname node3
       User oucephd
    

sudo chmod 600 ~/.ssh/config

使用ceph-deploy安装ceph集群

1.在mon切换到新用户

mkdir my-cluster
cd my-cluster

2.创建一个集群

同时会创建mon节点,可以有多个mon节点

ceph-deploy new node1 node2 node3

my-cluster目录下会产生三个文件

vi my-cluster/ceph.conf

在最后一行添加osd默认数量

osd pool default size = 6

3.安装ceph包

ceph-deploy install node1 node2 node3

#这一步很耗时间

!!如果出现ceph --version报错,在报错节点上yum -y remove ceph-release

4.部署监视器(mon)并收集密钥

ceph-deploy mon create-initial

#完成后目录下会产生若干个*.keyring

创建osd ------建议使用新磁盘

如果ceph是 L 以上版本

ceph-deploy osd create --data {device} {ceph-node}

例:

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

否则 先准备osd (这里以目录为例,未使用新磁盘)

 ssh node2
 sudo mkdir /var/local/osd2
 sudo chown -R ceph:ceph /var/local/osd2
 exit

以同样的方式操作node3

准备osd

目录:

ceph-deploy osd prepare node2:/var/local/osd2 node2:/var/local/osd3 node3:/var/local/osd4 node3:/var/local/osd5 

磁盘:

ceph-deploy osd prepare node2:/dev/sdc node2:/dev/sdb node3:/dev/sdc node3:/dev/sdb

激活osd

目录:

ceph-deploy osd activate node2:/var/local/osd2 node2:/var/local/osd3 node3:/var/local/osd4 node3:/var/local/osd5 

磁盘:

ceph-deploy osd activate node2:/dev/sdc node2:/dev/sdb node3:/dev/sdc node3:/dev/sdb

将管理密钥复制到各个节点

ceph-deploy admin node1 node2 node3

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

安装完成

查看集群状态

ceph -s

显示健康状态为OK则安装成功

。。。

health HEALTH_OK

。。。

你可能感兴趣的:(使用ceph-deploy快速安装ceph集群)