关闭 selinux 与防火墙
systemctl disable --now firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
Ceph 环境规划(测试环境不需要Cluster网络)
| 主机名 | Public网络 | Cluster网络 | 角色 |
|---|---|---|---|
| admin | 192.168.158.24 | admin(管理节点负责集群整体部署)、client | |
| node01 | 192.168.158.25 | 192.168.158.29 | mon、mgr、osd(/dev/sdb、/dev/sdc、/dev/sdd) |
| node02 | 192.168.158.26 | 192.168.158.30 | mon、mgr、osd(/dev/sdb、/dev/sdc、/dev/sdd) |
| node03 | 192.168.158.27 | 192.168.158.31 | mon、osd(/dev/sdb、/dev/sdc、/dev/sdd) |
| client | 192.168.158.28 | client |
根据规划设置主机名
hostnamectl set-hostname admin
hostnamectl set-hostname node01
hostnamectl set-hostname node02
hostnamectl set-hostname node03
hostnamectl set-hostname client
配置 hosts 解析
cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.158.24 admin
192.168.158.25 node01
192.168.158.26 node02
192.168.158.27 node03
192.168.158.28 client
EOF
###验证
[root@admin ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.158.24 admin
192.168.158.25 node01
192.168.158.26 node02
192.168.158.27 node03
192.168.158.28 client
node1、node2、node3、添加子网

node1、node2、node3、添加磁盘
安装常用软件和依赖包
##CentOS7 需要安装
yum -y install epel-release
yum -y install yum-plugin-priorities yum-utils ntpdate python-setuptools python-pip gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bison setuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfig git bind-utils tmux elinks numactl iftop bwm-ng net-tools expect snappy leveldb gdisk python-argparse gperftools-libs conntrack ipset jq libseccomp socat chrony sshpass
在 admin 管理节点配置 ssh 免密登录所有节点
##在admin节点操作
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id root@admin
ssh-copy-id root@node01
ssh-copy-id root@node02
ssh-copy-id root@node03
配置时间同步
##CentOS7系统
#在每个节点执行下面命令,时间同步
ntpdate ntp.aliyun.com
配置 Ceph yum源
#CentOS7系统需要
#在每个节点都执行
wget https://download.ceph.com/rpm-nautilus/el8/noarch/ceph-release-1-1.el8.noarch.rpm --no-check-certificate
rpm -ivh ceph-release-1-1.el8.noarch.rpm --force
添加磁盘
node01、node02、node03 节点添加磁盘

热扫描磁盘信息
cpp
#添加完磁盘可以通过重启或以下命令刷新
#在node01、node02、node03 节点执行
[root@localhost ~]# for i in `ls /sys/class/scsi_host/`;do echo "- - -" > /sys/class/scsi_host/$i/scan;done
#验证
[root@node03 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 199G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 147G 0 lvm /home
sdb 8:16 0 20G 0 disk
sr0 11:0 1 1024M 0 rom

部署 Ceph 集群
1、为所有节点都创建一个 Ceph 工作目录,后续的工作都在该目录下进行
bash
#在所有节点执行
mkdir -p /etc/ceph
然后回到admin节点
2、admin服务器安装 安装 ceph-deploy 部署工具
bash
##CentOS7
#进到ceph目录里安装
cd /etc/ceph
yum install -y ceph-deploy
如果遇到如下问题

解决方法
清理 Yum 缓存并重新安装:
bash
yum clean all
yum makecache
yum install ceph-deploy

在管理节点为其它节点安装 Ceph 软件包
bash
#ceph-deploy 2.0.1 默认部署的是 mimic 版的 Ceph,若想安装其他版本的 Ceph,可以用 --release 手动指定版本
#在admin节点操作
cd /etc/ceph
ceph-deploy install --release nautilus node0{1..3} admin
或
bash
#ceph-deploy install 本质就是在执行下面的命令:
yum clean all
yum -y install epel-release
yum -y install yum-plugin-priorities
yum -y install ceph-release ceph ceph-radosgw