zoukankan      html  css  js  c++  java
  • ceph 安装记录

    ceph 安装 http://docs.ceph.com/docs/master/start/quick-ceph-deploy/

    1. 系统要求 centos 7

    systemctl disable firewalld
    systemctl stop firewalld
    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    

    将如下内容写入到 /etc/yum.repos.d/ceph.repo

    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://download.ceph.com/rpm/el7/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://download.ceph.com/keys/release.asc
    

    然后执行 yum update && yum install ceph-deploy

    2. 相关依赖

    yum install ntp ntpdate
    

    3. 环境相关

    3.1 需要在 每一个节点 为 ceph 创建用户, 并设置 sudo 权限, 虽然可以拥有不同的用户名,但是这里为了省事都叫 uceph

    useradd -d /home/uceph -m uceph
    passwd uceph
    echo "uceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/uceph
    chmod 0440 /etc/sudoers.d/uceph
    

    3.2 切到 uceph 用户,让 admin-node 能无密钥 ssh 到各节点

    ssh-keygen
    ssh-copy-id uceph@{node1}
    

    4. 安装 EPEL

    sudo yum install yum-plugin-priorities
    

    5. 至此,admin-node 以及各 node 都准备好了,下面可以通过 admin-node 把 ceph 安装到各 node 中了。

    安装到各节点

    6. 首先创建集群, 传入 monitor 的节点

    mkdir ceph-cluster
    cd ceph-cluster
    ceph-deploy new node1[, node2...]
    

    这样 ceph-cluster 目录下就有了一些配置文件:

    ceph.conf
    ceph.mon.keyring
    *.log
    

    修改 ceph.conf 配置里面的 public network 10.0.5.0/mask

    7. 执行安装

    ceph-deploy install node1 node2 node3
    

    如果安装失败就 yum remove epel-release 然后再重新弄

    8. 初始化监控

    ceph-deploy mon create-initial
    # 失败了就多来几次
    

    得到一些 keyring 文件

    • ceph.client.admin.keyring
    • ceph.bootstrap-mgr.keyring
    • ceph.bootstrap-osd.keyring
    • ceph.bootstrap-mds.keyring
    • ceph.bootstrap-rgw.keyring
    • ceph.bootstrap-rbd.keyring

    9. 把 admin key 等分发到各 node 这样以后直接执行命令不需要授权啥的了,有相关工具

    ceph-deploy admin node1 node2 node3
    

    10. 创建一个 managere daemon (luminous 版本之后的才需要)

    ceph-deploy mgr create node1
    

    11. 添加 osd

    # parted -s /dev/sdb mklabel gpt 超大硬盘需要先改成 gpt
    ceph-deploy osd create node1:sdb node2:sdb
    ## 以后想再添加硬盘时也是通过这个命令
    

    12. 验证

    [uceph@node1 ceph-cluster]$ sudo ceph health
    HEALTH_WARN 64 pgs degraded; 64 pgs undersized
    
    [uceph@node1 ceph-cluster]$ sudo ceph -s
        cluster f8bb8f53-2331-48a7-9529-63389650e247
         health HEALTH_WARN
                64 pgs degraded
                64 pgs undersized
         monmap e1: 1 mons at {node1=10.100.86.51:6789/0}
                election epoch 3, quorum 0 node1
         osdmap e9: 2 osds: 2 up, 2 in
                flags sortbitwise,require_jewel_osds
          pgmap v18: 64 pgs, 1 pools, 0 bytes data, 0 objects
                68392 kB used, 10151 MB / 10217 MB avail
                      64 active+undersized+degraded
    

    下面是测试验证环节

    13. 创建一个 pool

    rbd create foo --size 4 --image-format 2 --image-feature layering
    

    rbd 创建文件异常可参考 http://blog.51cto.com/michaelkang/1786309

    14. 挂载和格式化

    rbd map foo
    sudo mkfs.ext4 -m0 /dev/rbd0
    mkdir ~/foo
    mount /dev/rbd0 ~/foo
    

    15. The End

  • 相关阅读:
    2012工作计划!
    造船篇系统实施(新老衔接工作)
    Android学习摘要一之Android历史
    DEVReport控件使用方法
    造船篇 前传
    软件实施(1)
    茫然疑问未来
    造船篇钢材管理
    wcf身份验证问题
    IDL中关于波段计算的问题
  • 原文地址:https://www.cnblogs.com/kischn/p/7977987.html
Copyright © 2011-2022 走看看