zoukankan      html  css  js  c++  java
  • ceph三节点

    https://blog.csdn.net/caiyqn/article/details/107069755

    一、环境准备

    1、节点规划:

    [root@node1 ~]# cat /etc/hosts
    ceph-admin 192.168.13.230 部署节点
    192.168.40.131 node1
    192.168.40.132 node2
    192.168.40.133 node3
    

    2、做ceph-admin可以登录node1、node2、node3的免密钥配置,同时确保服务器的selinux关闭,防火墙关闭,时间同步(简单,自行解决)

    3、配置yum源相关操作

    # yum  -y install epel-release
    # yum -y install  yum-utils
    # yum  -y install createrepo 
    

    添加ceph jewel 阿里云镜像仓库

    # vim /etc/yum.repos.d/ceph.repo
    
    [ceph]
    name=ceph
    baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
    gpgcheck=0
    [ceph-noarch] name=cephnoarch baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/ gpgcheck=0 [ceph-source] name=cephsource baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/ gpgcheck=0 [ceph-radosgw] name=cephradosgw baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/ gpgcheck=0
    #  yum clean all
    # yum repolist
    # yum list ceph --showduplicates | sort  -r
    # yum list all | grep ceph-deploy
    

    4、安装ceph-deploy

    #yum install -y ceph-deploy
    

    验证下ceph-deploy的版本号:

    [root@ceph-admin ~]# ceph-deploy --version
    1.5.39
    

    这里注意如果版本是1.5.25或者其他低版本,后续安装会出问题,如果版本不对,需要删了重装。

    4、创建工作目录:

    #mkdir -p ~/ceph-cluster && cd ~/ceph-cluster
    

    二、安装:
    1、在ceph-admin上进行操作:

    #ceph-deploy install node1 node2 node3 
    

    (这步是在3个node节点上安装ceph,即yum install ceph)

    注意:如果使用自己搭建的局域网yum源,安装ceph集群时间,不要在deploy节点执行

    # ceph-deploy install node01 node02 node03
    如果使用ceph-deploy install,会安装ceph-release这个包,在目标机器添加ceph的官方仓库,然后在内网环境,会因为找不到这个包或者仓库无法联网,导致安装失败!
    
    改之,在node01 node02 node03 节点手动执行  
    #  yum  -y install   ceph-10.2.11 ceph-mgr-10.2.11 ceph-mon-10.2.11 ceph-mds-10.2.11 ceph-osd-10.2.11 ceph-fuse-10.2.11 ceph-radosgw-10.2.11
    

    2、创建ceph集群:

    #ceph-deploy new node1 node2 node3
    

    会生成以下几个文件:

    [root@ceph-admin ~]# ls
    ceph.conf ceph-deploy-ceph.log ceph.mon.keyring
    #ceph.conf 为ceph配置文件
    #ceph-deploy-ceph.log为ceph-deploy日志文件
    #ceph.mon.keyring 为 ceph monitor 的密钥环
    

    3、追加额外配置:

    [root@ceph-admin ceph-cluster]# vim ceph.conf
    [global]
    fsid = 55cf543b-8b9a-49f6-9d79-adc17a270fa5
    mon_initial_members = node1, node2, node3
    mon_host = 192.168.13.231,192.168.13.232,192.168.13.233
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    filestore_xattr_use_omap = true
    rbd_default_features = 1 #部分操作系统kernel只支持layering,所以最好直接在配置文件指明创建rbd时默认支持的特性rbd_default_features = 1
    mon clock drift allowed = 2 #由于ceph分布式对时钟的同步要求很高,可以将同步误差范围调大;
    mon clock drift warn backoff = 30
    osd pool default size = 3 #增加默认副本数为3
    

    4、初始化 monitor 节点并收集所有密钥:

    #ceph-deploy mon create-initial
    

    #若出现/etc/ceph/ceph.conf 已存在的错误,则需要执行ceph-deploy --overwrite-conf mon create-initial

    执行完毕后,会在当前目录下生成一系列的密钥环(只有在安装 Hammer 或更高版时才会创建 bootstrap-rgw 密钥环):

    [root@ceph-admin ceph-cluster]# ll
    总用量 152
    -rw-------. 1 root root 113 5月 8 11:57 ceph.bootstrap-mds.keyring
    -rw-------. 1 root root 71 5月 8 11:57 ceph.bootstrap-mgr.keyring
    -rw-------. 1 root root 113 5月 8 11:57 ceph.bootstrap-osd.keyring
    -rw-------. 1 root root 113 5月 8 11:57 ceph.bootstrap-rgw.keyring
    -rw-------. 1 root root 129 5月 8 11:57 ceph.client.admin.keyring
    -rw-r--r--. 1 root root 655 5月 8 11:57 ceph.conf
    -rw-r--r--. 1 root root 124063 5月 8 13:52 ceph-deploy-ceph.log
    -rw-------. 1 root root 73 5月 8 11:48 ceph.mon.keyring
    

    5、查看集群状态,当前还没有osd,会显示错误状态

    [root@ceph-admin ceph-cluster]# ceph -s
    cluster 1b9ecee2-3515-4090-973b-5642d0d3feef
    health HEALTH_ERR
    no osds
    monmap e1: 3 mons at {node01=192.168.2.11:6789/0,node02=192.168.2.12:6789/0,node03=192.168.2.13:6789/0}
    election epoch 8, quorum 0,1,2 node01,node02,node03
    osdmap e1: 0 osds: 0 up, 0 in
    flags sortbitwise,require_jewel_osds
    pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
    0 kB used, 0 kB / 0 kB avail
    64 creating
    

    6、若安装出问题,可以清除配置,重新安装:
    #清理 Ceph 安装包:

    #ceph-deploy purge node1 node2 node3
    

    #清理配置:

    #ceph-deploy purgedata node1 node2 node3
    #ceph-deploy forgetkeys
    

    三、创建osd
    1、OSD 是最终数据存储的地方,本例3个节点都提供osd,用的是目录而非整块硬盘
    分别在ceph node1-3上执行:

    #mkdir -p /osd
    #chmod -R 777 /osd
    

    2、激活 activate OSD
    ceph-deploy 节点执行 prepare OSD 操作,目的是分别在各个 OSD 节点上创建一些后边激活 OSD 需要的信息。
    准备:

    #ceph-deploy --overwrite-conf osd prepare node1:/osd node2:/osd node3:/osd
    

    激活:

    #ceph-deploy osd activate node1:/osd node2:/osd node3:/osd
    

    3、同步秘钥
    通过 ceph-deploy admin 将配置文件和 admin 密钥同步到各个节点,以便在各个 Node 上使用 ceph 命令时,无需指定 monitor 地址和 ceph.client.admin.keyring 密钥。

    #ceph-deploy admin node1 node2 node3

    同时为了确保对 ceph.client.admin.keyring 有正确的操作权限,所以还需要增加权限设置,在所有节点执行:

    #chmod +r /etc/ceph/ceph.client.admin.keyring
    

    4、健康状况:
    在一个node上执行:

    [root@node1 ceph]# ceph -s
    cluster 55cf543b-8b9a-49f6-9d79-adc17a270fa5
    health HEALTH_WARN
    too many PGs per OSD (3136 > max 300)
    monmap e1: 3 mons at {node1=192.168.13.231:6789/0,node2=192.168.13.232:6789/0,node3=192.168.13.233:6789/0}
    election epoch 6, quorum 0,1,2 node1,node2,node3
    osdmap e25: 3 osds: 3 up, 3 in
    flags sortbitwise,require_jewel_osds
    pgmap v4399: 3136 pgs, 4 pools, 744 MB data, 102 objects
    22167 MB used, 30014 MB / 52182 MB avail
    

    安装完成。
    #ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'

    #ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images'

    #cat > secret.xml <<EOF
    <secret ephemeral='no' private='no'>
    <uuid>a337f83a-ef5e-4cd7-b498-dc28d93048bd</uuid>
    <usage type='ceph'>
    <name>client.cinder secret</name>
    </usage>
    </secret>
    EOF
    virsh secret-set-value --secret a337f83a-ef5e-4cd7-b498-dc28d93048bd --base64 $(cat ./client.cinder.key)

    参考:https://blog.csdn.net/michaelwoshi/article/details/94183198
               https://www.cnblogs.com/kevingrace/p/9141432.html
  • 相关阅读:
    我所知道的JS调试
    css加载会造成阻塞吗?
    移动端图片上传旋转、压缩的解决方案
    JS组件系列——自己动手扩展BootstrapTable的 冻结列 功能:彻底解决高度问题
    什么是BFC
    CSS中margin边界叠加问题及解决方案
    JavaScript 中回调地狱的今生前世
    用css实现自定义虚线边框
    仿淘宝,京东红包雨
    css3实现可以计算的自适应布局——calc()
  • 原文地址:https://www.cnblogs.com/zjz20/p/12426771.html
Copyright © 2011-2022 走看看