zoukankan      html  css  js  c++  java
  • ceph实践: 搭建环境

    作者:吴香伟 发表于 2014/09/26
    版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明

    本节主要参考官网的ADDING/REMOVING OSDS章节。

    同步节点的时间

    安装ntp:apt-get install ntp
    NTP服务器:/etc/init.d/ntp start
    NTP客户端:ntpdate -d snode01

    安装MON

    ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
    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'
    ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
    
    monmaptool --create --add snode01 192.168.7.101 --fsid 7f8f00ac-c059-46a6-b656-4a1ce781607b /tmp/monmap
    mkdir /var/lib/ceph/mon/ceph-snode01
    ceph-mon --mkfs -i snode01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
    

    准备配置文件ceph.conf,并scp到集群的所有节点。

    root@snode01:~# cat /etc/ceph/ceph.conf 
    [global]
    fsid = 7f8f00ac-c059-46a6-b656-4a1ce781607b
    mon initial members = snode01
    mon host = 192.168.7.101
    public network = 192.168.0.0/16
    auth cluster required = none
    auth service required = none
    auth client required = none
    osd journal size = 1024
    filestore xattr use omap = ture
    osd pool default size = 2
    osd pool default pg num = 333
    osd pool default pgp num = 333
    osd crush chooseleaf type = 1
    

    运行mon

    start ceph-mon id=snode01
    

    安装OSD

    使用UUID创建OSD

    root@snode01:~# uuidgen
    b9b0cbf7-0313-4481-81e4-fd63b97af36c
    root@snode01:~# ceph osd create b9b0cbf7-0313-4481-81e4-fd63b97af36c
    0
    

    创建OSD目录,并把磁盘挂载到该目录。注意,如果OSD编号为0,则OSD的目录为ceph-0;如果编号为1,则目录为ceph-1,以此类推。

    root@snode02:~# mkdir /var/lib/ceph/osd/ceph-0
    root@snode02:~# mkfs.ext4 /dev/sda5
    root@snode02:~# mount /dev/sda5 /var/lib/ceph/osd/ceph-0/
    root@snode02:~# mount | egrep sda5
    /dev/sda5 on /var/lib/ceph/osd/ceph-0 type ext4 (rw)
    

    初始化OSD的数据目录

    root@snode02:~# ceph-osd -i 0 --mkfs --mkkey --osd-uuid b9b0cbf7-0313-4481-81e4-fd63b97af36
    

    注册OSD的key权限

    root@snode02:~#  ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring
    added key for osd.0
    

    添加OSD节点到CRUSH MAP中

    root@snode01:~# ceph osd crush add-bucket snode02 host
    added bucket snode02 type host to crush map
    
    root@snode01:~# ceph osd crush move snode02 root=default
    moved item id -2 name 'snode02' to location {root=default} in crush map
    
    root@snode01:~# ceph osd crush add osd.0 1.0 host=snode02
    add item id 0 name 'osd.0' weight 1 at location {host=snode02} to crush map
    

    启动OSD

    root@snode02:~# start ceph-osd id=0
    ceph-osd (ceph/0) start/running, process 4542
    

    移除OSD节点

    OSD节点存在两个维度的状态,第一个维度代表OSD是否正常运行,它包含up和down两种状态;第二个维度代表OSD是否在集群内部,它也有两个状态,分别是in和out。移除OSD节点时,先将OSD移出集群,这样集群就会开始数据迁移。

    root@snode02:~# ceph osd out 0
    osd.0 is already out. 
    

    停止OSD节点,让它变成down状态

    root@snode02:~# /etc/init.d/ceph stop osd.0
    

    从CRUSH MAP中删除OSD节点,可以通过ceph osd crush dump命令查看CRUSH MAP的变动。

    root@snode02:~# ceph osd crush remove osd.0
    removed item id 0 name 'osd.0' from crush map
    
    root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd crush remove snode02
    removed item id -2 name 'snode02' from crush map
    

    删除OSD的Key权限

    ceph auth del osd.0
    

    移除OSD

    root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd rm 0
    removed osd.0
    

    查看OSD是否已经移除

    root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd tree
    # id    weight  type name       up/down reweight
    -1      1       root default
    -3      1               host snode03
    1       1                       osd.1   up      1
    
    root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd ls
    root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd dump
    

    最后删除/var/lib/ceph/osd/ceph-{osd-num}目录,格式化挂载的磁盘。


    -----------------------------------------------
    独学而无友,则孤陋而寡闻
    -----------------------------------------------
  • 相关阅读:
    百度云管家开机启动如何取消
    双语小说阅读:《谁动了我的奶酪》
    [Swift]方法
    Swift中的类型属性(静态变量)
    Swift 学习之二十一:?和 !(详解)
    苹果Swift可为Windows/Android开发软件了
    iOS7下滑动返回与ScrollView共存二三事
    swift c++ oc 混编
    RTOS
    STM32 RTC
  • 原文地址:https://www.cnblogs.com/shanno/p/3995658.html
Copyright © 2011-2022 走看看