美文网首页ceph
ceph手动部署

ceph手动部署

作者: Joncc | 来源:发表于2018-09-19 15:35 被阅读18次

    一. 配置文件

    1. 第一步需要生成一个uuid,命令uuidgen
    uuidgen 
    4299abf0-4901-497a-9bb5-59325a1e757f
    
    1. 配置config文件
    cat /etc/ceph/ceph.conf 
    
    
    fsid = 4299abf0-4901-497a-9bb5-59325a1e757f
    mon_initial_members = node1
    mon_host = 192.168.157.132
    public_network = 192.168.157.1/24
    
    auth cluster required = cephx
    auth service required = cephx
    auth client required = cephx
    osd journal size = 1024
    filestore xattr use omap = true
    osd pool default size = 2
    osd pool default min size = 1
    osd pool default pg num = 333
    osd pool default pgp num = 333
    osd crush chooseleaf type = 1
    

    二. 创建一个mon监视器

    为此集群创建密钥环、并生成监视器密钥

    ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
    

    生成管理员密钥环,生成 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 /etc/ceph/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
    

    生成Monitor map
    用规划好的主机名、对应 IP 地址、和 FSID 生成一个监视器图,并保存为
    /etc/ceph/monmap

    monmaptool --create --add node1 192.168.157.132 --fsid 4299abf0-4901-497a-9bb5-59325a1e757f  /etc/ceph/monmap
    

    在监视器主机上分别创建数据目录。

    mkdir -p /var/lib/ceph/mon/ceph-node1
    

    初始化Monitor的文件系统

    ceph-mon --mkfs -i node1 --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring
    

    检查Ceph 配置文件

    建一个空文件 done ,表示监视器已创建、可以启动了

    touch /var/lib/ceph/mon/ceph-node1/done
    

    启动Monitor:

    ceph-mon --id node1
    

    三. 添加 OSD

    ssh node1
    sudo ceph-disk prepare --cluster ceph --cluster-uuid a7f64266-0894-4f1e-a635-d0aeaca0e993 --fs-type ext4 /dev/hdd1
    

    三. 添加 OSD

    uuidgen
    4c0a02e2-e577-4778-b775-8b636926bb2d
    

    创建OSD

    ceph osd create 4c0a02e2-e577-4778-b775-8b636926bb2d
    

    创建OSD目录

    mkdir -p /var/lib/ceph/osd/ceph-0
    

    改权限

    chown ceph.ceph /var/lib/ceph/osd/ceph-1
    

    格式化OSD磁盘

    mkfs -t xfs /dev/vdb
    

    挂载OSD磁盘

    mount /dev/vdb /var/lib/ceph/osd/ceph-0/
    

    初始化OSD

    ceph-osd -i 0 --mkfs --mkkey --osd-uuid 4c0a02e2-e577-4778-b775-8b636926bb2d
    

    注册OSD keyring

    ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring
    
    ceph-osd -i 0 --mkfs --mkkey
    
    ceph auth add osd.1 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-1/keyring
    

    把此节点加入 CRUSH 图。

    ceph osd crush add-bucket node1 host
    

    把此 Ceph 节点放入 default 根下。

    ceph osd crush move node1 root=default
    

    把此 OSD 加入 CRUSH 图之后,它就能接收数据了。你也可以反编译 CRUSH 图、把此 OSD 加入设备列表、对应主机作为桶加入(如果它还不在 CRUSH 图里)、然后此设备作为主机的一个条目、分配权重、重新编译、注入集群

    ceph osd crush add osd.0 1.0 host=node1
    

    要让守护进程开机自启,必须创建一个空文件

    sudo touch /var/lib/ceph/osd/ceph-0/sysvinit
    

    启动osd

    ceph-osd --id 0
    

    相关文章

      网友评论

        本文标题:ceph手动部署

        本文链接:https://www.haomeiwen.com/subject/wxuinftx.html