ceph是今年越来越火的一个分布式存储开源软件,包含了块存储,对象存储和文件存储,相比于glusterfs更加全面,hdfs适合处理大文件,ceph也适合于小文件处理。
集群包含一个admin节点,三个monitor节点,其他都是node节点。
架构图:
systemctl stop firewalld
systemctl stop selinux
ssh-keygen
Host node1
Hostname node1.com
User root
注意:
Host必须是Hostname的short name ,Hostname是真实的主机名,因为后面我们会用Host来操作所有机器,admin节点在生成配置文件的时候会比较Host和short name,如果不一致会有问题,这里提醒下大家。
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.163.com/ceph/rpm-jewel/el7/SRPMS
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.163.com/ceph/keys/release.asc
priority=1
yum install yum-plugin-priorities ceph-deploy -y
mkdir /root/ceph
cd /root/ceph
ceph-deploy new $Host
完成后在当前目录下会生成几个文件
[global]
fsid = xxxxxxxxxxx
mon_initial_members = $Host1,$Host2,$Host3
mon_host = $Host1_ip,$Host2_ip,$Host3_ip
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd pool default size = 2
public network = 10.10.10.0/24
osd max object name len = 256
osd max object namespace len = 64
rbd_default_features = 1
注释:
mon_initial_members 是monitor节点的short name, mon_host是对应的IP地址
public network是网段地址
osd pool default size是数据保存副本数
ceph-deploy install $Host1 $Host2 $Host3 $Host4
yum install -y ceph
ceph-deploy mon create-initial
在每个节点上准备好存储磁盘并挂载,比如是/data/ceph
赋予用户组
chown ceph.ceph /data/ceph
准备
ceph-deploy prepare $Host1:/data/ceph $Host2:/data/ceph $Host3:/data/ceph $Host4:/data/ceph
激活
ceph-deploy activate $Host1:/data/ceph $Host2:/data/ceph $Host3:/data/ceph $Host4:/data/ceph
ceph -s