zhltom 发表于 2019-2-2 10:10:02

57.CEPH分布式文件系

CEPH分布式文件系统
  CEPH是一种为优秀的性能,可靠性和可扩展性而设计的统一的,分布式文件系统。
  CEPH可以轻松的扩展到数PB容量,支持多种工作负载的高性能,高可靠性。
  CEPH四个部分:
  Clients客户端:用来访问文件系统
  CMDS元数据服务器:用来缓存和同步数据
  COSD对象存储群集:用来构成存储池
  CMON集群监视器:用来监视文件系统
  CEPH是统一存储系统,支持三种接口:
  Object:有原生的API,同时也兼容swift和S3的API。
  Block:支持精简配置,快照,克隆。
  File:Posixi接口,支持快照。
  CEPH的特点:
  高扩展性:使用普通的X86服务器,支持10~1000台服务器,支持1TB到PB级别的扩展。
  高可靠性:没有单点故障,多数据副本,自动管理,自动修复。
  高性能:数据分布均衡,并行化度高。
  CEPH分布式文件系统架构:
   https://s5.运维网.com/wyfs02/M00/9B/64/wKiom1li46iBC0pWAAGA0sVA1z0617.png
归置组(PG):可以理解为一个组,这个组里可以有多少个对象(文件数),归置组建立在存储池中。
存储池(POOL):由多个OSD组成。
  术语:
  OSD:存储对象
  MON 监视器
  NODE:节点
  MDS:元数据服务器
  CEPH安装与部署(网YUM版):需要联网部署
v 环境需求:关闭防火墙,关闭SElinux,时间同步,修改主机名,修改HOSTS文件,SSH的支持,创建运行用户。
  # systemctl stop firewalld                                 #关闭防火墙
  # setenforce 0                                          #关闭SELinux
  # vi /etc/hosts                                          #修改HOSTS文件
  添加内容:
  1.1.1.19 admin-node
  1.1.1.20 node1
  1.1.1.21 node2
  # vi /etc/sysconfig/network                                 #修改主机名
  添加内容:
  NETWORKING=yes
  HOSTNAME=admin-node
  # hostname admin-node                                 #临时修改主机名
  # yum -y install ntp ntpdate                               #部署NTP时间同步
  # /etc/ntp.conf                                     #使用自身时间搭建NTP服务器
  添加内容:
  server127.127.1.0
  fudge   127.127.1.0stratum8
  # systemctl restart ntpd                                    #重启NTP服务器
  # ntpdate 1.1.1.19                                    #去NTP服务器同步时间
  # timedatectl                                              #查看时间
  # useradd ceph
  # echo 123 | passwd ceph --stdin                           #创建运行用户
  # ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa                         #创建密钥对
  # ssh-copy-id -i/root/ceph/.ssh/id_rsa.pubroot@node1   #将公钥上传到node1
  # ssh-copy-id -i/root/ceph/.ssh/id_rsa.pubroot@node1   #将公钥上传到node2
  # cat/root/.ssh/id_rsa.pub>>   /root/.ssh/authorized_keys   #导入公钥库
v 安装CEPH群集需求:每台服务器上都要部署YUM库,Deploy工具,EPEL源(需网络)
  # mv CentOS-Base.repo /etc/yum.repos.d/         #将CenOS7默认备份YUM库还原
  # mv ceph.repo /etc/yum.repos.d/               #将CEPH的REPO文件放置YUM库
  # yum makecache                                       #生成缓存
  # yum -y install epel-release                               #安装EPEL源
  # yum -y install ceph-deploy                        #安装CEPH-Deploy工具
  # ceph-deploy new node1                         #配置一个Mon(监视器)节点
  注:会在所在位置生成三个配置文件。
  #vi ceph.conf
  osd_pool_default_size = 2                         #修改OSD存储池默认副本数
  注:如果有多张网卡还可以增加:public network = {ip-address}/{netmask}参数
  # ceph-deploy install admin-node node1 node2         #安装CEPH到三个节点上
  ceph-deploy purgedata admin-node node1 node2
  安装出现问题可以使用这两条命令清空配置重新部署和安装
  ceph-deploy forgetkeys
v 初始化Mon监视器,并收集所有密钥
  # ceph-deploy mon create-initial
  
v 创建硬盘(OSD)挂载目录
  # ssh node1                              
  # mkdir /var/local/osd0
  # ssh node2
  # mkdir /var/local/osd1
v 添加OSD和管理激活OSD
  # ceph-deploy osd prepare node1:/var/local/osd0 node2:/var/local/osd1
  # ceph-deploy osd activate node1:/var/local/osd0 node2:/var/local/osd1
