基于 ceph-deploy 部署 Ceph 集群

关闭 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
相关推荐
柒.梧.2 小时前
高频Nginx面试题(含详细解析,面试必看)
运维·nginx·面试
王火火(DDoS CC防护)2 小时前
服务器防御怎么选择更合适?
服务器·服务器防御
躲在没风的地方2 小时前
异常执行顺序
java·运维·服务器·spring boot
韭菜张师傅2 小时前
Ceph MGR 命令详解
ceph
白狐_7982 小时前
硬核实战:从零构建飞书 × OpenClaw 自动化情报站(一)
运维·自动化·飞书
IMPYLH2 小时前
Bash 的 basenc 命令
linux·运维·服务器·bash·shell
白狐_7982 小时前
硬核实战:从零构建飞书 × OpenClaw 自动化情报站(四)
运维·自动化·飞书
退役小学生呀2 小时前
OpenClaw落地智能运维助手
运维·人工智能·ai
IMPYLH2 小时前
Linux 的 arch 命令
linux·运维·服务器·bash