基于 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
相关推荐
Java王小怪1 小时前
Docker环境Redis没挂载保存数据
运维·docker·容器
你住过的屋檐1 小时前
【Nginx】linux上安装nginx
linux·运维·nginx
大模型码小白2 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
晓晓_za8986683 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源
云计算DevOps-韩老师3 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
云贝教育-郑老师3 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
DBA大董4 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
会飞的土拨鼠呀4 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
Elastic 中国社区官方博客5 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
aaaBsBsBsB5 小时前
k8s pod管理
运维·docker·容器