一.ceph集群搭建步骤流程
1.利用cephadm工具初始化ceph集群,Ceph1节点初始化节点为管理节点
Ceph在使用过程中是无中心化结构,但搭建过程中选择集群某一个节点作为初始化管理节点,然后扩容其他节点
[root@ceph1 ~]# ./cephadm bootstrap \ #初始化集群
> --mon-ip 192.168.88.11 \ #指定初始化节点IP地址
> --initial-dashboard-password=123456 \ #指定dashboard面板密码
> --dashboard-password-noupdate #不更新dashboard面板密码
2.同步ceph密钥
Ceph 集群通常由多个节点组成,包括监视器(MON)、对象存储守护进程(OSD)和管理器(MGR)等
通过将 Ceph 公钥同步到所有节点,可以简化管理员通过 SSH 登录到这些节点的过程,无需每次输入密码
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph1 #-f强制
3.扩容ceph集群
ceph orch host add ceph2 192.168.88.12 #将ceph2加入集群
4.搭建OSD服务
ceph orch daemon add osd ceph1:/dev/vdb #绑定单个硬盘
ceph orch apply osd --all-available-device #OSD绑定所有可用状态硬盘
5.确认集群状态
ceph -s
1.Ceph块存储使用(大量数据读写,数据库服务为主)
块存储客户端的使用流程:
1)获取集群配置文件,和用户认证文件
yum -y install ceph-common
scp root@192.168.88.11:/etc/ceph/ceph.conf /etc/ceph/
scp root@192.168.88.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
/etc/ceph/ceph.client.admin.keyring:存储了公钥和私钥,有这个位文件才能操作集群
2)创建存储池,设置类型
ceph osd pool create aaa 64
ceph osd pool application enable aaa rbd
3)创建镜像
rbd create aaa/img1(名) --size 10G:创建镜像,aaa为存储池子名
4)映射镜像
rbd map img1
5)格式化挂载使用
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /data/
6)创建快照,保护快照
rbd snap create img1 --snap img1-sn1 #创建名为img1-sn1快照
rbd snap protect img1 --snap img1-sn1 #保护指定快照
7)快照克隆(实现数据共享)
rbd clone img2 --snap img2-sn1 img2-sn1-clone1 #克隆镜像img2-sn1-1
8)独立克隆镜像
rbd flatten img2-sn1-2 #将img2所有的数据拷贝到克隆镜像
9)开机自动映射和自动挂载
开机自动映射:
编辑配置文件: /etc/ceph/rbdmap
rbd/img1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
(admin用户,以及它对应的密码文件路径)
重启服务:systemctl enable rbdmap.service --now
开机自动挂载:
编辑配置文件: /etc/fstab
/dev/rbd/rbd/img1 /data/ xfs noauto 0 0
(/dev/rbd磁盘的rbd池的img1镜像,noauto,开机加载出磁盘及服务后在挂载)
2.ceph文件存储服务MDS的搭建及使用(创建一个共享文件目录)
1.搭建MDS服务
(两个存储池=数据池+元数据池)
1)创建数据池/元数据池
ceph osd pool create data01/metadata01 128
2)利用两个池子创建文件系统存储
ceph fs new myfs01 metadata01 data01
3)部署mds服务
ceph orch apply mds myfs01 --placement='3 ceph1 ceph2 ceph3'
4)挂载使用
192.168.88.11,192.168.88.12,192.168.88.13:/ /mydata ceph name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs01,_netdev 0 2
2.MDS的使用
1)确认cephfs支持相关包已安装
2)创建目录挂载使用
3)永久挂载/etc/fstab
192.168.88.11,192.168.88.12,192.168.88.13:/ /mydata ceph name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs01,_netdev 0 2
3.Ceph对象存储服务RGW的搭建及使用(大量的非结构化的图形,图像数据)
1.搭建rgw服务
1)部署rgw服务
ceph orch apply rgw myrgw --placement="3 ceph1 ceph2 ceph3" --port 8080
2)创建rgw用户,分配桶权限
radosgw-admin user create --uid=testuser --display-name="Test User" --email=test@tedu.cn --access-key=12345 --secret-key=67890
3)安装awscli工具,配置用户绑定
yum -y install awscli.noarch
aws configure --profile=ceph
指定密码给用户绑定桶:
AWS Access Key ID [None]: 12345 #输入access_key
AWS Secret Access Key [None]: 67890 #输入secret_key
4)创建桶:数据的容器
aws --profile=ceph --endpoint=http://ceph1:8080 s3 mb s3://testbucket
--profile=ceph:上面已经绑定的名称
--endpoint:指定空间位置
testbucket:这是要创建的S3存储桶的名称
2.RGW使用
1)文件上传
aws --profile=ceph --endpoint=http://ceph1:8080 --acl=public-read-write s3 cp /etc/hosts s3://testbucket/hosts.txt
--acl:访问控制列表,指定某人读取该文件的权限等
2)文件下载
wget -O zhuji.txt http://ceph1:8080/testbucket/hosts.txt
-o:指定日志文件的输出位置,默认终端
一.ceph集群搭建步骤流程
1.利用cephadm工具初始化ceph集群,Ceph1节点初始化节点为管理节点
Ceph在使用过程中是无中心化结构,但搭建过程中选择集群某一个节点作为初始化管理节点,然后扩容其他节点
[root@ceph1 ~]# ./cephadm bootstrap \ #初始化集群
> --mon-ip 192.168.88.11 \ #指定初始化节点IP地址
> --initial-dashboard-password=123456 \ #指定dashboard面板密码
> --dashboard-password-noupdate #不更新dashboard面板密码
2.同步ceph密钥
Ceph 集群通常由多个节点组成,包括监视器(MON)、对象存储守护进程(OSD)和管理器(MGR)等
通过将 Ceph 公钥同步到所有节点,可以简化管理员通过 SSH 登录到这些节点的过程,无需每次输入密码
ssh-copy-id -f -i /etc/ceph/ceph.pub root@ceph1 #-f强制
3.扩容ceph集群
ceph orch host add ceph2 192.168.88.12 #将ceph2加入集群
4.搭建OSD服务
ceph orch daemon add osd ceph1:/dev/vdb #绑定单个硬盘
ceph orch apply osd --all-available-device #OSD绑定所有可用状态硬盘
5.确认集群状态
ceph -s
1.Ceph块存储使用(大量数据读写,数据库服务为主)
块存储客户端的使用流程:
1)获取集群配置文件,和用户认证文件
yum -y install ceph-common
scp root@192.168.88.11:/etc/ceph/ceph.conf /etc/ceph/
scp root@192.168.88.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
/etc/ceph/ceph.client.admin.keyring:存储了公钥和私钥,有这个位文件才能操作集群
2)创建存储池,设置类型
ceph osd pool create aaa 64
ceph osd pool application enable aaa rbd
3)创建镜像
rbd create aaa/img1(名) --size 10G:创建镜像,aaa为存储池子名
4)映射镜像
rbd map img1
5)格式化挂载使用
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /data/
6)创建快照,保护快照
rbd snap create img1 --snap img1-sn1 #创建名为img1-sn1快照
rbd snap protect img1 --snap img1-sn1 #保护指定快照
7)快照克隆(实现数据共享)
rbd clone img2 --snap img2-sn1 img2-sn1-clone1 #克隆镜像img2-sn1-1
8)独立克隆镜像
rbd flatten img2-sn1-2 #将img2所有的数据拷贝到克隆镜像
9)开机自动映射和自动挂载
开机自动映射:
编辑配置文件: /etc/ceph/rbdmap
rbd/img1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
(admin用户,以及它对应的密码文件路径)
重启服务:systemctl enable rbdmap.service --now
开机自动挂载:
编辑配置文件: /etc/fstab
/dev/rbd/rbd/img1 /data/ xfs noauto 0 0
(/dev/rbd磁盘的rbd池的img1镜像,noauto,开机加载出磁盘及服务后在挂载)
2.ceph文件存储服务MDS的搭建及使用(创建一个共享文件目录)
1.搭建MDS服务
(两个存储池=数据池+元数据池)
1)创建数据池/元数据池
ceph osd pool create data01/metadata01 128
2)利用两个池子创建文件系统存储
ceph fs new myfs01 metadata01 data01
3)部署mds服务
ceph orch apply mds myfs01 --placement='3 ceph1 ceph2 ceph3'
4)挂载使用
192.168.88.11,192.168.88.12,192.168.88.13:/ /mydata ceph name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs01,_netdev 0 2
2.MDS的使用
1)确认cephfs支持相关包已安装
2)创建目录挂载使用
3)永久挂载/etc/fstab
192.168.88.11,192.168.88.12,192.168.88.13:/ /mydata ceph name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs01,_netdev 0 2
3.Ceph对象存储服务RGW的搭建及使用(大量的非结构化的图形,图像数据)
1.搭建rgw服务
1)部署rgw服务
ceph orch apply rgw myrgw --placement="3 ceph1 ceph2 ceph3" --port 8080
2)创建rgw用户,分配桶权限
radosgw-admin user create --uid=testuser --display-name="Test User" --email=test@tedu.cn --access-key=12345 --secret-key=67890
3)安装awscli工具,配置用户绑定
yum -y install awscli.noarch
aws configure --profile=ceph
指定密码给用户绑定桶:
AWS Access Key ID [None]: 12345 #输入access_key
AWS Secret Access Key [None]: 67890 #输入secret_key
4)创建桶:数据的容器
aws --profile=ceph --endpoint=http://ceph1:8080 s3 mb s3://testbucket
--profile=ceph:上面已经绑定的名称
--endpoint:指定空间位置
testbucket:这是要创建的S3存储桶的名称
2.RGW使用
1)文件上传
aws --profile=ceph --endpoint=http://ceph1:8080 --acl=public-read-write s3 cp /etc/hosts s3://testbucket/hosts.txt
--acl:访问控制列表,指定某人读取该文件的权限等
2)文件下载
wget -O zhuji.txt http://ceph1:8080/testbucket/hosts.txt
-o:指定日志文件的输出位置,默认终端