ceph 订阅
Ceph是第一人称游戏《孤岛危机》系列中一个技术先进的神秘外星物种,该绰号是“Cephalopod(头足类动物)”的简称,因为它们非常类似于地球海洋上的章鱼或乌贼,而人类对这个物种给出的正式名称是“卡律布狄斯(Charybdis)”。它们对人类怀有敌意,对他们发动一场灭绝人类的战争。 [1]  它们是外来殖民者,来自于Messier 33三角座星系α象限中一颗被视为“Ceph Homeworld”的行星,距地球约300万光年。大约6500万年前到达地球,在游戏事件发生之前,它们最近的活动发生在大约200万年前,集体进入了休眠状态。直到它们在灵山岛上被完全唤醒。 [1] 展开全文
Ceph是第一人称游戏《孤岛危机》系列中一个技术先进的神秘外星物种,该绰号是“Cephalopod(头足类动物)”的简称,因为它们非常类似于地球海洋上的章鱼或乌贼,而人类对这个物种给出的正式名称是“卡律布狄斯(Charybdis)”。它们对人类怀有敌意,对他们发动一场灭绝人类的战争。 [1]  它们是外来殖民者,来自于Messier 33三角座星系α象限中一颗被视为“Ceph Homeworld”的行星,距地球约300万光年。大约6500万年前到达地球,在游戏事件发生之前,它们最近的活动发生在大约200万年前,集体进入了休眠状态。直到它们在灵山岛上被完全唤醒。 [1]
信息
登场作品
孤岛危机
定    义
外星生物
中文名
Ceph
其它名称
Charybdis
Ceph孤岛危机1
而后因为地壳运动导致其深埋在地下,无法觉醒。在《孤岛危机》历史中,Ceph与人类的接触可能最早是在1908年,当年通古斯大爆炸后,哈格瑞夫(二代中的罐装人)、卡尔·罗许(三代中的Ceph首脑代理)和沃尔特·古德(二代古德博士的爷爷)秘密组织了一支探险队前往调查大爆炸的遗址,虽然具体过程不明,但结果最后只剩下上述三人生还。后来到了2020年的8月,因为陨石的缘故,深埋在灵山岛下的Ceph机械开始活动,同时朝鲜和美国开始纷纷向岛上派遣部队,随后因为朝鲜人民军的庆将军执意启动Ceph飞船,结果导致灵山岛的Ceph全部苏醒,并在顷刻间几乎将整个岛屿全部冰封,随后美 孤岛危机1 Ceph部队(5张) 国和朝鲜的军队被迫联合抗敌,但在Ceph的优势火力下节节败退,美国军队只好出动宪法号航母上全部的VTOL来撤离部队。随后,美军战斗机向灵山岛发射了一颗核弹,企图用核弹来歼灭整座岛上的Ceph,但因为Ceph拥有可以吸收外来能量并转化为自己能源的恐怖技术,核弹反而使Ceph机械部队更加强大,之后Ceph机械部队攻上了宪法号,在诺曼(一代男主)的反击下,消灭了Ceph Hunter 机甲和Ceph母舰,随后撤离航母,再次飞向灵山岛(救普费)。
收起全文
精华内容
参与话题
问答
  • ceph

    2020-02-08 16:19:15
    分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与...Ceph是一个分布式文件系统 具有高扩展,高可用,高性能的特点 C...

    分布式文件系统

    • 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连
    • 分布式文件系统的设计基于客户机/服务器模式

    常用的分布式文件系统

    • Lustre
    • Hadoop
    • FastDFS
    • Ceph
    • GlusterFS

    什么是Ceph

    • Ceph是一个分布式文件系统
    • 具有高扩展,高可用,高性能的特点
    • Ceph可以提供对象存储,块存储,文件系统存储
    • 块存储(iscsi)客户端多了一个磁盘,文件系统(NFS)客户端直接mount
    • Ceph可以提供PB级别的存储空间(PB→TB→GB),1024G*1024G=1058576G
    • 软件定义存储(Software Defined Storage)作为存储行业的一大发展趋势,已经越来越受到市场的认可
      在这里插入图片描述
      链接在此!

    Ceph组件

    • OSDs 存储设备
    • Monitors 集群监控软件
    • RadosGateway(RGW) 对象存储网关
    • MDSs 存放文件系统的元数据(对象存储和 块存储不需要该组件)
    • Client ceph客户端

    实验准备

    问题
    准备四台KVM虚拟机,其三台作为存储集群节点, 一台安装为客户端,实现如下功能:

    • 创建1台客户端虚拟机
    • 创建3台存储集群虚拟机
    • 配置主机名、IP地址、YUM源
    • 修改所有主机的主机名
    • 配置无密码SSH连接
      – 配置NTP时间同步
    • 创建虚拟机磁盘

    实验拓扑图

    • 1台客户端虚拟机
    • 3台存储集群虚拟机
      在这里插入图片描述
      所有主机的主机名及对应的IP地址如表-1所示。
      注意:所有主机基本系统光盘的YUM源必须提前配置好。
      在这里插入图片描述

    步骤

    1)物理机为所有节点配置yum源服务器。所有主机都要做!!!
    提示:前提ceph.iso已经挂载好才可以进行下一步!!

    [root@node1 ~]# vim  /etc/yum.repos.d/ceph.repo
    [MON]
    name=mon
    baseurl=file:///media/MON
    gpgcheck=0
    [OSD]
    name=osd
    baseurl=file:///media/OSD
    gpgcheck=0
    [Tools]
    name=tools
    baseurl=file:///media/Tools
    gpgcheck=0
    [root@node1 ~]# yum  repolist 
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    源标识                                源名称                               状态
    !MON                                  mon                                     41
    !OSD                                  osd                                     28
    !Tools                                tools                                   33
    !centos                               centos                               9,911
    repolist: 10,013
    
    1. SSH免密登录,配置无密码连接(包括自己远程自己也不需要密码),在node1操作。
    [root@node1 ~]# ssh-keygen   #一路回车
    [root@node1 ~]# for  i  in 10 11 12 13  
    > do
    > ssh-copy-id   192.168.4.$i
    > done
    #############################################################
    测试:
    [root@node1 ~]# ssh  192.168.4.10
    Last login: Thu Feb  6 00:17:09 2020 from 192.168.4.1
    [root@client ~]# exit
    登出
    Connection to 192.168.4.10 closed.
    [root@node1 ~]# ssh  192.168.4.12
    Last login: Wed Feb  5 23:21:36 2020 from 192.168.4.1
    [root@node2 ~]# exit
    登出
    Connection to 192.168.4.12 closed.
    [root@node1 ~]# ssh  192.168.4.13
    Last login: Wed Feb  5 23:25:45 2020 from 192.168.4.1
    [root@node3 ~]# exit
    登出
    Connection to 192.168.4.13 closed.
    [root@node1 ~]# ssh  192.168.4.11
    Last login: Thu Feb  6 00:18:12 2020 from 192.168.4.1
    [root@node1 ~]# exit
    登出
    Connection to 192.168.4.11 closed.
    确保每台计算机远程都不需要密码
    

    3)修改/etc/hosts并同步到所有主机。
    警告:/etc/hosts解析的域名必须与本机主机名一致!!!!

    [root@node1 ~]# vim  /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.4.10   client
    192.168.4.11   node1
    192.168.4.12   node2
    192.168.4.13   node3
    [root@node1 ~]# for  i  in  client  node2  node3
    > do
    > scp  /etc/hosts  $i:/etc
    > done
    ###########################################################
    测试:此时,每台计算机的hosts解析中都有client,node1,node2,node3
    [root@node2 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.4.10   client
    192.168.4.11   node1
    192.168.4.12   node2
    192.168.4.13   node3
    

    4)配置NTP时间同步(client做时间服务器,所有node节点与client时间同步)

    [root@client ~]# vim  /etc/chrony.conf
     26 allow 192.168.4.0/16
     29 local stratum 10
    [root@client ~]# systemctl  restart   chronyd
    [root@client ~]# firewall-cmd --set-default-zone=trusted 
    success
    [root@client ~]# vim  /etc/sysconfig/selinux 
    7 SELINUX=permissive
    [root@client ~]# setenforce 0
    
    所有node节点与client同步时间
    [root@node1 ~]# vim  /etc/chrony.conf
     3 server 192.168.4.10 iburst
    [root@node1 ~]# for  i  in  node1 node2  node3 
    > do
    > scp  /etc/chrony.conf   $i:/etc
    > ssh   $i   "systemctl  restart  chronyd"
    > done
    chrony.conf                                                              100%  991     1.1MB/s   00:00    
    chrony.conf                                                              100%  991     1.1MB/s   00:00    
    chrony.conf                                                              100%  991   962.8KB/s  
    [root@node1 ~]# chronyc   sources  -V        #快速测试时间同步,*表示已经同步
    210 Number of sources = 1
    MS Name/IP address         Stratum Poll Reach LastRx Last sample               
    ===============================================================================
    ^* client                       10  10   377   609    -12us[  -18us] +/-  150us
    
    

    5)打开VMware,给除了client的每台虚拟机添加两块磁盘(20G)
    在这里插入图片描述
    一路下一步,最后呈现的效果如下:
    在这里插入图片描述
    添加完后,重启虚拟机,使用lsblk查看是否添加成功

    部署ceph集群

    问题
    部署Ceph集群服务器,实现以下目标:

    • 安装部署工具ceph-deploy
    • 创建ceph集群
    • 准备日志磁盘分区
    • 创建OSD存储空间
    • 查看ceph状态,验证

    步骤

    • 步骤一:安装部署软件ceph-deploy

    1)在node1安装部署工具,学习工具的语法格式。

    [root@node1 ~]# yum  -y  install  ceph-deploy      #一定要在有ssh密钥的主机上安装
    [root@node1 ~]# mkdir   ceph-cluster         #但凡执行ceph-cluster脚本,必须在该目录下,否则会出错
    [root@node1 ~]# cd ceph-cluster
    
    • 步骤二:部署Ceph集群

    1)给所有节点安装ceph相关软件包。

    [root@node1 ceph-cluster]# for  i   in  node1  node2 node3
    
    > do 
    > ssh  $i  "yum  -y  install  ceph-mon  ceph-osd   ceph-mds  ceph-radosgw"
    > done
    

    部署mon集群,一定要确保 在ceph-cluster目录下!!!

    首先关闭所有节点的防火墙和selinux
    [root@node1 ceph-cluster]# firewall-cmd  --set-default-zone=trusted
    success
    [root@node1 ceph-cluster]# vim  /etc/sysconfig/selinux 
    7 SELINUX=permissive
    [root@node1 ceph-cluster]# setenforce 0
    ############################################################
    [root@node1 ceph-cluster]# pwd
    /root/ceph-cluster
    

    2)创建Ceph集群配置,在ceph-cluster目录下生成Ceph配置文件。
    在ceph.conf配置文件中定义monitor主机是谁。

    [root@node1 ceph-cluster]# ceph-deploy  new  node1 node2  node3
        #测试所有node节点的状态,创建了ceph的配置文件ceph.conf(在当前目录下)
    [root@node1 ceph-cluster]# ls
    ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring
    ###################################
    [root@node1 ceph-cluster]# ls  /etc/ceph/
    rbdmap
    #/etc/ceph目录是启动ceph需要读取配置文件的地方
    

    3)初始化所有节点的mon服务,也就是启动mon服务(主机名解析必须对)。

    [root@node1 ceph-cluster]# ceph-deploy  mon  create-initial
    #把当前目录下的ceph配置文件远程拷贝到目标主机(node1 node2 node3)放到/etc/ceph目录,并且启动ceph-mon服务(服务名为ceph-mon@主机名)
    #############################################################
    查看状态:
    [root@node1 ceph-cluster]# systemctl  status  ceph-mon@node1
    #确认mon服务是否已经启动
    [root@node1 ceph-cluster]# ceph  -s
        cluster 3b2ca6aa-8018-42c4-8bfe-05902cd313dd
         health HEALTH_ERR
                64 pgs are stuck inactive for more than 300 seconds
                64 pgs stuck inactive
                no osds
         monmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0}    #6789为起完服务后monitior的端口号
                election epoch 8, quorum 0,1,2 node1,node2,node3
         osdmap e1: 0 osds: 0 up, 0 in
                flags sortbitwise
          pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
                0 kB used, 0 kB / 0 kB avail
                      64 creating
    

    常见错误及解决方法(非必要操作,有错误可以参考):
    如果提示如下错误信息:

    [node1][ERROR ] admin_socket: exception getting command descriptions: [Error 2] No such file or directory
    

    解决方案如下(在node1操作):
    先检查自己的命令是否是在ceph-cluster目录下执行的!!!!如果确认是在该目录下执行的create-initial命令,依然报错,可以使用如下方式修复。

    [root@node1 ceph-cluster]# vim ceph.conf      #文件最后追加以下内容
    public_network = 192.168.4.0/24
    

    修改后重新推送配置文件:

    [root@node1 ceph-cluster]# ceph-deploy --overwrite-conf config push node1 node2 node3
    
    • 步骤三:创建OSD
      每台虚拟机都添加了 两块磁盘(/dev/sdb、/dev/sdc)
      sdb用来做缓存盘,sdc做数据盘

    读写操作 缓存 数据
    client<-------->ceph集群[sdb]<-------->[sdc] 硬盘分为传统磁盘固态盘
    传统磁盘:性能较低,容量大
    固态盘(SSD):容量很小,性能很好 可以使用固态盘做缓存盘,磁盘做数据盘

    假设每个磁盘是20G,最终我们的ceph集群提供60G的容量(不考虑冗余备份)
    node1 [sdb]+[sdc]=20G #sdb为缓存盘,只能临时读写数据,不能算作容量内
    node2 [sdb]+[sdc]=20G
    node3 [sdb]+[sdc]=20G

    1)把所有磁盘初始化(格式化,仅在node1操作)

    [root@node1 ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb               8:16   0   20G  0 disk 
    sdc               8:32   0   20G  0 disk 
    sr0              11:0    1  284M  0 rom  /media
    sr1              11:1    1  8.8G  0 rom  /mnt
    [root@node1 ~]# cd  ceph-cluster/
    [root@node1 ceph-cluster]# ceph-deploy  disk  zap  node1:sdb    node1:sdc    #相当于远程加for循环,写几个参数就循环几次
    [root@node1 ceph-cluster]# ceph-deploy  disk  zap  node2:sdb    node2:sdc
    [root@node1 ceph-cluster]# ceph-deploy  disk  zap  node3:sdb    node3:sdc
    ########################################################
    也可以直接一次性初始化
    [root@node1 ceph-cluster]# ceph-deploy  disk  zap  node1:sdb    node1:sdc node2:sdb   node2:sdc  node3:sdb   node3:sdc
    

    2)启动OSD服务,共享这些磁盘

    [root@node1 ceph-cluster]# ceph-deploy   osd  create  node1:sdc:/dev/sdb
    //远程node1启动osd服务,把/dev/sdc共享给用户,/dev/sdb做为缓存盘
    并且把sdc挂载到了/var/lib/ceph/xxx目录
    [root@node1 ceph-cluster]# ceph-deploy   osd  create  node2:sdc:/dev/sdb
    [root@node1 ceph-cluster]# ceph-deploy   osd  create  node3:sdc:/dev/sdb
    #########################################################
    也可以一次性远程多台主机
    [root@node1 ceph-cluster]# ceph-deploy   osd  create  node1:sdc:/dev/sdb   node2:sdc:/dev/sdb   node3:sdc:/dev/sdb
    
    • 常见错误及解决方法(非必须操作)。

    使用osd create创建OSD存储空间时,如提示下面的错误提示:

    [ceph_deploy][ERROR ] RuntimeError: bootstrap-osd keyring not found; run 'gatherkeys'
    

    可以使用如下命令修复文件,重新配置ceph的密钥文件:

    [root@node1 ceph-cluster]#  ceph-deploy gatherkeys node1 node2 node3 
    

    3)验证测试,检查集群状态:

    [root@node1 ceph-cluster]# ceph  -s
        cluster 3b2ca6aa-8018-42c4-8bfe-05902cd313dd
         health HEALTH_OK
         monmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0}
                election epoch 14, quorum 0,1,2 node1,node2,node3
         osdmap e14: 3 osds: 3 up, 3 in
                flags sortbitwise
          pgmap v28: 64 pgs, 1 pools, 0 bytes data, 0 objects
                100 MB used, 61306 MB / 61406 MB avail
                      64 active+clean
    此时可以看到,有三个osd,容量为60G,状态为OK
    

    验证是否挂载成功

    [root@node1 ceph-cluster]# df  -h
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   17G  1.4G   16G    8% /
    devtmpfs                 224M     0  224M    0% /dev
    tmpfs                    236M     0  236M    0% /dev/shm
    tmpfs                    236M  5.6M  230M    3% /run
    tmpfs                    236M     0  236M    0% /sys/fs/cgroup
    /dev/sr0                 284M  284M     0  100% /media
    /dev/sr1                 8.8G  8.8G     0  100% /mnt
    /dev/sda1               1014M  142M  873M   14% /boot
    tmpfs                     48M     0   48M    0% /run/user/0
    /dev/sdc1                 20G   34M   20G    1% /var/lib/ceph/osd/ceph-0
    可以看到/dev/sdc已经挂载到ceph集群中了
    [root@node1 ceph-cluster]# systemctl   status    ceph-osd@0.service    #服务已经成功启动,OSD的服务名称ceph-osd@数字(可以在@后tab)
    ● ceph-osd@0.service - Ceph object storage daemon
       Loaded: loaded (/usr/lib/systemd/system/ceph-osd@.service; enabled; vendor preset: disabled)
       Active: active (running) since 四 2020-02-06 18:49:43 CST; 40min ago
     Main PID: 1973 (ceph-osd)
    
    [root@node1 ceph-cluster]# ceph   osd  tree
    ID WEIGHT  TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY 
    -1 0.05846 root default                                     
    -2 0.01949     host node1                                   
     0 0.01949         osd.0       up  1.00000          1.00000 
    -3 0.01949     host node2                                   
     1 0.01949         osd.1       up  1.00000          1.00000 
    -4 0.01949     host node3                                   
     2 0.01949         osd.2       up  1.00000          1.00000 
    

    2)常见错误(非必须操作)。
    如果查看状态包含如下信息:

    health: HEALTH_WARN
            clock skew detected on  node2, node3…  
    

    clock skew表示时间不同步,解决办法:请先将所有主机的时间都使用NTP时间同步!!!
    Ceph要求所有主机时差不能超过0.05s,否则就会提示WARN。
    如果状态还是失败,可以尝试执行如下命令,重启ceph服务:

    [root@node1 ~]#  systemctl restart ceph\*.service ceph\*.target
    

    Ceph块存储

    • 单机块设备
      1.光盘
      2.磁盘
    • 分布式块存储
      1.ceph
      2.cinder

    什么是块存储

    • ceph块设备也叫做RADOS块设备 RADOS block device : RBD
    • RBD驱动已经很好地集成在了linux内核中
    • RBD提供了企业功能,如快照,COW克隆等
    • RBD还支持内存缓存,从而能够大大的提高性能
    • Linux内核可以直接访问ceph块存储
    • KVM可用于j借助于librbd访问
      在这里插入图片描述

    创建Ceph块存储

    问题
    使用Ceph集群的块存储功能,实现以下目标:

    • 创建块存储镜像

    • 客户端映射镜像

    • 创建镜像快照

    • 使用快照还原数据

    • 使用快照克隆镜像

    • 删除快照与镜像
      步骤

    • 步骤一:创建镜像

    1)查看存储池。

    	[root@node1 ~]# ceph   osd  lspools
    0 rbd,
    

    2)创建镜像、查看镜像

    [root@node1 ~]# rbd create jacob  --image-feature  layering --size 5G
    

    #这里的jacob为创建的镜像名称,可以为任意字符。
    #–image-feature参数指定我们创建的镜像有哪些功能,layering是开启COW(写实复制)功能。
    #提示:ceph镜像支持很多功能,但很多是操作系统不支持的,我们只开启layering。

    [root@node1 ~]# rbd  list      #列出所有共享镜像
    jacob
    [root@node1 ~]# rbd  info  jacob    #列出某个镜像的详细信息
    rbd image 'jacob':
    	size 5120 MB in 1280 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3a2ae8944a
    	format: 2
    	features: layering
    	flags: 
    
    • 步骤二:动态调整

    1)扩容容量

    [root@node1 ~]# rbd  resize --size 15G  jacob
    Resizing image: 100% complete...done.
    [root@node1 ~]# rbd  info  jacob
    rbd image 'jacob':
    	size 15360 MB in 3840 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3a2ae8944a
    	format: 2
    	features: layering
    	flags: 
    

    2)缩减容量

    [root@node1 ~]# rbd  resize --size 10G  jacob
    rbd: shrinking an image is only allowed with the --allow-shrink flag
    #此时缩减容量会报错,如果确认要缩减,添加--allow-shrink选项
    [root@node1 ~]# rbd  resize --size 10G  jacob  --allow-shrink
    Resizing image: 100% complete...done.
    [root@node1 ~]# rbd  info  jacob
    rbd image 'jacob':
    	size 10240 MB in 2560 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3a2ae8944a
    	format: 2
    	features: layering
    	flags: 
    

    客户端访问共享(client做客户端主机)

    首先确保客户端的yum源已经加载
    [root@client ~]# yum  repolist
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    源标识                               源名称                                状态
    MON                                  mon                                      41
    OSD                                  osd                                      28
    Tools                                tools                                    33
    centos                               centos                                9,911
    repolist: 10,013
    [root@client ~]# yum -y  install  ceph-common.x86_64 
    #客户端需要安装ceph-common软件包
    [root@client ~]# scp   192.168.4.11:/etc/ceph/ceph.conf    /etc/ceph
    #拷贝配置文件,配置文件中记录的有ceph集群服务器的IP信息
    [root@client ~]# scp   node1:/etc/ceph/ceph.client.admin.keyring     /etc/ceph                #拷贝访问集群的密钥文件,有了密钥才有权限访问集群
    [root@client ~]# lsblk         查看磁盘分布情况
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sr0              11:0    1  284M  0 rom  /media
    sr1              11:1    1  8.8G  0 rom  /mnt
    [root@client ~]# rbd  map  jacob               #客户端连接jacob镜像
    /dev/rbd0
    [root@client ~]# lsblk      #再次查看 ,此时磁盘中多了一个rbd0
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sr0              11:0    1  284M  0 rom  /media
    sr1              11:1    1  8.8G  0 rom  /mnt
    rbd0            252:0    0   10G  0 disk 
    
    • 步骤三:客户端进行快照还原数据的实验:
      快照:写数据;快照;模拟人为的误操作;还原快照
      副本:写数据,可以自动备份3份;删数据时,删除3份,主要用来解决单点故障的问题
      1)格式化,挂载,写数据
    [root@client ~]# mkfs.xfs  /dev/rbd0
    [root@client ~]# mount   /dev/rbd0  /data
    [root@client ~]# df  -h 
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   17G  1.2G   16G    8% /
    devtmpfs                 224M     0  224M    0% /dev
    tmpfs                    236M     0  236M    0% /dev/shm
    tmpfs                    236M  5.6M  230M    3% /run
    tmpfs                    236M     0  236M    0% /sys/fs/cgroup
    /dev/sr0                 284M  284M     0  100% /media
    /dev/sda1               1014M  142M  873M   14% /boot
    /dev/sr1                 8.8G  8.8G     0  100% /mnt
    tmpfs                     48M     0   48M    0% /run/user/0
    /dev/rbd0                 10G   33M   10G    1% /data
    [root@client ~]# echo  "abc  hello  world"   >  /data/test.txt
    
    • 步骤四:回到node集群,创建快照
    [root@node1 ~]# rbd  snap  ls  jacob                       #默认该镜像没有快照
    [root@node1~]# rbd  snap  create   jacob  --snap  jacob-snap1
    #给jacob镜像创建快照,快照名为jacob-snap1
    [root@node1 ~]# rbd  snap  ls  jacob
    SNAPID NAME            SIZE 
         4 jacob-snap1 10240 MB 
    

    到client模拟数据被误操作删除(ceph不支持在线还原快照)

    [root@client ~]# ls  /data
    test.txt
    [root@client ~]# rm  -rf  /data/test.txt 
    [root@client ~]# umount  /data
    [root@client ~]# ls /data
    

    到node集群还原快照

    [root@node1 ~]# rbd  snap  rollback jacob  --snap  jacob-snap1
    Rolling back to snapshot: 100% complete...done.
    

    客户端再次挂载访问共享

    [root@client ~]# mount   /dev/rbd0  /data
    [root@client ~]# ls  /data
    test.txt
    [root@client ~]# cat  /data/test.txt 
    abc  hello  world
    
    • 步骤五:创建块照克隆
    • 使用快照克隆一个新的镜像盘image
      jacob--------3G数据(快照)--------->创建新的共享
      创建一个新的共享
      1)保护快照(防止快照被误删除)
    [root@node1 ~]# rbd  snap  protect  jacob  --snap  jacob-snap1        #保护快照
    [root@node1 ~]# rbd  snap  rm  jacob  --snap  jacob-snap1          #删除快照,此时无法删除,因为做了快照保护
    rbd: snapshot 'jacob-snap1' is protected from removal.
    2020-02-06 21:56:47.950350 7f10f5b44d80 -1 librbd::Operations: snapshot is protected
    

    2)克隆快照

    [root@node1 ~]# rbd  clone  jacob  --snap  jacob-snap1   jacob-clone   --image-feature  layering
    #使用现有jacob镜像盘的jacob-snap1这个快照,克隆一个新的共享镜像盘,名称为jacob-clone
    [root@node1 ~]# rbd  ls 
    jacob
    jacob-clone
    

    3)查看克隆镜像与父镜像快照之间的关系

    [root@node1 ~]# rbd info  jacob  
    rbd image 'jacob':
    	size 10240 MB in 2560 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3a2ae8944a
    	format: 2
    	features: layering
    	flags: 
    [root@node1 ~]# rbd   info  jacob-clone
    rbd image 'jacob-clone':
    	size 10240 MB in 2560 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3e2ae8944a
    	format: 2
    	features: layering
    	flags: 
    	parent: rbd/jacob@jacob-snap1               #克隆镜像此时显示有父镜像
    	overlap: 10240 MB       
    #克隆镜像很多数据都来自于快照链
    #如果希望克隆镜像可以独立工作,就需要将父快照中的数据,全部拷贝一份,但比较耗时!!!                         
    [root@node1 ~]# rbd  flatten  jacob-clone
    Image flatten: 100% complete...done.
    [root@node1 ~]# rbd   info  jacob-clone
    rbd image 'jacob-clone':
    	size 10240 MB in 2560 objects
    	order 22 (4096 kB objects)
    	block_name_prefix: rbd_data.5e3e2ae8944a
    	format: 2
    	features: layering
    	flags:                                        #此时父快照的信息不见了!
    [root@node1 ~]# rbd  snap  unprotect  jacob  --snap  jacob-snap1
    #取消快照保护
    [root@node1 ~]# rbd  snap  rm   jacob   --snap   jacob-snap1
    #删除快照,此时快照就可以被删除
    

    客户端取消对ceph的挂载实验

    [root@client ~]# df  -h
    文件系统                 容量  已用  可用 已用% 挂载点
    /dev/mapper/centos-root   17G  1.2G   16G    8% /
    devtmpfs                 224M     0  224M    0% /dev
    tmpfs                    236M     0  236M    0% /dev/shm
    tmpfs                    236M  5.6M  230M    3% /run
    tmpfs                    236M     0  236M    0% /sys/fs/cgroup
    /dev/sr0                 284M  284M     0  100% /media
    /dev/sda1               1014M  142M  873M   14% /boot
    /dev/sr1                 8.8G  8.8G     0  100% /mnt
    tmpfs                     48M     0   48M    0% /run/user/0
    /dev/rbd0                 10G   33M   10G    1% /data
    [root@client ~]# umount  /data          #卸载
    [root@client ~]# lsblk                    #查看,此时,rbd0依然存在
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sr0              11:0    1  284M  0 rom  /media
    sr1              11:1    1  8.8G  0 rom  /mnt
    rbd0            252:0    0   10G  0 disk 
    [root@client ~]# rbd  showmapped
    id pool image snap device    
    0  rbd  jacob -    /dev/rbd0 
    [root@client ~]# rbd  unmap   /dev/rbd0           #也可以写rbd   unmap    jacob
    [root@client ~]# lsblk                       #此时,rbd0不存在了
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0   20G  0 disk 
    ├─sda1            8:1    0    1G  0 part /boot
    └─sda2            8:2    0   19G  0 part 
      ├─centos-root 253:0    0   17G  0 lvm  /
      └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
    sr0              11:0    1  284M  0 rom  /media
    sr1              11:1    1  8.8G  0 rom  /mnt
    [root@client ~]# rbd  map  jacob-clone
    /dev/rbd0
    [root@client ~]# mount  /dev/rbd0   /data
    [root@client ~]# ls  /data
    test.txt
    [root@client ~]# umount  /data
    [root@client ~]# rbd  unmap  /dev/rbd0
    

    Ceph文件系统存储

    什么是CephFS

    • 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连
    • CephFS使用Ceph集群提供与POSIX兼容的文件系统
    • 允许 Linux直接将Ceph存储mount到本地

    什么是元数据

    • 元数据(Metadata)
    • 任何文件系统中的数据分为数据和元数据
    • 数据是指普通文件中的实际数据
    • 而元数据指用来描述一个文件特征的系统数据
    • 比如:访问权限、文件拥有者以及文件数据块的分布信息(inode…)等
    • 所以CephFS必须要有MDSs节点

    ceph集群支持块共享,文件系统共享,对象存储共享
    块共享(同一时间仅可以同一个客户端访问)

    iscsi服务 server[挂载]格式化 mount 写数据10个文件
    desktop 挂载 mount 写10个文件
    server 再次访问 看到20个文件
    文件系统共享
    NFS(/common)
    desktop (mount) 写数据,读数据
    node1 (mount) 写数据,读数据

    Ceph 集群支持块共享、文件系统共享、对象存储共享 块共享(同一时间仅可以一个客户端访问) 块(没有格式化) 文件系统(格式化,NFS,fat32,ext4,xfs文件系统) 硬盘没有格式化,就相当于一幢空的大厦
    假设一块硬盘此时有100G,将硬盘分为inode区域和block两个区域 inode block
    2G 98G 再将inode区域的空间划分为每块256字节,block区域空间划分为每块4k的字节 在这里插入图片描述
    写数据时,数据会被写入到block中(4M的文件,会占用多个block)
    block中存数据,inode中存储元数据(metadata)【元数据是数据的数据,描述数据的数据,比如一个文件,有文件名,时间,权限,大小…类似于描述信息,同时还记录文件数据的地址】

    Ceph文件系统实验

    问题
    实现Ceph文件系统的功能。具体实现有以下功能:

    • 部署MDSs节点
    • 创建Ceph文件系统
    • 客户端挂载文件系统
      方案
      使用现有的虚拟机进行操作
      在这里插入图片描述
      步骤
    • 1).ceph提供文件系统共享的实验:(使用node3做ceph-mds服务,操作指令在node1执行)
    [root@node1 ~]# cd   ceph-cluster/
    [root@node1 ceph-cluster]# ceph-deploy  mds  create  node3
    #######################################################################
    此时:
    【node1】/root/ceph-cluster/ceph.conf
    【node3】/etc/ceph/ceph.conf
    文件内容要一毛一样!
    
    [root@node1 ceph-cluster]# cat  ceph.conf 
    [global]
    fsid = 3b2ca6aa-8018-42c4-8bfe-05902cd313dd
    mon_initial_members = node1, node2, node3
    mon_host = 192.168.4.11,192.168.4.12,192.168.4.13
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    [root@node3 ~]# cat  /etc/ceph/ceph.conf 
    [global]
    fsid = 3b2ca6aa-8018-42c4-8bfe-05902cd313dd
    mon_initial_members = node1, node2, node3
    mon_host = 192.168.4.11,192.168.4.12,192.168.4.13
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    
    config  file /etc/ceph/ceph.conf   exist   with different   content   
    有文件,但内容不一致,可以加--overwrite-conf选项
    
    在node3查看,此时ceph-mds服务已经启动
    [root@node3 ~]# systemctl  status   ceph-mds@node3.service 
    ● ceph-mds@node3.service - Ceph metadata server daemon
       Loaded: loaded (/usr/lib/systemd/system/ceph-mds@.service; enabled; vendor preset: disabled)
       Active: active (running) since 五 2020-02-07 18:13:49 CST; 9min ago
    
    • 2).创建存储池
    [root@node1 ~]# ceph  osd  pool  create  cephfs_data  128
    pool 'cephfs_data' created
    #创建存储池,对应128个PG
    [root@node1 ceph-cluster]# ceph  osd  pool  create  cephfs_metadata  128
    pool 'cephfs_metadata' created
    #创建存储池,对应128个PG
    #cephfs_metadata做inode  ,cephfs_data做block
    [root@node1 ceph-cluster]# ceph  osd  lspools   #查看
    0 rbd,1 cephfs_data,2 cephfs_metadata,
    

    在这里插入图片描述

    • 3)创建文件系统
    [root@node1 ceph-cluster]# ceph  fs  new  myfs1  cephfs_metadata   cephfs_data
    #创建一个文件系统,这个文件系统由inode和block组成,cephfs_metadata做inode,存元数据,cephfs_data做block,存数据,文件系统名称是myfs1
    [root@node1 ceph-cluster]# ceph  fs  ls         #查看文件系统
    name: myfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
    

    4)客户端mount访问

    [root@client ~]# mkdir  /cephfs
    [root@node1 ceph-cluster]# cat  /etc/ceph/ceph.client.admin.keyring 
    [client.admin]
    	key = AQCb/TpeWGpVJBAALIlg4tgvgDTbr+Poza3xCw==
    #查看 /etc/ceph/ceph.client.admin.keyring找用户名和密码
    [root@client ~]# mount  -t  ceph  192.168.4.11:6789:/   /cephfs  -o  name=admin,secret=AQCb/TpeWGpVJBAALIlg4tgvgDTbr+Poza3xCw==
    #客户端mount访问共享,-t访问的服务类型是ceph(nfs,cifs),服务IP是192.168.4.11,端口号是6789,ceph仅支持一个文件系统共享,只能写访问/,把共享挂载到/cephfs目录,name指定用户名,secret指定密码(因为ceph集群需要验证用户和密码才可以访问)
    [root@node1 ceph-cluster]# ceph  -s
        cluster 3b2ca6aa-8018-42c4-8bfe-05902cd313dd
         health HEALTH_WARN
                too many PGs per OSD (320 > max 300)
         monmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0}
                election epoch 18, quorum 0,1,2 node1,node2,node3
          fsmap e5: 1/1/1 up {0=node3=up:active}
         osdmap e31: 3 osds: 3 up, 3 in
                flags sortbitwise
          pgmap v830: 320 pgs, 3 pools, 84386 kB data, 2606 objects
                362 MB used, 61044 MB / 61406 MB avail
                     320 active+clean
    

    Ceph对象存储

    • 对象存储:
    • 基于kv的存储,通过API接口访问,对象存储中所有的数据都被认为是一个对象。基于对象的存储就是对象存储
    • 也就是键值存储,通其接口指令,也就是简单的GET、PUT、DEL和其他扩展,向存储服务上传或下载数据
    • 对象存储中所有数据都被认为是一个对象,所以,任何数据都可以存入对象服务器,如图片,视频,音频等
    • RGW全称是Rados Gateway
    • RGW是ceph对象存储网关,用于向客户端应用呈现存储页面,提供RESTful API访问接口
      运维:部署集群,维护集群,故障排错
      开发:写程序,基于程序中的指令连接ceph服务器,上传下载数据
      百度云盘就属于对象存储(不能直接mount,不是在客户端多一个磁盘)
      百度云盘,客户端需要下载他的客户端软件(网页也是软件)

    Ceph对象存储实验

    步骤

    • 1)登录node1使用ceph-deploy运城启动RGW服务(radosgw)
    [root@node1 ~]# cd  ceph-cluster/
    [root@node1 ceph-cluster]# ceph-deploy   rgw  create  node3
    ...
    [ceph_deploy.rgw][INFO  ] The Ceph Object Gateway (RGW) is now running on host node3 and default port 7480
    #起完服务后默认端口7480
    [root@node3 ~]# systemctl    status  ceph-radosgw@rgw.node3.service    #查看服务是否已经启动
    ● ceph-radosgw@rgw.node3.service - Ceph rados gateway
       Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw@.service; enabled; vendor preset: disabled)
       Active: active (running) since 五 2020-02-07 19:46:54 CST; 7min ago
    [root@node3 ~]# ss  -nutlp |  grep  7480        #也可以查看端口号
    tcp    LISTEN     0      128       *:7480                  *:*                   users:(("radosgw",pid=2120,fd=27))
    
    • 2)可以修改配置文件,修改服务的端口(非必须操作)【在node3操作】
    [root@node3 ~]# vim   /etc/ceph/ceph.conf
    手动输入三行
    [client.rgw.node3]
    host=node3
    rgw_frontends="civetweb port=8000"
    [root@node3 ~]# systemctl   restart  ceph-radosgw@rgw.node3.service 
    [root@node3 ~]# ss  -nutlp  |  grep  radosgw
    tcp    LISTEN     0      128       *:8000                  *:*               users:(("radosgw",pid=2556,fd=27))
    
    展开全文
  • CephCephfs

    2020-01-01 08:14:58
    Ceph File System (CephFS) 是与 POSIX 标准兼容的文件系统, 能够提供对 Ceph 存储集群上的文件访问. Jewel 版本 (10.2.0) 是第一个包含稳定 CephFS 的 Ceph 版本. CephFS 需要至少一个元数据服务器 (Metadata ...

    1.CephFs介绍

    Ceph File System (CephFS) 是与 POSIX 标准兼容的文件系统, 能够提供对 Ceph 存储集群上的文件访问. Jewel 版本 (10.2.0) 是第一个包含稳定 CephFS 的 Ceph 版本. CephFS 需要至少一个元数据服务器 (Metadata Server - MDS) daemon (ceph-mds) 运行, MDS daemon 管理着与存储在 CephFS 上的文件相关的元数据, 并且协调着对 Ceph 存储系统的访问。
    对象存储的成本比起普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了做文件共享的时候,直接用文件存储的形式好了,性价比高。

    2.CephFS 架构

    底层是核心集群所依赖的, 包括:
    OSDs (ceph-osd): CephFS 的数据和元数据就存储在 OSDs 上
    MDS (ceph-mds): Metadata Servers, 管理着 CephFS 的元数据
    Mons (ceph-mon): Monitors 管理着集群 Map 的主副本 Ceph 存储集群的协议层是 Ceph 原生的 librados 库, 与核心集群交互.
    CephFS 库层包括 CephFS 库 libcephfs, 工作在 librados 的顶层, 代表着 Ceph 文件系统.最上层是能够访问 Ceph 文件系统的两类客户端.

    3.配置 CephFS MDS

    要使用 CephFS, 至少就需要一个 metadata server 进程。可以手动创建一个 MDS, 也可以使用 ceph-deploy 或者 ceph-ansible 来部署 MDS。
    登录到ceph-deploy工作目录执行

    ceph-deploy mds create $hostname
    

    4.部署Ceph文件系统

    部署一个 CephFS, 步骤如下:
    1.在一个 Mon 节点上创建 Ceph 文件系统.
    2.若使用 CephX 认证,需要创建一个访问 CephFS 的客户端
    3.挂载 CephFS 到一个专用的节点.

    以 kernel client 形式挂载 CephFS
    以 FUSE client 形式挂载 CephFS
    (1)创建一个 Ceph 文件系统
    ①CephFS 需要两个 Pools - cephfs-data 和 cephfs-metadata, 分别存储文件数据和文件元数据

     ceph osd pool create cephfs-data 256 256
    ceph osd pool create cephfs-metadata 64 64
    

    注:一般 metadata pool 可以从相对较少的 PGs 启动, 之后可以根据需要增加 PGs. 因为 metadata pool 存储着 CephFS 文件的元数据, 为了保证安全, 最好有较多的副本数. 为了能有较低的延迟, 可以考虑将 metadata 存储在 SSDs 上.
    ②创建一个 CephFS, 名字为 cephfs:

    ceph fs new cephfs cephfs-metadata cephfs-data
    

    ③验证至少有一个 MDS 已经进入 Active 状态

    ceph fs status cephfs
    

    ④在 Monitor 上, 创建一个用户,用于访问CephFs

     ceph auth get-or-create client.cephfs mon 'allow r' mds 'allow rw' osd 'allow rw pool=cephfs-data, allow rw pool=cephfs-metadata'
    

    ⑤验证key是否生效

    ceph auth get client.cephfs
    

    ⑥检查CephFs和mds状态

    ceph mds stat
    ceph fs ls
    ceph fs status
    

    (2)以 kernel client 形式挂载 CephFS
    ①创建挂载目录 cephfs

    mkdir /cephfs
    

    ②挂载目录

    mount -t ceph 10.151.30.125:6789,10.151.30.126:6789,10.151.30.127:6789:/ /cephfs/ -o name=cephfs,secret=AQDHjeddHlktJhAAxDClZh9mvBxRea5EI2xD9w==
    

    ③自动挂载

     echo "mon1:6789,mon2:6789,mon3:6789:/ /cephfs ceph name=cephfs,secretfile=/etc/ceph/cephfs.key,_netdev,noatime 0 0" | sudo tee -a /etc/fstab
    

    ④验证是否挂载成功

    stat -f /cephfs
    

    (3)以 FUSE client 形式挂载 CephFS
    ①安装ceph-common

    yum install -y ceph-common
    

    ②安装ceph-fuse

    yum install -y ceph-fuse
    

    ③将集群的ceph.conf拷贝到客户端

    scp root@10.151.30.125:/etc/ceph/ceph.conf /etc/ceph/
    chmod 644 /etc/ceph/ceph.conf
    

    ④使用 ceph-fuse 挂载 CephFS

    ceph-fuse --keyring  /etc/ceph/ceph.client.cephfs.keyring  --name client.cephfs -m 10.151.30.125:6789,10.151.30.126:6789,10.151.30.127:6789  /cephfs/
    

    ⑤验证 CephFS 已经成功挂载

    stat -f /cephfs
    

    ⑥自动挂载

    echo "none /cephfs fuse.ceph ceph.id=cephfs[,ceph.conf=/etc/ceph/ceph.conf],_netdev,defaults 0 0"| sudo tee -a /etc/fstab
    

    echo "id=cephfs,conf=/etc/ceph/ceph.conf /mnt/ceph2  fuse.ceph _netdev,defaults 0 0"| sudo tee -a /etc/fstab
    

    ⑦卸载

    fusermount -u /cephfs
    

    5.MDS主备与主主切换

    (1)配置主主模式

    当cephfs的性能出现在MDS上时,就应该配置多个活动的MDS。通常是多个客户机应用程序并行的执行大量元数据操作,并且它们分别有自己单独的工作目录。这种情况下很适合使用多主MDS模式。

    配置MDS多主模式 每个cephfs文件系统都有一个max_mds设置,可以理解为它将控制创建多少个主MDS。注意只有当实际的MDS个数大于或等于max_mds设置的值时,mdx_mds设置才会生效。例如,如果只有一个MDS守护进程在运行,并且max_mds被设置为两个,则不会创建第二个主MDS。

    ceph fs set max_mds 2
    

    (2)配置备用MDS
    即使有多个活动的MDS,如果其中一个MDS出现故障,仍然需要备用守护进程来接管。因此,对于高可用性系统,实际配置max_mds时,最好比系统中MDS的总数少一个。
    但如果你确信你的MDS不会出现故障,可以通过以下设置来通知ceph不需要备用MDS,否则会出现insufficient standby daemons available告警信息:

    ceph fs set <fs> standby_count_wanted 0 
    

    (3)还原单主MDS
    ①设置max_mds

     ceph fs set max_mds 1
    

    ② 删除不需要的rank

    ceph mds deactivate cephfs:2
    
    展开全文
  • CEPH客户端:大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备、Ceph文件系统、Ceph对象存储之中的一个或多个;块设备:要实践本手册,你必须先完成存储集群入门,并确保Ceph 存储集群...

    CEPH客户端:

    大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备、Ceph文件系统、Ceph对象存储之中的一个或多个;

    块设备:

    要实践本手册,你必须先完成存储集群入门 ,并确保 Ceph 存储集群处于 active + clean 状态,这样才能使用 Ceph 块设备。

    1、在ceph-client安装ceph,在管理节点上,通过ceph-deploy把Ceph安装到ceph-client节点:

    ceph-deploy  install ceph-client

    2、在管理节点上,用 ceph-deploy 把 Ceph 配置文件和 ceph.client.admin.keyring 拷贝到 ceph-client 。

    ceph-deploy  admin  ceph-client

    ceph-deploy 工具会把密钥环复制到 /etc/ceph 目录,要确保此密钥环文件可读(如 sudo chmod + r /etc/ceph/ceph.client.admin.keyring )。

    配置块设备:

    1、在ceph-client节点上创建一个块设备映像。

    rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

    2、在ceph-client节点上,把映像映射为块设备:

    rbd map foo --pool rbd --name client.admin [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

    3、在ceph-client节点上,创建文件系统后就可以使用了。

    mkfs.ext4 -m0 /dev/rbd/rbd/foo

    此命令可能耗时较长

    4、在ceph-client节点上挂载此文件系统。

    mkfir /mnt/ceph-block-device

    mount /dev/rbd/foo /mnt/ceph-block-device

    cd /mnt/ceph-block-device

    展开全文
  • Ceph当前的自动化部署有两个,分别是ceph-deploy和ceph-ansible,语言都是python,对应的github库地址为: ceph-deploy: https://github.com/ceph/ceph-deploy ceph-ansible: ...

    Ceph当前的自动化部署有两个,分别是ceph-deploy和ceph-ansible,语言都是python,对应的github库地址为:

    ceph-deploy: https://github.com/ceph/ceph-deploy

    ceph-ansible: https://github.com/ceph/ceph-ansible

    ceph-deploy在手动部署中用的比较多,要实现自动化部署,必须再写脚本执行;

    ceph-ansible基于ansible,可以实现根据配置文件的ceph自动化部署;

    我在之前写过一个基于ceph-deploy部署ceph的自动化脚本,用起来比较方便熟练;

    所以这里我写的自动化部署是基于自写脚本调用ceph-deploy的自动化部署;

    https://www.colabug.com/3049341.html

    展开全文
  • Ceph基础篇

    千人学习 2018-11-28 12:26:50
    本课程主要讲解了以下几个方面:首先讲解了 Ceph 存储和组件的介绍,让大家了解到有哪些功能以及使用的一些地方。随后讲解了 使用 ceph-deploy 怎么去部署一个多节点的Ceph 集群架构,最后又详细的介绍了Ceph的块...
  • ceph ansible部署ceph集群

    2020-06-21 23:02:12
    ceph ansible部署ceph集群 参考:https://docs.ceph.com/ceph-ansible/master/ 项目地址:https://github.com/ceph/ceph-ansible https://www.cnblogs.com/zyxnhr/p/10543814.html 节点规划: 主机名 public-ip ...
  • Ceph-ansible 部署Ceph

    2020-08-23 15:43:38
    简介:Ceph-ansible 部署Ceph 1、安装notario yum install -y python-pip pip install notario 这个包用yum装的版本是不符合要求的,需要使用pip进行安装 2、下载ceph-ansible的代码到本地 git clone https://github...
  • ceph 安装ceph问题汇总

    2019-10-05 02:17:01
    1、在不同节点安装ceph时,出现以下异常: 参考这里 ceph deploy RuntimeError: NoSectionError: No section: 'ceph' 解决方法: 在报错的机器上尝试: yum remove ceph-release rm /etc/yum.repos.d/ceph....
  • Learning Ceph

    热门讨论 2015-05-06 22:18:47
    If you are learning Ceph, this book is a good choice. It is about the deployment and administration of Ceph. If you have no idea of Ceph, Please hurry up.
  • Ceph实战 - Ceph FS

    2020-05-06 09:35:19
    Ceph FS 它可以像NFS或SAMBA那样,提供共享文件夹,客户端通过挂载目录的方式使用CEPH的存储。 ** 1、cephFS需要一台MDS元数据服务器node4 2、在node4上安装软件包 [root@node4 ~]# yum install -y ceph-mds 3、在...
  • Ceph入门到实战

    2020-08-15 16:11:00
    SDS(英文:Software Define Storage)软件定义存储作为新基建(云计算中基础设施建设)重要的一环,Ceph作为未来统一软件定义存储系统,提供了RBD块存储,RGW对象存储和CephFS文件存储接口的接入,本课程结合在企业...
  • ceph-ansible安装ceph

    千次阅读 2019-02-13 10:38:43
    1. 准备机器, 1台做ansible, 另外3台安装ceph http://docs.ceph.com/ceph-ansible/master/#demos 2. 在安装了ansible的机器上, vi /etc/hosts. 加三台机器的hostname 10.0.221.100 ceph1 10.0.221.101 ceph2 ...
  • cephfs

    2020-08-04 10:40:03
    一、启用cephfs Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据 启用mds服务 ceph-deploy mds create node01 创建数据pool ceph osd pool create cephfs_data 128 创建Metadata池 ceph osd pool ...
  • Ceph学习

    2020-08-30 10:01:42
    文章目录1、Ceph概述1.1、什么是分布式存储1.2、常见的分布式文件系统1.3、什么是Ceph1.3.1、Ceph简介1.3.2、Ceph特点1.3.3、Ceph组件2、实验环境准备3、部署Ceph集群3.1、安装部署软件ceph-deploy3.2、部署Ceph ...
  • ceph-cephfs基本概念

    2020-05-06 20:17:58
    这里写自定义目录标题CEPHFS ...3、由于云计算大潮的突起,比cephfs完的ceph rbd和ceph radosgw发展比较活跃,cephfs发展比较滞后,在redhat收购inktank后许多应用环境对cephfs需求量大的原因,目前cephfs越来越...
  • 使用ceph的文件存储CephFS

    万次阅读 2018-05-27 17:15:04
    Ceph FS是一个支持POSIX接口的文件系统,它使用 Ceph 存储集群来存储数据。文件系统对于客户端来说可以方便的挂载到本地使用。Ceph FS构建在RADOS之上,继承RADOS的容错性和扩展性,支持冗余副本和数据高可靠性。 ...
  • ceph-deploy部署ceph集群

    2020-06-19 14:55:15
    ceph-deploy安装集群 官方文档: https://ceph.readthedocs.io/en/latest/install/ceph-deploy/quick-start-preflight/ ceph版本列表: https://ceph.readthedocs.io/en/latest/releases/ 节点规划: 主机名 ...
  • 文章目录一、环境介绍二、实验步骤三、部署ceph集群四、集群扩容(将ceph03加入集群)五、OSD数据恢复六、ceph常用命令 一、环境介绍 centos 7.6 二、实验步骤 ceph01节点和ceph02节点构建ceph集群 扩容ceph集群,...
  • CEPH_DEPLOY_DIR=~/ceph-deploy PUBLIC_SUBNET=192.168.1 PRIVATE_SUBNET=192.168.99 CEPH_DEPLOY_NODE=ceph-deploy CEPH_NODE1=ceph-node1 CEPH_NODE2=ceph-node2 CEPH_NODE3=ceph-node3 EOF source ~/.bas.

空空如也

1 2 3 4 5 ... 20
收藏数 24,194
精华内容 9,677
关键字:

ceph