前言:后续配置的解释可能标题不是很清晰,但是根据流程配置一定可以成功,还希望大家多多指点,希望能帮助过大家!(#.#)
是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
特点
1:文件上传,先将文件切片成N个object(如果开启了cephFS,可以使用MDS缓存)
2:切片后的文件object会存入到Ceph中
3:文件存储前,会经过CRUSH算法,计算当前文件存储归结于哪个PG
4:PG是逻辑概念上对文件存储范围划分的索引
5:根据PG索引将文件存储到指定服务器的OSD中
准备四台虚拟机分别是
注意 一定要把主机名称改对,要不然容易混淆
centos1 ip 192.168.115.128
centos2 ip 192.168.115.130
centos3 ip 192.168.115.131
centos4 ip 192.168.115.132
每一台机器都要关闭防火墙、图形化、关闭selinx、更改主机名
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭图形网络管理器
systemctl stop NetworkManager
systemctl disable NetworkManager
关闭Selinux
setenforce 0
主机名修改
hostnamectl set-hostname centos{1..4}
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
重启ssh服务
systemctl restart sshd
在每个节点主机都要这么操作
在vim /etc/hosts下
vim /etc/hosts
添加内容
192.168.115.128 centos1
192.168.115.130 centos2
192.168.115.131 centos3
192.168.115.132 centos4
四台机器上都进行这样的操作
按照上图的操作,可成功在四台机器上实现免密登录
首先在centos1上开启时间同步服务器
安装
yum install -y ntp
配置
vim /etc/ntp.conf
在配置文件中注释掉下面四行的内容
21 #server 0.centos.pool.ntp.org iburst
22 #server 1.centos.pool.ntp.org iburst
23 #server 2.centos.pool.ntp.org iburst
24 #server 3.centos.pool.ntp.org iburst
下面两行的内容添加到配置文件的最后
server 127.127.1.0 定义时间服务器
fudge 127.127.1.0 stratum 8 定义时间层次
更改完成后 重启服务并设置开机自启
systemctl start ntpd
systemctl enable ntpd
重启完成后,要在后三台机器上与第一台机器对时
输入命令
for i in 130 131;do ssh 192.168.115.$i ntpdate 192.168.115.128;done
因为初始创建的时候就已经加入了磁盘后重启的,所以就不需要再次加一块磁盘了,如果没有增加磁盘的话,需要热扫描或者重启
命令
echo "- - -" > /sys/class/scsi_host/host0/scan
for i in 130 131;do ssh 192.168.115.$i echo "- - -" > /sys/class/scsi_host/host0/scan && lsblk;done
在每一台机器上都进行格式化磁盘的操作
mkfs.xfs /dev/sdb
安装epel 和 lttng-ust
yum install epel-release -y
yum install lttng-ust -y
安装完成后
输入
vim /etc/yum.repos.d/ceph.repo
在里面加入内容
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
输入后 输入 yum clean all 清除yum缓存
yum clean all
创建缓存
yum makecache fast
成功的提示就是 查看 元数据缓存已建立
yum -y install ceph ceph-deploy
集群构建
创建集群目录
mkdir -p /usr/local/soft/cephcluster
cd /usr/local/soft/cephcluster
创建集群 创建集群一定一定要进入集群目录下操作否则是报错
输入命令创建集群
ceph-deploy new centos1 centos2 centos3
将下方内容粘贴到 ceph.conf下
#对外开放网段
public network = 192.168.115.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard
继续安装,注意这一步相当的重要,这一步如果没有报错后面都很好做
ceph-deploy install centos1 centos2 centos3
初始化monitor
ceph-deploy mon create-initial
同步管理信息
ceph-deploy admin centos1 centos2 centos3
安装mgr 管理守护进程
ceph-deploy mgr create centos1 centos2 centos3
安装rgw
ceph-deploy rgw create centos1 centos2 centos3
创建mds服务
ceph-deploy mds create centos1 centos2 centos3
OSD安装
创建OSD
ceph-deploy osd create --data /dev/sdb centos1
ceph-deploy osd create --data /dev/sdb centos2
ceph-deploy osd create --data /dev/sdb centos3
查看集群状态
ceph -s
查看验证结果
dashboard安装
开启dashboard模块
ceph mgr module enable dashboard
生成签名
ceph dashboard create-self-signed-cert
创建目录
mkdir -p /usr/local/jx/cephcluster/mgr-dashboard
进入路径
cd /usr/local/jx/cephcluster/mgr-dashboard
使用OpenSSL生成自签名证书
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
启动服务
ceph mgr module disable dashboard
设置开机自启
ceph mgr module enable dashboard
设置访问地址与端口
ceph config set mgr mgr/dashboard/server_addr 192.168.115.128
ceph config set mgr mgr/dashboard/server_port 9001
关闭https
ceph config set mgr mgr/dashboard/ssl false
查看当前运行管理器的服务状态
ceph mgr services
设置Ceph仪表板的登录凭据。Ceph仪表板是Ceph集群的Web管理界面,可以通过此命令设置登录凭据(用户名和密码)。在示例命令中,"jx123"是要设置的用户名,"123.com"是与该用户名关联的密码。这个命令使得用户可以使用指定的凭据登录Ceph仪表板,以便进行集群管理和监控等操作。
ceph dashboard set-login-credentials jx123 123.com
访问网站验证
注意不要手动输入 要复制粘贴否则无法访问
https://192.168.115.128:8443
显示结果
显示了登录界面
输入账户 jx123 密码 123.com 成功进入界面
ceph文件系统创建
创建存储池
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
查看存储池
ceph osd lspools
创建文件系统
ceph fs new fs_test cephfs_metadata cephfs_data
查看文件系统
ceph fs ls
查看mds状态
ceph mds stat
显示状态结果
ceph mds stat
fs_test-1/1/1 up {0=centos3=up:active}, 2 up:standby
根据以上信息,可以判断状态正常。文件系统(fs_test-1/1/1)是活跃状态,其中一个元数据服务器(centos3)处于活跃状态,而另外两个元数据服务器是备用状态。这符合正常的高可用性设置,其中一个MDS处于活跃状态,其他MDS作为备用,以确保系统的可靠性和冗余
安装
ceph-deploy install centos4
同步管理信息 路径要在
/usr/local/soft/cephcluster下面这个路径
ceph-deploy admin centos4
在centos4中安装
yum install -y ceph-fuse
centos4和centos1中 都要存在
ceph.client.admin.keyring
在centos4中 创建挂载目录
mkdir /ceph
挂载ceph文件系统
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.115.128:6789 /ceph
提示
df -Th查看挂载结果