ceph特点
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储
是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。
特点
1. 统一存储
虽然 ceph 底层是一个分布式文件系统,但由于在上层开发了支持对象和块的接口。所以在开源存储软件中,能够一统江湖。至于能不能千秋万代,就不知了。
2. 高扩展性
扩容方便、容量大。能够管理上千台服务器、EB 级的容量。
3. 可靠性强
支持多份强一致性副本,EC。副本能够垮主机、机架、机房、数据中心存放。所以安全可靠。存储节点可以自动管理、自动修复。无单点故障,容错性强。
4. 高性能
因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的 IOPS和吞吐量越高。另外一点 ceph 客户端读写数据直接与存储设备(osd) 交互。
搭建ceph准备工作(四台都要操作)
环境拓扑
centos1
monitor
osd
192.168.115.3
centos2
osd
192.168.115.4
centos3
osd
192.168.115.5
centos4
Client
192.168.115.6
环境
关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
关闭网络图形管理器
systemctl stop NetworkManager
systemctl disable NetworkManager
关闭Selinux
setenforce 0
主机名修改
hostnamectl set-hostname centos{1..4}
修改ssh配置
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
systemctl restart sshd
修改hosts文件
vim /etc/hosts
192.168.115.3 centos1
192.168.115.4 centos2
192.168.115.5 centos3
192.168.115.6 centos4
ssh免密
ssh-keygen
ssh-copy-id 192.168.115.3
for i in3 4 5 6; do ssh-copy-id root@192.168.115.$i;done
时间同步
在centos1上开启时间同步服务器
安装 yum install -y ntp
配置 vim /etc/ntp.conf
server 127.127.1.0
定义时间服务器
fudge 127.127.1.0 stratum 8
定义时间层次
启动
systemctl start ntpd
systemctl enable ntpd
客户端对时
for i in 4 5 ;do ssh 192.168.115.$i ntpdate 192.168.115.3;done
添加磁盘
热扫描磁盘
echo "- - -" > /sys/class/scsi_host/host0/scan
for i in 4 5;do ssh 192.168.115.$i echo "- - -" > /sys/class/scsi_host/host0/scan && lsblk;done
格式化
mkfs.xfs /dev/sdb
ceph安装(只在centos1执行)
yum install epel-release -y
yum install lttng-ust -y
添加ceph安装源
[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 -y install ceph ceph-deploy
集群构建
创建集群目录
mkdir -p /usr/local/soft/cephcluster
cd /usr/local/soft/cephcluster
创建集群
ceph-deploy new centos1 centos2 centos3
修改配置文件
#对外开放网段
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 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 dashboard set-login-credentials jx123 123.com
https://192.168.115.3:8443
ceph文件系统创建
创建存储池
( 少于5个OSD可把pg_num设置为128,OSD数量在5到10,可以设置pg_num为512,OSD数量在10到50,可以设置pg_num为4096,OSD数量大于50,需要计算pg_num的值)
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
客户端挂载
在centos1中
安装 ceph-deploy install centos4
同步管理信息 ceph-deploy admin centos4
非集群节点,/var/run/ceph 无内容
在centos4
yum install -y ceph-fuse
查看信息
ls /etc/ceph
ceph.client.admin.keyring
创建挂载目录
mkdir /ceph
挂载ceph文件系统
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.115.128:6789 /ceph