网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Monitors: Ceph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。
MDSs: Ceph 元数据服务器(MDS)为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。
8.2 ceph集群部署实验
主机准备 (禁用selinux, 关闭防火墙)
xuegod63 192.168.1.63 admin,osd, mon作为管理和监控节点
xuegod62 192.168.1.62 osd,mds
xuegod64 192.168.1.64 osd,mds
xuegod65 192.168.1.65 client
#xuegod63作管理. osd. mon节点; xuegod62和64作osd mds; xuegod65客户端
前三台服务器增加一块硬盘/dev/sdb实验, 创建目录并挂载到/var/local/osd{0,1,2}
[root@xuegod63 ~]# mkfs.xfs /dev/sdb
[root@xuegod63 ~]# mkdir /var/local/osd{0,1,2}
[root@xuegod63 ~]# mount /dev/sdb /var/local/osd0/
[root@xuegod62 ~]# mkfs.xfs /dev/sdb
[root@xuegod62 ~]# mkdir /var/local/osd{0,1,2}
[root@xuegod62 ~]# mount /dev/sdb /var/local/osd1/
[root@xuegod64 ~]# mkfs.xfs /dev/sdb
[root@xuegod64 ~]# mkdir /var/local/osd{0,1,2}
[root@xuegod64 ~]# mount /dev/sdb /var/local/osd2/
编辑hosts文件(所有节点需要操作):
(规范系统主机名添加hosts文件实现集群主机名与主机名之间相互能够解析(host 文件添加主机名不要使用fqdn方式)可用hostnamectl set-hostname name设置
分别打开各节点的/etc/hosts文件,加入这四个节点ip与名称的对应关系
[root@xuegod63 ~]# vim /etc/hosts
192.168.1.63 xuegod63
192.168.1.62 xuegod62
192.168.1.64 xuegod64
192.168.1.65 xuegod65
SSH免密码登录(所有节点需要操作)
在管理节点使用ssh-keygen 生成ssh keys 发布到各节点
[root@xuegod63 ~]# ssh-keygen #所有的输入选项都直接回车生成。
[root@xuegod63 ~]# ssh-copy-id xuegod63
[root@xuegod63 ~]# ssh-copy-id xuegod62
[root@xuegod63 ~]# ssh-copy-id xuegod64
[root@xuegod63 ~]# ssh-copy-id xuegod65
8.2.1 管理节点安装ceph-deploy工具
第一步:增加 yum配置文件(各节点都要配置ceph源)
[root@xuegod63 ~]# mkdir /etc/yum.repos.d/yum/
[root@xuegod63 ~]# mv /etc/yum.repos.d/\*.repo /etc/yum.repos.d/yum/
[root@xuegod63 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@xuegod63 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@xuegod63 ~]# vim /etc/yum.repos.d/ceph.repo #添加如下内容:
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86\_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/SRPMS
gpgcheck=0
priority=1
[root@xuegod63 ~]# yum clean all
[root@xuegod63 ~]# yum makecache
第二步:更新软件源并安装ceph-deploy 管理工具
[root@xuegod63 ~]# yum -y install ceph-deploy
创建monitor服务
[root@xuegod63 ~]# mkdir /etc/ceph && cd /etc/ceph
[root@xuegod63 ceph]# ceph-deploy new xuegod63 #mon安装在xuegod63节点
[root@xuegod63 ceph]# ls #生成配置文件在当前目录下
ceph.conf ceph.log ceph.mon.keyring
Ceph配置文件、一个monitor密钥环和一个日志文件
修改副本数
[root@xuegod63 ceph]# vim ceph.conf #配置文件的默认副本数从3改成2,这样只有两个osd也能达到active+clean状态,把下面这行加入到[global]段(可选配置)
[global]
fsid = 92f5581d-79d2-4c9f-a523-4965eedc846b
mon_initial_members = xuegod63
mon_host = 192.168.1.63
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size = 2
8.2.2 安装ceph
在所有节点上安装:
[root@xuegod63 ceph]# ceph-deploy install xuegod63 xuegod62 xuegod64 xuegod65
(如果网络源安装失败,手工安装epel-release 然后安装yum -y install ceph-release再yum -y install ceph ceph-radosgw)
8.2.3 安装ceph monitor
[root@xuegod63 ceph]# ceph-deploy mon create xuegod63
收集节点的keyring文件
[root@xuegod63 ceph]# ceph-deploy gatherkeys xuegod63
8.2.4 部署osd服务
添加osd节点 (所有osd节点执行)
我们实验准备时已经创建目录/var/local/osd{id}
创建激活osd
#创建osd
[root@xuegod63 ceph]# ceph-deploy osd prepare xuegod63:/var/local/osd0 xuegod62:/var/local/osd1 xuegod64:/var/local/osd2
8.2.5 激活osd
[root@xuegod63 ceph]# ceph-deploy osd activate xuegod63:/var/local/osd0 xuegod62:/var/local/osd1 xuegod64:/var/local/osd2
如果报错
解决:在各个节点上给/var/local/osd1/和/var/local/osd2/添加权限
如下:
chmod 777 -R /var/local/osd1/
chmod 777 -R /var/local/osd2/\*
查看状态:
[root@xuegod63 ceph]# ceph-deploy osd list xuegod63 xuegod62 xuegod64
统一配置
(用ceph-deploy把配置文件和admin密钥拷贝到所有节点,这样每次执行Ceph命令行时就无需指定monitor地址和ceph.client.admin.keyring了)
root@xuegod63 ceph]# ceph-deploy admin xuegod63 xuegod62 xuegod64
各节点修改ceph.client.admin.keyring权限:
chmod +r /etc/ceph/ceph.client.admin.keyring
查看osd状态
[root@xuegod63 ceph]# ceph health #或 ceph -s
部署mds服务
[root@xuegod63 ceph]# ceph-deploy mds create xuegod62 xuegod64 #我们MDS安装2台
[root@xuegod63 ceph]# ceph mds stat #查看状态
集群状态
[root@xuegod63 ceph]# ceph -s
以上基本上完成了ceph存储集群的搭建。
8.2.6 创建ceph文件系统
[root@xuegod63 ceph]# ceph fs ls #创建之前
创建存储池
[root@xuegod63 ceph]# ceph osd pool create cephfs_data 128
pool 'cephfs\_data' created
[root@xuegod63 ceph]# ceph osd pool create cephfs_metadata 128
pool 'cephfs\_metadata' created
其中: 128 ,
关于创建存储池
确定 pg_num 取值是强制性的,因为不能自动计算。下面是几个常用的值:
*少于 5 个 OSD 时可把 pg_num 设置为 128
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
转存中…(img-SiRInZWP-1715382655372)]
[外链图片转存中…(img-X9EV0ovB-1715382655373)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新