• ceph分布式集群的搭建


    一、前期准备

    1.1、主机规划

    IP 系统 主机名 描述
    192.168.80.37 CentOS7.6 ceph01 admin-node,mon-node1,osd1
    192.168.80.47 CentOS7.6 ceph02 mon-node2,osd2
    192.168.80.57 CentOS7.6 ceph03 osd3

    1.2、修改主机名

    按主机规划设备各主机的主机名,并在 /etc/hosts 文件中添加解析配置

    #修改主机名
    hostnamectl set-hostname ceph01
    exec bash
    
    #修改/etc/hosts,添加以下配置
    vim /etc/hosts
    192.168.80.37   ceph01
    192.168.80.47   ceph02
    192.168.80.57   ceph03
    

    1.3、关闭防火墙

    # 停止
    systemctl stop firewalld.service
    # 禁用
    systemctl disable firewalld.service
    

    1.4、关闭SELinux

    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
    

    1.5、配置yum源

    cd /etc/yum.repos.d/
    mkdir bak && mv *.repo bak/
    
    #下载aliyun的yum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    1.6、设置时间同步

    # 设置时区
    timedatectl set-timezone Asia/Shanghai
    
    # 同步时间
    yum install -y ntpdate
    ntpdate time1.aliyun.com
    

    1.7、创建免密钥登录

    #在ceph01节点上执行
    ssh-keygen
    ssh-copy-id root@ceph01
    ssh-copy-id root@ceph02
    ssh-copy-id root@ceph03
    

    二、ceph集群搭建

    2.1、配置ceph源

    vim /etc/yum.repos.d/ceph.repo
    [ceph]
    name=Ceph packages for
    [ceph]
    name=Ceph packages for
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1
    
    [ceph-noarch]
    name=Ceph noarch packages 
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1
    
    [ceph-source]
    name=Ceph source packages 
    baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
    priority=1
    

    2.2、安装ceph-deploy和ceph

    #在ceph01节点上执行
    yum install -y ceph-deploy ceph python-setuptools
    
    #在ceph02和ceph03节点上执行
    yum install -y ceph python-setuptools
    

    2.3、创建集群

    (1) 在管理节点admin-node(ceph01)上创建mon并初始化,收集秘钥

    #进行配置文件目录
    cd /etc/ceph
    
    #创建mon
    ceph-deploy new ceph01 ceph02
    #初始化mon
    ceph-deploy mon create-initial
    
    #查看集群状态
    ceph -s
    

    (2) 在管理节点admin-node(ceph01)上创建osd

    #创建osd
    ceph-deploy osd create --data /dev/sdb ceph01
    ceph-deploy osd create --data /dev/sdb ceph02
    ceph-deploy osd create --data /dev/sdb ceph03
    
    #查看集群状态
    ceph -s
    
    #查看osd状态
    ceph osd stat
    #查看osd目录树
    ceph osd tree
    

    (3) 在管理节点admin-node(ceph01)上,将配置文件和admin秘钥下发到节点,并给秘钥增加权限

    #在ceph01节点上执行
    ceph-deploy admin ceph01 ceph02 ceph03
    
    #在ceph01、ceph02、ceph03节点上执行(/etc/ceph目录下)
    chmod +r ceph.client.admin.keyring
    
    #查看集群状态
    ceph -s
    

    2.4、创建mgr网关

    #在ceph01节点上执行
    cd /etc/ceph
    ceph-deploy gatherkeys ceph01 ceph02 ceph03
    ceph-deploy mgr create ceph01 ceph02 ceph03
    
    #查看集群健康状态
    ceph health
    
    #安装octopus版本时还需要装以下模块
    pip3 install pecan werkzeug
    

    2.5、创建mds和pool

    #以下操作均在ceph01节点上执行
    #创建mds
    ceph-deploy mds create ceph01 ceph02 ceph03
    
    #创建存储池
    ceph osd pool create cephfs_data 120
    ceph osd pool create cephfs_metadata 120
    
    #创建文件系统
    ceph fs new cephfs cephfs_metadata cephfs_data
    
    #查看文件系统
    ceph fs ls
    
    #查看mds节点状态
    ceph mds stat
    
    #常用命令
    ceph osd pool get [存储池名称] size  	#查看存储池副本数
    ceph osd pool set [存储池名称] size 3  	#修改存储池副本数
    
    ceph osd lspools  #打印存储池列表
    
    ceph osd pool create [存储池名称] [pg_num的取值]  	#创建存储池
    ceph osd pool rename [旧的存储池名称] [新的存储池名称] #存储池重命名
    
    ceph osd pool get [存储池名称] pg_num  	#查看存储池的pg_num
    ceph osd pool get [存储池名称] pgp_num  	#查看存储池的pgp_num
    
    ceph osd pool set [存储池名称] pg_num [pg_num的取值]  	#修改存储池的pg_num值
    ceph osd pool set [存储池名称] pgp_num [pgp_num的取值]  #修改存储池的pgp_num值
    

    2.6、客户端挂载

    (1) 内核驱动挂载

    #安装依赖
    yum install -y ceph-common
    
    #创建挂载点
    mkdir /mnt/cephfs
    
    #获取存储密钥,管理节点执行
    ceph auth get-key client.admin
    #或从文件中获取
    cat /etc/ceph/ceph.client.admin.keyring
    
    #直接挂载
    mount -t ceph 192.168.80.37:6789:/ /mnt/cephfs -o name=admin,secret=AQBkMoJge6sUAxAAg2s7u+s4p3wDDQNNx0TP9Q==
    #建议将密钥保存到文件中然后再挂载
    echo 'AQBkMoJge6sUAxAAg2s7u+s4p3wDDQNNx0TP9Q==' > /etc/ceph/admin.secret
    mount -t ceph 192.168.80.37:6789:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret
    
    #卸载
    umount /mnt/cephfs/
    

    (2) 用户控件挂载

    #安装依赖
    yum install -y ceph-fuse
    
    #挂载
    ceph-fuse -m 192.168.80.37:6789 /mnt/cephfs
    
    #卸载
    fusermount -u /mnt/cephfs
    

    2.7、扩容操作

    假如有一个新的ceph04节点(提前安装好相关包,类似于ceph02节点)要加入集群,并且需要扩容mon和osd

    (1) 扩容mon

    #在ceph01节点上执行,修改ceph.conf文件
    cd /etc/ceph
    vim ceph.conf
    [global]
    fsid = 4ed770bf-5768-4ba5-b04f-f96a63bb98c9
    mon_initial_members = ceph01, ceph02, ceph04			#添加ceph04
    mon_host = 192.168.80.37,192.168.80.47,192.168.80.67 	#添加ceph04的IP地址'	
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    public network = 192.168.80.0/24	#添加内部通信网段
    
    #重新下发配置文件
    ceph-deploy --overwrite-conf config push ceph01 ceph02 ceph03
    
    #添加mon
    ceph-deploy mon add ceph04
    
    #查看集群状态
    ceph -s
    

    (2) 扩容osd

    ceph-deploy osd create --data /dev/sdb ceph04
    
  • 相关阅读:
    解决DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE(或META-INF/DEPENDENCIES)
    为已经存在的本地项目添加git,以及从远程仓库拉取代码并切换远程分支
    android将应用中图片保存到系统相册并显示
    android选取系统相册图片后,识别图中二维码
    android 判断左右滑动,上下滑动的GestureDetector简单手势检测
    推荐个emacs的org-mode手册的地址
    JVM监控与调优
    Java 内存区域和GC机制
    贴个流媒体大牛的博客
    苹果cms测试
  • 原文地址:https://www.cnblogs.com/hovin/p/14746012.html
Copyright © 2020-2023  润新知