zoukankan      html  css  js  c++  java
  • ceph部署步骤

    环境说明:

    ip 服务 主机名 备注
    172.20.101.5 ceph、ceph-deploymon admin-node mon节点 集群节点
    172.20.101.13 ceph ceph1 osd
    172.20.101.15 ceph ceph2 osd

    环境准备:

    1关闭selinuxiptables

     systemctl stop firewalld
    
     systemctl disable firewalld
    
     setenforce 0
    
     sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
    
     setenforce 0

    2设置时间同步

    yum -y install ntp
    
    systemctl enable ntpd
    
    systemctl start ntpd
    
    ntpdate -u cn.pool.ntp.org
    
    hwclock --systohc
    
    timedatectl set-timezone Asia/Shanghai

    3修改主机名和host

    hostnamectl set-hostname  admin-node
    
    hostnamectl set-hostname  ceph1
    
    hostnamectl set-hostname  ceph2
    vim /etc/hosts
    
    172.20.101.5    admin-node
    
    172.20.101.13   ceph1
    
    172.20.101.15   ceph2

    4设置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

    ceph yum

    cat > /etc/yum.repos.d/ceph.repo <<EOF
    
    [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
    
    EOF
    
    yum clean all && yum makecache     #缓存yum源

    5.配置master节点免密钥登陆节点

    yum install openssh-server -y      #安装ssh服务器
    
    ssh-keygen
    
    ssh-copy-id root@admin-node
    
    ssh-copy-id root@ceph1
    
    ssh-copy-id root@ceph2

    ceph安装

    Ps:如果在某些地方卡住,想从头再来,可以用命令清楚配置

    Ceph-deploy purgedata  [ceph-node]  [ceph-node]
    
    Ceph-deploy forgetkeys
    
    也可以把安装包去掉
    
    Ceph-deploy purge [ceph-node]  [ceph-node]
    
    用作k8s 需要安装ceph-common
    yum -y install ceph-deploy   #集群节点和mon节点安装

    创建集群目录:

    mkdir /etc/ceph && cd /etc/ceph
    
    ceph-deploy new admin-node

     #创建mon节点(有多个在后面增加,但需要安装ceph-deploy包,如:ceph-deploy new admin-node ceph1 ceph2

    ceph-deploy install  admin-node  ceph01  ceph02 --repo-url=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/   

     #安装ceph服务,并指定阿里源,如果yum安装ceph则不需要操作

    此时会生成ceph配置文件

    vim ceph.conf
    
    [global]
    
    fsid = fb58eb0d-ccfe-43ff-a24a-a46b418ebd4c
    
    mon_initial_members = admin-node
    
    mon_host = 172.20.101.5
    
    auth_cluster_required = cephx
    
    auth_service_required = cephx
    
    auth_client_required = cephx
    
    osd pool default size = 2     #设置默认副本数为2  默认为3
    
    
    rbd_default_features = 1      #永久改变默认值
    
    osd journal size = 2000        #日志大小设置
    
    public network = 10.0.0.0/16  #如果有多个网卡则需进行网络配置
    
    
    #如果是ext4的文件格式需要执行下面两个配置 (df -T -h|grep -v var查看格式)
    
    osd max object name len = 256
    
    osd max object namespace len = 64

    集群节点初始化mon节点和密钥信息

    ceph-deploy  mon  create-initial

    创建osd节点对应用于存储的磁盘及挂载目录(osd节点操作)

    mkdir -p /ceph && chown -R ceph.ceph /ceph/
    
    fdisk   /dev/sdb            #对新建磁盘进行分区

    依次输入n  ->   p  ->   1  ->  enter  ->  enter  ->  wq

    fdisk -l                 #查看分区的磁盘
    
    mkfs.xfs /dev/sdb1       #格式化分区
    
    mkdir /ceph              #创建挂载目录
    vim
    /etc/fstab /dev/sdb1 /ceph xfs defaults 0 0

    mount -a #挂载 df -h #查看创建情况 chown -R ceph.ceph /ceph/ #设置属主和属组

    在集群节点操作:

    ceph-deploy osd prepare admin-node:/ceph ceph1:/ceph ceph2:/ceph           #准备创建osd
    
    ceph-deploy osd activate admin-node:/ceph ceph1:/ceph ceph2:/ceph          #激活osd
    
     
    
    ceph-deploy admin admin-node ceph01 ceph02  #admin密钥拷贝到管理节点和ceph节点,之后ceph命令就无需指定monitor地址和ceph.client.admin.keyring
    
    chmod +r /etc/ceph/ceph.client.admin.keyring   #设置权限
    
    ceph-deploy mon create admin-node         #创建mon节点,多个需要安装ceph-deploy
    
     
    
    ceph health #查看集群健康状况
    
    ceph -s   #查看集群状况
    
    Ceph df   #查看集群磁盘
    
    Ceph osd tree  #查看欧舒丹的节点状态
    
    Ceph-deploy  osd list admin-node  ceph1 ceph2  #查看osd状态和数据存放位置
    
    Ceph quorum_status --format json-pretty  #查看集群mon选举状态

    添加osd

    在新加节点上挂载目录/ceph,并创建磁盘分区格式化挂载

    ceph-deploy osd prepare node3:/ceph   #准备创建新家的osd
    
    ceph-deploy osd activate node3:/ceph  #激活osd
    
    ceph -w    # 一旦你新加了 OSD , Ceph 集群就开始重均衡,把归置组迁移到新 OSD ,此命令查看迁移过程

    添加元数据服务器

    使用cephfs必须要一个元数据服务器

    ceph-deploy mds create admin-node   #创建元数据服务器

    添加rgw

    要使用ceph对象网关组件,必须部署rgw

    ceph-deploy rgw create admin-node
    
    RGW 例程默认会监听 7480 端口,可以更改该节点 ceph.conf 内与 RGW 相关的配置
    
    vim ceph.conf
    
    [client]
    
    rgw frontends = civetweb port=80   #修改端口

    添加monitor

    ceph-deploy mon add ceph1 ceph2
    
    ceph quorum_status --format json-pretty  #新增 Monitor 后,Ceph 会自动开始同步并形成法定人数,此命令查看法定人数状态

    配置块设置:

    lsb_release -a
    
    uname -r    #使用4.1.4 或者之后的,否则可能有问题,低于则升级内核
    
    升级步骤:
    
    export Kernel_Version=4.18.9-1
    
    wget  http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml{,-devel}-${Kernel_Version}.el7.elrepo.x86_64.rpm
    
    yum localinstall -y kernel-ml*
    
    grub2-set-default  0 && grub2-mkconfig -o /etc/grub2.cfg  #修改启动顺序,使升级内核为默认启动内核
    
    grubby --default-kernel     #查看是否升级成功
    
    reboot

    管理节点通过ceph-deploy安装ceph-client

    ceph-deploy install ceph3  #节点安装ceph
    
    ceph-deploy admin ceph3    #拷贝ceph配置文件和密钥信息
    
    chmod +r /etc/ceph/ceph.client.admin.keyring    #设置可操作的权限

    配置:

    rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]  #如果没加入admin配置拷贝步骤需要加入-m 和-k选项 指定monitor ip和密钥文件
    如:rbd create rbd/test1 --size 1G --image-format 2 --image-feature  layering     # 在rbd pool下创建名为test1,大小为1G  镜像格式为2  feature 为layering 的镜像
    
    rbd map rbd/test1  #将  images 映射为块设备 ,或输出一个/dev/rbd/rbd/test

    然后格式化 ,操作同上门集群配置

    mkfs.ext4 -m0  /dev/rbd/rbd/test1    #此命令耗时较长
    
    然后在节点挂载
    
    mkdir /ceph
    
    mount /dev/rbd/rbd/test1 /ceph

    配置cephfs文件系统

    一、启用cephfs

    Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据

    启用mds服务

    # ceph-deploy mds create node01

    创建数据pool

    ceph osd pool create cephfs_data 128

    创建Metadata

    ceph osd pool create cephfs_metadata 128

    启用pool

    ceph fs new cephfs cephfs_metadata cephfs_data

    查看cephfs

    ceph fs ls

    **二、挂载cephfs **

    挂载cephfs有两种方式,kernel driverfuse

    1kernel driver挂载

    关闭认证情况下

    sudo mkdir /mnt/wyl
    
    sudo mount -t ceph 192.168.0.1:6789:/ /mnt/wyl

    设置开机自动挂载/etc/fstab

    172.16.70.77:6789:/     /mnt/ceph    ceph   noatime,_netdev    0       2

    启用认证

    # cat ceph.client.admin.keyring
    
    [client.admin]
    
    key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
    
     
    
    # mount -t ceph 172.16.70.77:6789:/ /wyl  -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==

    设置开机自动挂载/etc/fstab

    172.16.70.77:6789:/     /mnt/ceph    ceph    name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev    0       2  

    注意:检查是否启用cephx认证方法,如果值为none为禁用,cephx为启用

    [root@node1 ceph]# cat /etc/ceph/ceph.conf   | grep auth | grep required
    
    auth_cluster_required = cephx
    
    auth_service_required = cephx
    
    auth_client_required = cephx

    2fuse挂载

    安装挂载工具

    # yum -y install ceph-fuse ceph
    将存储节点的admin秘钥拷贝到本地 #
    ssh root@node1 "ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key root@node1’s password: 赋予权限 # chmod 600 admin.key

    执行挂载

    参考官网

    http://docs.ceph.org.cn/cephfs/fuse/
    
    sudo mkdir /home/usernname/cephfs
    
    sudo ceph-fuse -m 192.168.0.1:6789 /home/username/cephfs
    
    # mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key
    
    # df -hT
    
    设置开机自动挂载/etc/fstab
    
    id=admin,conf=/etc/ceph/ceph.conf  /mnt fuse.ceph defaults 0 0
    
    mds可以同时启用多个节点,不同的client挂载不同mds存储节点,不同client可以同时写数据,数据是共享的

    3windows挂载:

    https://github.com/ksingh7/ceph-cookbook/tree/master/ceph-dokan

    ————————————————

    文档:http://docs.ceph.org.cn/

     
  • 相关阅读:
    人月神话
    Rails 最佳实践
    萧伯纳名言名句大全
    听话,照做,执行,别发挥
    So Good They Can't Ignore You
    谈谈遵守公司作战纪律
    如何让自己有动力去长久地做一件事情
    新架构优化问题总结
    Markdown 入门
    关于代码版本管理的思考和建议
  • 原文地址:https://www.cnblogs.com/leo001/p/12242362.html
Copyright © 2011-2022 走看看