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

发布于:2024-12-18 ⋅ 阅读:(33) ⋅ 点赞:(0)
一.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:指定日志文件的输出位置,默认终端