ceph集群搭建,ceph块存储,文件存储,对象存储

复制代码
一.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 [email protected]:/etc/ceph/ceph.conf /etc/ceph/
		scp [email protected]:/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 protected] --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 [email protected]:/etc/ceph/ceph.conf /etc/ceph/ scp [email protected]:/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 protected] --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:指定日志文件的输出位置,默认终端

相关推荐
数据智能老司机18 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机18 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
无名之逆19 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
cg501719 小时前
Spring Boot 的配置文件
java·linux·spring boot
数据智能老司机19 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记19 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
暮云星影19 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain19 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon19 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu20 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu