您的位置:68399皇家赌场 > 域名注册 > Ceph编写翻译安装教程

Ceph编写翻译安装教程

发布时间:2019-05-06 23:05编辑:域名注册浏览(199)

    三.布局搭建Ceph的条件,启用Mon节点

    编写翻译成功后,也并非喜欢得过早了,接下去大家按上面配置架构图来创设Ceph集群。
    68399皇家赌场 1

    那有的相应是最令人胸闷的局地了。编写翻译安装Ceph和一向通过包管理器安装Ceph的可迥然分歧。如/etc/ceph/的安插目录就融洽新建,暗许的/var/log/ceph路线也亟需通过mkdir新建,不然Ceph会直接废弃日志文件。

    • 编辑/etc/ceph/ceph.conf

      • (1) 为集群分配唯一的集群id

         uuidgen   //生成uuid
        
      • (2) 编辑fsid

         fsid = {UUID}   //填写生成的uuid
        
        • 例如:

          fsid = 236e7afe-7c61-41a0-b577-89df547fcef5
          
      • (三) 把开始监视器写入 Ceph 配置文件

        mon initial members = {hostname}[,{hostname}]
        
        • 例如:

          mon initial members = slave1
          
      • (四) 把起始监视器的 IP 地址写入 Ceph 配置文件、并保存。

        mon host = {ip-address}[,{ip-address}]
        
        • 例如:

           mon host = 192.168.1.4
          
      • (5) 为此集群创建密钥环、并扭转监视器密钥。

        ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
        
      • (6) 生成管理员密钥环,生成 client.admin 用户并进入密钥环。

        ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow'
        
      • (柒) 把 client.admin 密钥参预 ceph.mon.keyring 。

        ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
        
      • (八) 用规划好的主机名、对应 IP 地址、和 FSID 生成二个监视器图,并保留为 /tmp/monmap 。

        monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap
        
        • 例如:

          monmaptool --create --add slave1 192.168.1.4 --fsid  236e7afe-7c61-41a0-b577-89df547fcef5 /tmp/monmap
          
      • (玖) 在监视器主机上分别创立数量目录。

        sudo mkdir /var/lib/ceph/mon/{cluster-name}-{hostname}
        
        • 例如:

          sudo mkdir /var/lib/ceph/mon/ceph-slave1
          
      • (十) 用监视器图和密钥环组装守护进度所需的始发数据。

         ceph-mon [--cluster {cluster-name}] --mkfs -i {hostname} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
        
        • 例如:

          ceph-mon --mkfs -i slave1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
          
      • (1壹) 仔细研商 Ceph 配置文件,公共的大局配置包含那几个:

        [global]
        fsid = {cluster-id}
        mon initial members = {hostname}[, {hostname}]
        mon host = {ip-address}[, {ip-address}]
        auth cluster required = none   //这里为了方便搭建测试环境,关闭了ceph的安全认证,建议在实际运行环境之中开启。
        auth service required = none
        auth client required = none
        
      • (1二) 建二个空文件 done ,表示监视器已创造、能够运行了:

        sudo touch /var/lib/ceph/mon/ceph-slave1/done
        
        • 运转监视器。

          在 Ubuntu 上用 Upstart :

          sudo ceph-mon --id=slave1 [cluster={cluster-name}]
          

          要使此守护进度开机自启,要求成立五个空文件,像那样:

          sudo touch /var/lib/ceph/mon/{cluster-name}-{hostname}/upstart
          

          例如:

          sudo touch /var/lib/ceph/mon/ceph-slave1/upstart
          

          在 Debian/CentOS/RHEL 上用 sysvinit :

          sudo /etc/init.d/ceph start mon.slave1
          
      • (一3) 验证下 Ceph 已经创办了暗中同意存款和储蓄池。

        ceph osd lspools
        

        能够看到这么的出口:

        1 rbd     // Ceph会默认搭建一个rbd的存储池
        

        承认下集群在运营。

        ceph -s
        

        你应该从输出里看看刚刚运维的监视器在常规运维,并且应该会看到3个常规错误:它表明归置组卡在了 stuck inactive 状态。输出大致这么:

        cluster a7f64266-0894-4f1e-a635-d0aeaca0e993
        health HEALTH_ERR 64 pgs stuck inactive; 64 pgs stuck unclean; no osds
        monmap e1: 1 mons at {slave1=192.168.1.4:6789/0}, election epoch 1, quorum 0 slave1
        osdmap e1: 0 osds: 0 up, 0 in
        pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
             0 kB used, 0 kB / 0 kB avail
             64 creating
        

        时下集群处于ERR气象,由于osd尚未运营,pgs没有分配。接下来大家要起来起步osd,将pgs分配到osd之上,能够让集群复健。

    1.Ceph简介

    68399皇家赌场,Ceph 的初创来自Sage Weil 大学生的 PhD 故事集,诗歌 “Ceph: A Scalable, High-Performance Distributed File System”详细的阐释了 Ceph 的统一策动架构。
    简单,Ceph 作为1个布满式存款和储蓄系统规划的目的一定为:

    • 可轻易增添到数PB等级的体积(Ceph近来的本子能够轻易援救EB级其余仓库储存体量)
    • 可见自动适应多样干活负荷的高品质(每秒输入/输出操作[IOPS]和带宽)
    • 高可信性
    • 提供了对象,块,文件系统一整套仓库储存消除方案,大大下落运转的资金财产

    我感觉Ceph作为3个优异的布满式存款和储蓄系统,未来布满式存款和储蓄系统提供了陈设基础。自Linux内核二.陆.3四版早先,Ceph.ko已经济合作并到Linux内核之中,作为遍布式文件系统的备选项之1。同时Ceph也是OpenStack中能够的开源存款和储蓄消除方案,扶助通过Ceph作为块存款和储蓄或对象存款和储蓄举办读写访问。

    Ceph官方版本最近支撑的纠删码很轻巧,实验室那块希望可以结合大家自己作主开荒的纠删码BCR-VS(Binary Reed–Solomon encoding),所以需求编写翻译Ceph情况。Ceph官方如今推荐的安装方式都以由此Ceph-deploy的工具来安装配置,搭建起来尤其简约。如今一向通过Ceph源码进行编写翻译安装的国语教程有太多坑了。作者切身通过编写翻译Ceph搭建处境之后,对这几个流程张开了三个完好无缺的总括,后续的童鞋可以做贰个粗略的参阅。

    4.编辑CrushMap,启用osd节点

    你的开始监视器能够正常运营后就足以增加 osd 了。要想让集群到达 active clean 状态,必须安装丰硕多的 osd 来拍卖pgs,在产生Mon运营之后,集群就有了暗中同意的 CrushMap,但前天此图依然空的,里面没有别的 osd 映射到 Ceph 节点,所以大家要先运行osd节点,之后编辑CrushMap,并将其导入Mon节点。

    • (1) 准备OSD。

      ssh {node-name}
      sudo ceph-disk prepare --cluster {cluster-name} --cluster-uuid {uuid} --fs-type {ext4|xfs|btrfs} {data-path} [{journal-path}]
      
      • 例如:

        ssh slave1
        sudo ceph-disk prepare --cluster ceph --cluster-uuid  236e7afe-7c61-41a0-b577-89df547fcef5 --fs-type xfs /dev/sbb1
        
    • (2) 激活 osd,并启动osd设备:

      sudo ceph-disk activate {data-path} [--activate-key {path}]
      sudo start osd.{id}    
      
      • 例如:

        sudo ceph-disk activate /dev/sdb1
        

        接下去依次运行图中的三个osd节点,此番osd节点固然起步了,不过并从未插足到CrushMap之中进行映射,接下去大家须求导出Mon上的CrushMap,并拓展编写制定,之后导回到Mon中。

    • (三) 从Mon节点获取 CrushMap的二进制文件:

      ceph osd getcrushmap -o crushmapbinary 
      
    • (四) 通过CrushMap的二进制文件反编写翻译它,成为文本文件:

      cephtool -d crushmapbinary -o crushmap.txt
      
    • (5) 接下来编辑crushmap.txt,主要增添osd device与osd的权重进行布署:
      在 CrushMap里声飞鹤个装置,在装置列表前面新建一行,输入 device 、之后是唯一的数字 ID 、之后是对应的 ceph-osd 守护进度例程名字。

      device {num}  {osd.name}
      
      • 例如:
        加多好大家事先activate的osd设备

         device  0 osd.0
         device  1 osd.1
         device  2 osd.2
        

      接下去我们要给那个osd设备分配权重
      CrushMap首要有 四 个首重要项目目。
      设备 由大四对象存款和储蓄设备组成,即对应三个 ceph-osd 进度的存款和储蓄器。
      桶类型: 定义了 CRUSH 分级结构里要用的桶类型( types ),桶由逐级汇集的蕴藏地方(如行、机柜、机箱、主机等等)及其权重组成。
      桶例程: 定义了桶类型后,还非得评释主机的桶类型、以及设计的别的故障域。
      规则: 由精选桶的主意结合。
      日前大家只要大约有个概念,接下去大家只须求轻松的将大家的装置加上到CrushMap之中:

      root default {
        id -1           # do not change unnecessarily
        # weight 3.240
        alg straw
        hash 0  # rjenkins1
        item slave1 weight 1.00
        item slave2 weight 1.00
        item slave3 weight 1.00
       }
      
       host slave1 {
        id -4
        alg straw
        hash 0
        item osd.0 weight 1.00
      }
      
      host slave2 {
        id -2
        alg straw
        hash 0
        item osd.1 weight 1.00
      }
      
      host slave3 {
        id -3
        alg straw
        hash 0
        item osd.2 weight 1.00
      }
      
    • (6) 重新编写翻译这些新的CRUSH map

      crushtool -c crushmap.txt -o crushmap-compiled
      
    • (7) 将新的CRUSH map 应用到ceph 集群中

      ceph osd setcrushmap -i crushmap-compiled
      
    • (八)再一次确认Ceph集群的运维情形。

       ceph -s
      
       cluster a7f64266-0894-4f1e-a635-d0aeaca0e993
       health HEALTH_OK  64 pgs stuck active and clean; 3 osds
       monmap e1: 1 mons at {node1=192.168.0.1:6789/0}, election epoch 1, quorum 0 node1
       osdmap e1: 3 osds: 3 up, 3 in
       pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
            3465 kB used, 923421 kB / 919956 kB avail
            64 active and clean
      

      作者们得以肯定,Ceph集群已经过来健康,大家曾经打响编写翻译安装了Ceph。

    2.编译Ceph的源码

    Ceph的源码能够去Github之上clone下来,或者去Ceph官网下载。这里根本提一下Ceph的版本难点,Ceph在Hammer本子之后,选拔了新的本子命名规则:

    • x.0.z - 开发版
    • x.1.z - 候选版
    • x.2.z - 稳定、修正版

    时下对Ceph实行三次开垦的版本基本上是依附牢固TLS版本来做,实验室选取了多少个本子实行了付出。拾.二.6版本与1二.二.一版本,本文基于10.2.6的版本实行编写制定。(12.二.壹本子不在使用autotools作为编译工具,同时增添了Mgr等新的机件,配置文件的编写格局也略有区别。)

    鉴于实验室拟态系统的供给与设定,这里我选拔了混用61位的Ubuntu 1四.04与陆10人的Centos进行编译安装,二者流程如出壹辙,不相同之处小编会着重标识。通过cd 进入Ceph的源码目录,依次实行如下命令

     1.  ./install-deps.sh     //安装对应的Ceph依赖包
     2   ./autogen.sh          //调用autotools脚本,生成configure和makefile文件
     3.  ./configure           //这步是很麻烦的一步,由于第一步并不会完全安装好所有依赖,需要读者见招拆招,按照终端提示安装依赖。
        (注:Centos系列不会存在类似问题,嫌麻烦的可以直接用Centos进行编译安装)   
     4.  make                  //进入漫长的等待,多核可以添加-j{cpu核数} 如make -j4
     5.  make install          //安装Ceph  
    

    PS:编写翻译Ceph时索要超大的内部存款和储蓄器与硬盘空间,所以提出待安装节点的内部存储器和硬盘空间要丰硕大,不然会油然则生:

    virtual memory exhausted: Cannot allocate memoryfull disk等问题。

    本文由68399皇家赌场发布于域名注册,转载请注明出处:Ceph编写翻译安装教程

    关键词: 68399皇家赌场

上一篇:使用Xshell密钥认证机制远程登入Linux

下一篇:没有了