当前位置:   article > 正文

SDS-软件定义存储之CEPH_sds ceph

sds ceph

ceph-分布式存储

  • 高性能
    • 采用CRUSH算法,分布式存储,数据分布均衡,并行度高
    • 支持上千个存储节点,支持TB到PB级的数据
  • 高可用
    • 副本数可以灵活控制
    • 支持故障分离,数据强一致性
    • 多种故障场景自动修复
    • 没有单点故障,自动管理
  • 高扩展
    • 去中心化
    • 扩展灵活
    • 随节点增加而线性增长
  • 特性丰富
    • 支持三种存储接口:块存储,文件存储,对象存储.

文件存储

典型设备:FTP,NFS服务器

Ceph核心组件

  • Monitor
    一个ceph集群需要多个Monitor组成的小集群,通过Paxos同步数据,用来保存OSD元数据
  • OSD
    全称Object Storage Device,负责响应客户端请求返回具体数据的进程,一个ceph集群有多个OSD.
  • MDS
    Metadata Server,是cephfs服务依赖的元数据服务

案例拓扑图

在这里插入图片描述

>准备环境
>在节点node1配置ssh密钥,使node1可无密码连接node1,2,3
ssh-keygen -f /root/,ssh/id_rsa -N '' 
//生成密钥,-f指定密钥存储路径;-N无密码
for  i in 41 42 43 
do
ssh-copy-id 192.168.2.$i
done
//for循环拷贝公钥给node1,2,3节点
 vim /etc/hosts
192.168.2.41    node1
192.168.2.42     node2
192.168.2.43    node3
//配置静态域名解析
for i in 41 42 43
do
     scp /etc/hosts 192.168.2.$i:/etc
done
//分享给三个节点
>为所有ceph节点配置ceph-yum源
vim /etc/yum.repos.d/ceph.repo
[mon]
name=mon
baseurl=ftp://192.168.2.254/ceph/MON //MON软件包的位置
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.2.254/ceph/OSD
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.2.254/ceph/Tools
gpgcheck=0
yum repolist  //查看软件源数量
 for i in 41 42 43
do
     scp /etc/yum.repos.d/ceph.repo 192.168.2.$i:/etc/yum.repos.d/
done
>所有节点与真实主机NTP服务器同步时间
vim /etc/chrony.conf
… …
server 192.168.2.254   iburst
for i in 41  42  43
do
     scp /etc/chrony.conf 192.168.2.$i:/etc/
     ssh 192.168.2.$i "systemctl restart chronyd"
done
>为每台ceph节点添加3块20G磁盘
###############################
>部署ceph集群
node1主机安装ceph-deploy,创建工作目录,初始化配置文件
yum -y install ceph-deploy
mkdir ceph-cluster 
cd ceph-cluster
ceph-deploy new node1 node2 node3 //新建集群
>所有节点安装ceph先关软件包
for i in node1 node2 node3
do
ssh $i "yum -y install ceph-mon ceph-osd ceph-mds"
done
ceph-deploy mon create-intial   //初始化
ceph -s   //查看结果(3个节点)
>磁盘分区,创建journal盘,并永久修改设备权限
for i in node1 node2 node3 
do
ssh $i "parted /dev/vdb mklabel gpt"
ssh $i "parted /dev/vdb mkpart primary 1 50%"
ssh $i "parted /dev/vdb mkpart primary 50% 100%"
done      //将vdb分成两个区,作为缓存
>>修改/dev/vdb1 和/dev/vdb2的权属(node1 node2 node3)
临时修改:
chown ceph.ceph /dev/vdb1
chown ceph.ceph /dev/vdb2
永久修改
vim /etc/udev/rules.d/vdb.rules
ENV{DEVNAME}=="/dev/vdb1",OWNER="ceph",GROUP="ceph"
ENV{DEVNAME}=="/dev/vdb2",OWNER="ceph",GROUP="ceph"
>使用ceph-deploy初始化数据磁盘(node1上操作)
 ceph-deploy disk zap node1:vdc  node1:vdd
 ceph-deploy disk zap node2:vdc node2:vdd
 ceph-deploy disk zap node3:vdc node3:vdd
 >初始化OSD集群
 ceph-deploy osd create node1:vdc:/dev/vdb1 node1:vdd:/dev/vdb2
 //创建osd存储设备,vdc为集群提供存储空间,vdb1提供JOURNAL缓存,
 //一个存储设备对应一个缓存设备,缓存不需要很大
 ceph-deploy osd create node2:vdc:/dev/vdb1 node2:vdd:/dev/vdb2
 ceph-deploy osd create node3:vdc:/dev/vdb1 node3:vdd:/dev/vdb2
 ceph -s //查看集群状态
 #################################
 部署ceph 文件系统
 ceph-deploy mds create node3       //启动mds服务
 >创建存储池(文件系统由inode和block组成)
 ceph osd pool create cephfs_data 128     //最多文件目录128(必须为2的倍数)
 ceph osd pool create cephfs_metadata 128
