Ceph-deploy 部署ceph集群
1 Ceph部署
1.1 安装前准备
1.1.1 环境
系统 |
Ip |
角色 |
工具说明 |
备注 |
CentOS 7.6
数据盘 vdb 50G vdc 20G vdd 20G
Ceph 版本 12.2.12 |
10.0.23.133 10.0.23.136
主机名 ceph-1 |
Ceph-deploy MON RGW MDS OSD Node |
Ceph-deploy 是安装ceph的工具,中小型集群适合使用ceph-deploy部署ceph |
133网段是用于给客户端提供数据网段。 136网段是ceph集群内部网段,实现数据复制同步不容许客户端访问
|
CentOS 7.6
数据盘 vdb 50G vdc 20G vdd 20G
Ceph 版本 12.2.12 |
10.0.23.134 10.0.23.137
主机名 ceph-2 |
MON RGW MDS OSD Node |
|
134网段是用于给客户端提供数据网段。 137网段是ceph集群内部网段,实现数据复制同步不容许客户端访问
|
CentOS 7.6
数据盘 vdb 50G vdc 20G vdd 20G
Ceph 版本 12.2.12 |
10.0.23.135 10.0.23.138
主机名 ceph-3 |
MON RGW MDS OSD Node |
|
135网段是用于给客户端提供数据网段。 138网段是ceph集群内部网段,实现数据复制同步,不容许客户端访问
|
1.1.2 所有节点运行
1.1.2.1 配置ecph rpm源
使用阿里云ceph源:https://mirrors.aliyun.com/ceph/rpm-luminous/el7/
vi /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
priority=0
[ceph-noarch]
name=cephnoarch
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
priority=0
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
1.1.2.2 配置NTP
# yum -y install ntpdate ntp
# ntpdate cn.ntp.org.cn
#systemctl restart ntpd &&systemctl enable ntpd
创建部署用户
# useradd cephadmin
# echo "cephadmin"| passwd --stdin cephadmin
# echo "cephadmin ALL = (root) NOPASSWD:ALL" |sudo tee /etc/sudoers.d/cephadmin #设置cephadmin用户使用sudo是不需要输入密码
# chmod 0440 /etc/sudoers.d/cephadmin
不要使用ceph用户,该用户是进程用户,也不要使用 root 用户,该用户无法使用sudo
1.1.2.3 配置防火墙,或者关闭
# firewall-cmd --zone=public --add-port=6789/tcp --permanent
# firewall-cmd --zone=public --add-port=6800-7100/tcp --permanent
# firewall-cmd --reload
# firewall-cmd --zone=public --list-all
或关闭
# systemctl stop firewalld
# systemctl disable firewalld
1.1.2.4 关闭selinux
#sed -i "/^SELINUX/s/enforcing/disabled/" /etc/selinux/config
# setenforce 0
1.1.2.5 配置主机名解析
使用/etc/hosts 或是dns
hostnamectl set-hostname ceph-1 && bash
hostnamectl set-hostname ceph-2 && bash
hostnamectl set-hostname ceph-3 && bash
# cat >> /etc/hosts <<EOF
> 10.0.23.133 ceph-1
> 10.0.23.134 ceph-2
> 10.0.23.135 ceph-3
> EOF
1.1.2.6 配置sudo不需要tty
# sed -i "s/Defaultrequiretty/#Defaultrequiretty/" /etc/sudoers
1.1.3 部署节点执行
1.1.4 配置 ssh 免密码登陆
# sudo su - cephadmin
$ ssh-keygen
$ ssh-copy-id cephadmin@ceph-1
$ ssh-copy-id cephadmin@ceph-2
$ ssh-copy-id cephadmin@ceph-3
1.2 使用ceph-deploy 部署集群
1.2.1 安装软件(在10.0.23.133节点即可)
1.2.1.1 安装ceph-deploy软件
$ sudo yum install -y ceph-deploy python-pip
1.2.1.2 安装ceph包(三个节点执行)
#sudo yum install -y ceph ceph-radosgw
//安装 ceph包,替代 ceph-depl oy install node1 node2 ,不过下面的命令需要在每台node上安装
1.2.2 创建集群
1.2.2.1 安装ceph软件 (在10.0.23.133节点即可)
$ mkdir my-cluster
$ cd my-cluster
$ ceph-deploy new ceph-1 ceph-2 ceph-3 //部署节点
$ ls
$vim ceph.conf
[global]
.....
public network = 10.0.23.0/24 //提供客户端的网段
cluster network = 10.0.23.0/24 // 这个网段为集群内部网段,因没有第二个网段,两个网卡都是一个网段
ceph-deploy -cluster{cluster-name} new node1 node2 //创建一个自定集群名称的ceph集群,默 认为 ceph
1.2.3 创建集群(在10.0.23.133节点即可)
1.2.3.1 集群初始化
$ ceph-deploy mon create-initial //配置初始 monitor(s)、并收集所有密钥
$ ls -l *.keyring
$ ceph-deploy admin ceph-1 ceph-2 ceph-3 //把配置信息拷贝到各节点
$ sudo chown -R cephadmin:cephadmin /etc/ceph
$ ceph -s
1.2.3.2 配置 OSD
[cephadmin@ceph-1 my-cluster]$ for dev in /dev/vdb /dev/vdc /dev/vdd
> do
> ceph-deploy disk zap ceph-1 $dev
> ceph-deploy osd create ceph-1 --data $dev
> ceph-deploy disk zap ceph-2 $dev
> ceph-deploy osd create ceph-2 --data $dev
> ceph-deploy disk zap ceph-3 $dev
> ceph-deploy osd create ceph-3 --data $dev
> done
如果要在LVM卷上创建OSD,则参数--data 必须是 volume_group/lv_name ,而不是卷的 块设备的路径
再次查看集群状态
1.2.3.3 部署mgr,L版本以后才需要部署
$ceph-deploy mgr create ceph-1 ceph-2 ceph-3
1.2.3.4 查看开启的模块
$ ceph mgr module ls
1.2.3.5 开启 dashboard 模块,用于UI查看
$ ceph mgr module enable dashboard
1.2.3.6 检查集群状态
$ceph -s
1.2.3.7 浏览器打开
http://10.0.23.133:7000 #端口默认是7000
到此ceph集群安装完成