v 创建管理用户
  # ceph-deploy admin admin-node node1 node2
  # chmod +r /etc/ceph/ceph.client.admin.keyring          #确保keyring文件有读取权限
v 检查群集健康状况(部署完成)
  # ceph health
  
v 通过SYSVINIT机制启动CEPH所有守护进程
  # /etc/init.d/ceph -a start
  注:SYSVINIT:字面意思是利用系统进程的方式运行。
v 创建CephFS文件系统:
# ceph osd pool create pool1 100 100                   #默认需要新建两个存储池
# ceph osd pool create pool2 100 100
# ceph fs new ren pool1 pool2                     #两个存储池组成一个文件系统
# ceph mds stat

v 挂载CephFS文件系统
# ceph auth list                                       #查看认证密码列表
# mount -t ceph -o name=admin,secret="AQBs2U9Y54/vKRAAgPZxOf6lmbl522mkiJvXRA==" 1.1.1.20:6789:/ /opt                              #密码认证方式挂载CephFS文件系统                                       
  
  
  安装报错:
  故障一:找不到EPEL源       解决方法:安装EPEL源# yum -y install epel-release(每台)
https://s5.运维网.com/wyfs02/M00/9B/64/wKioL1li472BZ810AABwcKb1uzA149.png
  故障二:找不到CEPH安装包   解决方法:YUM库中写入CEPH安装包网YUM源路径
https://s5.运维网.com/wyfs02/M02/9B/64/wKiom1li48bT2VaEAAA-kInBxYw916.png
  故障三:查看版本命令未找到解决方法:手动安装CEPH:yum -y install ceph ceph-radosgw(每台)或者检查SSH的问题
https://s4.运维网.com/wyfs02/M02/9B/64/wKioL1li49KjHnrRAAPIZYS_1t4494.png
CEPH分布式文件系统操作整合
命令
描述
ceph health
查看群集健康状态
ceph status
查看状态
ceph osd stat
查看OSD状态
ceph osd dump
查看OSD属性
ceph osd tree
查看OSD树
ceph mon dump
查看MON属性
ceph quorum_status
查看配额状态
ceph mds stat
查看MDS状态
ceph mds dump
查看MDS转存
ceph osd lspools
查看已存在的存储池
ceph osd pool get pool1 pg_num
查看池归置组属性
ceph osd pool get pool1 pgp_num
查看池归置组总数
ceph osd pool create pool1 100 100
创建一个存储池
ceph osd pool delete pool1 pool1 --yes-i-really-really-mean-it
删除一个存储池
ceph osd pool rename pool1 pool2
重命名一个存储池
rados df
查看存储池统计信息
ceph osd pool mksnap pool1 poolkz1
存储池快照
ceph osd pool rmsnap pool1 poolkz1
删除存储池快照
ceph osd pool set pool1 size 2
设置对象副本数
ceph fs new ren pool1 pool2
创建CephFS文件系统
注:pg:归置组pgp:归置组总数
添加和删除OSD节点(OSD为存储对象)
  ceph-deploy osd prepare node1:/var/local/osd2
  添加OSD
  ceph-deploy osd activate node1:/var/local/osd2
  激活OSD
  ceph -w
  查看OSD状态
  Ceph osd tree
  查看OSD树
  Ceph osd out osd.0
  冻结将要移除的节点
  Ceph stop osd.0
  停止将要移除的节点进程
  Ceph osd crush remove osd.0
  从群集里移除节点信息
  Ceph osd rm 0
  移除节点
http://blog.运维网.com/e/u261/themes/default/images/spacer.gif
添加元数据服务器(MDS)
  ceph-deploy mds create node1
  添加MDS
  注:至少需要一个元数据服务器才能使用CephFS。
添加和删除监视器(MON)
  ceph-deploy mon add node2
  添加MON
  ceph quorum_status --format json-pretty
  检查法定人数状态
  ceph -a stop mon.0
  停止监视器进程
  ceph mon remove mon.0
  移除监视器
  ssh node1
  ceph stop mon || stop ceph-mon-all
  远程连接监视器,停止有关监视器的所有进程
添加对象网关(RGW)
  ceph-deploy rgw create node1
  添加RGW
  注:RGW默认监听7480端口。有关对象网关的使用请继续了解CEPH分布式文件系统。
  CEPH对象网关的使用:http://docs.ceph.org.cn/install/install-ceph-gateway/
  




页: [1]
查看完整版本: 57.CEPH分布式文件系