ceph osd lspools  //查看存储池
>创建文件系统:文件系统有两个部分组成,需要两个存储池分别对应inode block
ceph fs noew myfs1 ceph_metadata cephfs_data
ceph fs ls  //查看新建的文件系统
##############################
服务器永久挂载ceph 文件系统
在ceph任意节点,查看ceph账户与密码
cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
     key = AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==
>/etc/ec.local是开机启动脚本,任何命令放在该文件都是开机自启
mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/   \
-o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==
echo 'mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ \
-o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==' >> /etc/rc.local 
chmod +x /etc/rc.local
###################################
>另一种通过fstab永久挂载,需下载libcephfs1软件包
yum -y install libcphfs1
vim /etc/fstab
192.168.4.11:/ /usr/local/nginx/html/    ceph   defaults,_netdev,name=admin,
secret=AQCVcu9cWXkgKhAAWSa7qCFnFVbNCTB2DwGIOA== 0 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116

块存储简称RBD(RADOS Block Device)

提供快照,克隆,备份等功能.可扩展,条带化方式存储到集群多个OSD中.两种方式KRBD和librbd

KRBD方式(Kernel RBD)3.1版本内核Kernel模块中集成RBD模块,基于内核驱动
常用命令
SERVER 端操作
modeprobe rdb //加载RBD内核模块
modinfo rbd  //查看rbd内核模块信息
rbd create image --szie 10G //创建一个10G大小的名为image的块设备
rbd list //列出存储池中的所有块设备,若没有指定存储池,默认rbd存储池,-p可用来指定存储池
rbd resize --szie 7G image --allow-shrink  //调整块设备image的大小
rbd resize --size 20G image  //默认允许放大,需设置allow-shrink才可缩小
rbd info image //显示image块设备的信息
........................
>创建镜像快照
rbd snap ls image //查看镜像image的快照
rbd snap create image --sanp image-snap1  //给镜像image创建快照image-snap1
rbd snap rolbak image --sanp image-snap1  //将镜像恢复到快照image-snap1时
rbd snap protect image --sanp image-snap1  //保护快照,不可删除
rbd snap rm image --snap image-snap1  //会显示删除失败
rbd clone image --snap image-snap1 image-clone 
//使用image的快照image-snap1克隆一个名为image-clone的镜像
rbd info image-clone //查看克隆镜像与父镜像快照的关系
rbd flatten image-clone //将父快照中的数据全部拷贝一份
rbd info image-clone //父快照信息消失,克隆镜像可独立工作
 rbd snap unprotect image --snap image-snap1     #取消快照保护
 rbd snap rm image --snap image-snap1    		#可以删除快照
############################
>CLIENT 端操作
rbd map image  //将image块设备映射到系统中
rbd showmapped //查看 系统中已经映射的快设备
rbd unmap /dev/xxx  //取消快设备的映射
mkfs.xfs /dev/rbd0   //格式化分区
mount /dev/rbd0 /mnt/    //挂载分区
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/73260
推荐阅读
相关标签
  

闽ICP备14008679号