命令记不住

登陆

ceph-deploy 初始化集群

00.ceph-deploy初始化集群

1.集群部署规划

  • Ceph-deploy

ceph集群部署节点,负责集群整体部署,这里复用node1节点,也可以单独找一台服务器作为部署节点

  • Monitor

ceph 监视管理节点,承担ceph集群重要的管理任务,负责集群状态维护,例如存储池副本数,PG状态,OSD数量等,至少部署1个,一般需要3或5个节点组建高可用

  • osd

ceph存储节点,实际负责数据存储的节点,集群中至少有3个osd,不少于默认副本数,每个osd对应一块硬盘

服务器角色

主机名 操作系统 内网IP 裸盘 角色
ceph-node01 7.9.2009 192.168.6.141 sda/sdb/sdc ceph-deploy mon1 ose2
ceph-node02 7.9.2009 192.168.6.171 sda/sdb/sdc mon1 ose2
ceph-node03 7.9.2009 192.168.6.212 sda/sdb/sdc mon1 ose2

2.操作系统初始化

主机

# cat  ceph.host
192.168.6.141
192.168.6.171
192.168.6.212

关闭防火墙

# pssh -h ceph.host -i   sudo -b systemctl disable firewalld --now

关闭selinux

# pssh -h ceph.host -i   sudo -b setenforce 0
# pssh -h ceph.host -i   sudo -b sed -i 's/enforcing/disabled/g'  /etc/selinux/config

关闭swap

# pssh -h ceph.host -i   sudo -b swapoff -a
# pssh -h ceph.host -i   sudo -b sed -ri 's/.*swap*/#&/' /etc/fstab

重置主机名

# hostnamectl set-hostname

在master机器上添加hosts

# cat >> /etc/hosts << EOF
ceph-node01  192.168.6.141
ceph-node02  192.168.6.171
ceph-node03  192.168.6.212
EOf

优化系统

# echo "ulimit -SHn 102400" >> /etc/rc.local
# cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
# yum install ntpdate -y
# ntpdate time.windows.com

配置免密

 #ssh-copy-id -i ~/.ssh/id_rsa.pub

3.ceph-deploy集群部署

1.配置yum源

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

[ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/$basearch
enabled=1
priority=2
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
enabled=1
priority=2
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS
enabled=0
priority=2
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

2.安装ceph-deploy工具

yum install -y ceph-deploy python2-pip

3.创建集群

# 在ceph-node01上执行以下命令
mkdir my-cluster
cd my-cluster
# 创建一个ceph集群
ceph-deploy new ceph-node01 ceph-node02 ceph-node03
[root@ceph-node01 my-cluster]# ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring

4.安装ceph

# 在ceph-node01上执行以下命令
ceph-deploy install  ceph-node01 ceph-node02 ceph-node03 --no-adjust-repos

--no-adjust-repos  使用本地yum源

5.部署monitor服务

# 初始化并部署monitor,收集所有密钥
ceph-deploy mon create-initial

# 使用ceph-deploy命令将配置文件和admin key复制到管理节点和ceph节点,以便每次执行ceph CLI命令无需制定monitor地址和ceph.client.admin.keying
ceph-deploy admin ceph-node01 ceph-node02 ceph-node03

6.部署osd服务并添加硬盘

# 如果是使用过的旧盘,先执行如下命令,清空磁盘中的内容
wipefs -af /dev/sdx
# 创建6个OSD,分别对应每个节点未使用的硬盘
ceph-deploy osd create --data /dev/sdb ceph-node01
ceph-deploy osd create --data /dev/sdc ceph-node01
ceph-deploy osd create --data /dev/sdb ceph-node02
ceph-deploy osd create --data /dev/sdc ceph-node02
ceph-deploy osd create --data /dev/sdb ceph-node03
ceph-deploy osd create --data /dev/sdc ceph-node03

7.部署MGR服务

ceph-deploy mgr create ceph-node01 ceph-node02 ceph-node03

注意:

MGR是ceph L版本新增加的组件,主要作用是分担和扩展monitor的部分功能,减轻monitor的负担

建议每台monitor节点都部署一个mgr,以实现相同级别的高可用

8.禁用不安全模式

[root@ceph_03 ~]# ceph config set mon auth_allow_insecure_global_id_reclaim false
[root@ceph_03 ~]# ceph -s

4.ceph集群服务管理

1.启动所有守护进程

systemctl restart ceph.target

2.按类型启动守护进程

systemctl restart ceph-osd@id
systemctl restart ceph-mon.target
systemctl restart ceph-mds.target
systemctl restart ceph-mgr.target

5.常用命令

查看ceph集群状态

ceph -s

查看ceph版本

ceph -v

PG状态

ceph pg stat

Pool状态

# 查看存储池
ceph osd pool ls 
ceph osd pool ls detail

OSD状态

ceph osd stat
# OSD详情
ceph osd dump
# OSD分布
ceph osd tree
# OSD使用
ceph osd df

Monitor状态

ceph mon stat
# 仲裁状态
ceph quorum status

集群空间用量

ceph df
推荐阅读