简介
Ceph是一个分布式存储软件。
它支持用3种方式存储数据,分别是:对象存储、块设备存储、分布式文件系统存储。
Ceph这个软件,分为3层,最底层是Rados对象存储系统、中间是一个librados,也就是一个接口层,对外提供访问Rados对象存储系统的接口API,最上层又提供了三种不同的存储方式:对象存储、块设备存储、文件系统存储。
环境准备
1、修改主机名
hostnamectl set-hostname nceph
2、配置hosts文件
cat <<"EOF">/etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.17.12.98 ncephEOF
3、安装NTP时间同步
此处不细说
4、添加ceph源
cat </etc/yum.repos.d/ceph.repo[ceph]name=cephbaseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/gpgcheck=0[ceph-noarch]name=cephnoarchbaseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/gpgcheck=0[ceph-source]name=ceph-sourcebaseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/gpgcheck=0END
5、关闭selinux和firewall
setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config systemctl disable firewalld.service systemctl stop firewalld.service
安装配置CEPH
1、安装ceph-deploy包
yum -y install ceph-deploy-1.5.39 ceph-deploy --version
2、创建配置文件目录
mkdir /etc/ceph cd /etc/ceph
3、创建集群 并写入文件
ceph-deploy new nceph
因为我们是在单节点上工作,因此需要修改一下配置文件
echo "osd crush chooseleaf type = 0" >> ceph.conf echo "osd pool default size = 1" >> ceph.confecho "osd journal size = 100" >> ceph.conf
4、安装 ceph 基本库
ceph-deploy install nceph
5、创建一个集群监视器
ceph-deploy mon create nceph
6、创建 启动OSD
清空磁盘ceph-deploy disk zap nceph:sdb
如果出现如下报错:
执行
ceph-deploy gatherkeys nceph
创建osd
ceph-deploy osd create nceph01:sdb
验证
ceph osd tree
ceph -s
lsblk
提供块存储服务
1、创建一个存储池,并查看
ceph osd pool create test 128ceph osd lspools
2、创建一个10G的块
rbd create --size 10G disk01 --pool test
3、查看rbd
rbd ls test -l
4、将10G的块映射到本地
rbd map disk01
查看创建的image存不存在:
rbd info test/disk01
将10G的块映射到本地时报错了,需要去掉一些feature
rbd feature disable test/disk01 exclusive-lock object-map fast-diff deep-flatten
再次映射就可以了
查看集群状态
ceph -s5、查看映射
rbd showmapped
6、格式化为xfs格式
mkfs.xfs /dev/rbd0
7、挂载rbd0到本地的目录中创建用于挂载的目录,并挂载
# mkdir /cephStore # mount /dev/rbd0 /cephStore # df -h
icfs-deploy osd create node01:sd