Day41
Ceph
Ceph概述
什么是分布式存储
分布式是指一种独特的系统架构,它由一组网络进行通信为了完成共同的任务而协调工作的计算机节点组成
分布式系统是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务
其目的就是利用更多的机器,处理更多数据
常用分布式文件系统
Lustre Hadoop FastDFS Ceph Ceph ClusterFS
什么是Ceph
Ceph是一个分布式文件系统
具有高扩展性、高可用性、高性能的特点
Ceph可以提供对象存储、块存储、文件系统存储
Ceph可以提供PB级别的存储空间(PB->TB->GB)
软件定义存储作为存储行业的一大发展趋势,已经越来越受到市场的认可
帮助文档: https://docs.ceph.com https://docs,cepch.org.cn
Ceph组件
OSDs:存储设备
Monitors:集群监控组件
MDSs:存放文件系统的元数据(对象存储不需要该组件)
Client:ceph客户端
环境准备
准备四台虚拟机,其三台作为存储集群节点,一台安装为客户端,实现如下功能:
- 创建1台客户端虚拟机
- 创建3台存储集群虚拟机
- 配置主机名、IP地址、YUM源
- 修改所有主机的主机名
- 配置无密码SSH连接
- 配置NTP时间同步
- 创建虚拟机磁盘
拓扑图
所有主机的主机名及对应的IP地址如表-1所示。
注意:所有主机基本系统光盘的YUM源必须提前配置好。
Ceph组件架构如图
Ceph会对数据进行切割处理,如图所示
Ceph随机读写数据的思路,如图所示。
Ceph集群结构如图所示。
安装前准备
1)为所有节点配置yum源服务器。
把四台虚拟机全部关机;每台虚拟机都添加一个光驱;
做如下相同操作:
右击虚拟机,选【设置】—【添加】—【CD|DVD驱动器】–【完成】;
点击刚刚新建的光盘[CD|DVD],勾选使用ISO映像文件–[浏览];
找到自己真机的ceph10.iso加载即可。
添加磁盘:
除了客户端,所有3台ceph服务器都添加2块20G磁盘。
启动所有虚拟机后,查看磁盘情况:
易错点:看清楚哪个是系统光盘,哪个是ceph光盘,光盘是否有顺序错乱!
[root@client ~]# lsblk
[root@node1 ~]# lsblk
[root@node2 ~]# lsblk
[root@node3 ~]# lsblk
2)所有主机设置防火墙和SELinux
[root@client ~]# firewall-cmd --set-default-zone=trusted
[root@client ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
[root@client ~]# setenforce 0
[root@node1 ~]# firewall-cmd --set-default-zone=trusted
[root@node1 ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
[root@node1 ~]# setenforce 0
[root@node2 ~]# firewall-cmd --set-default-zone=trusted
[root@node2 ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
[root@node2 ~]# setenforce 0
[root@node3 ~]# firewall-cmd --set-default-zone=trusted
[root@node3 ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
[root@node3 ~]# setenforce 0
3)所有主机挂载ceph光盘和系统光盘
易错点:【不能照抄、不能照抄、不能照抄】,需要根据实际情况操作,
案例假设是将系统光盘挂载到/media目录,将ceph光盘挂载到/ceph目录。
[root@client ~]# umount /dev/sr0
[root@client ~]# umount /dev/sr1 #未挂载的话会报错
[root@client ~]# mkdir /ceph
[root@client ~]# vim /etc/fstab
/dev/sr0 /ceph iso9660 defaults 0 0 #需要根据实际情况挂载(看