概述
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
Ceph是一个开源的分布式文件系统。因为它还支持块存储、对象存储,所以很自然的被用做云计算框架openstack或cloudstack整个存储后端。
当然也可以单独作为存储,例如部署一套集群作为对象存储、SAN存储、NAS存储等。
可以作为k8s的存储类,来方便容器持久化存储。
支持格式
对象存储:即radosgw,兼容S3接口。通过rest api上传、下载文件。
文件系统:posix接口。可以将ceph集群看做一个共享文件系统挂载到本地。
块存储:即rbd。有kernel rbd和librbd两种使用方式。支持快照、克隆。相当于一块硬盘挂到本地,用法和用途和硬盘一样。比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的后端存储
优势
统一存储:虽然ceph底层是一个分布式文件系统,但由于在上层开发了支持对象和块的接口
高扩展性:扩容方便、容量大。能够管理上千台服务器、EB级的容量。
高可靠性:支持多份强一致性副本,EC。副本能够垮主机、机架、机房、数据中心存放。所以安全可靠。存储节点可以自管理、自动修复。无单点故障,容错性强。
高性能:因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的IOPS和吞吐量越高。另外一点ceph客户端读写数据直接与存储设备(osd) 交互。
1.集群规划
主机 | IP地址 | 硬件要求 | 安装软件 |
---|---|---|---|
admin | 10.0.0.130 | 1核1G | ceph-deploy |
node1 | 10.0.0.131 | 1核1G | mon / mgr / osd |
node2 | 10.0.0.132 | 1核1G | osd |
node3 | 10.0.0.133 | 1核1G | osd |
ceph-client | 10.0.0.134 | 1核1G | 客户端 |
2.部署过程
1.给三台node节点添加一块大小5G以上的磁盘。
2.所有节点修改主机名并相互解析
3.关闭所有机器的防火墙和selinux
所有节点做hosts解析
#做hosts解析(直接复制粘贴即可)
vim /etc/hosts
i127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.130 admin
10.0.0.131 node1
10.0.0.132 node2
10.0.0.133 node3
10.0.0.134 ceph-client
#hosts文件分发到其他的几台机器使其相同
scp