一文看懂ceph部署

作者: sknfie | 来源:发表于2021-07-18 23:40 被阅读0次

    环境配置

    准备环境
    系统版本:Centos7.2 x86_64 server
    硬件配置:5台vm,1核512mb内存、1g内存,每台node角色的机器至少挂载一块不低于5G的空闲为osd存储

    环境规划

    主机名                              ip                         role
    admin                    192.168.43.10            admin(安装ceph-deploy)
    node1                    192.168.43.20           mon / mgr /osd
    node2                    192.168.43.30            osd
    node3                    192.168.43.40           osd
    ceph-client            192.168.43.50
    

    配置yum源(所有节点都需要配置)

    yum -y install wget
    cd /etc/yum.repos.d/
    wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
    wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    7.repo

    yum clean all
    yum makecache
    

    修改主机名(所有节点都需要配置)

    hostnamectl set-hostname admin
    hostnamectl set-hostname node1
    hostnamectl set-hostname node2
    hostnamectl set-hostname node3
    hostnamectl set-hostname ceph-client
    

    配置hosts解析(所有节点都需要配置)

    cat >>/etc/hosts<<EOF
    192.168.43.10 admin
    192.168.43.20 node1
    192.168.43.30 node2
    192.168.43.40 node3
    192.168.43.50 ceph-client
    EOF
    

    关闭所有机器的防火墙和selinux(所有节点都需要配置)

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

    实现ssh无密码登陆(admin节点操作)

    ssh-keygen
    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    ssh-copy-id ceph-client
    

    添加下载源,安装ceph-deploy(admin节点)

    vi /etc/yum.repos.d/ceph.repo
    [ceph-noarch]
    name=Ceph noarch packages
    baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
    enabled=1
    gpgcheck=1
    type=rpm-md
    gpgkey=https://download.ceph.com/keys/release.asc
    
    yum makecache
    yum -y install ceph-deploy
    

    安装ntp(所有节点都需要配置)

    yum -y install ntp
    vi /etc/ntp.conf
    server time1.aliyun.com iburst
    systemctl restart ntpd
    systemctl enable ntpd
    

    部署Ceph集群

    1、创建ceph操作的目录
    mkdir my-cluster #之后,所有ceph-deploy命令操作必须在该目录下执行

    2、创建集群
    首先在这里要先下载一个包并安装,否则后面会报错

    上传软件包distribute-0.7.3.zip到服务器上
    unzip distribute-0.7.3.zip
    cd distribute-0.7.3
    python setup.py install
    
    创建集群
    ceph-deploy new node1
    [root@admin my-cluster]# ls
    ceph-deploy-ceph.log  ceph.conf  ceph.mon.keyring
    

    3、手动不是安装三台机器分别创建:三台node节点操作相同
    3.1、安装epel源

    yum -y install epel-release
    

    3.2、配置ceph源

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

    3.3、分别在node节点上执行安装命令

    yum -y install ceph ceph-radosgw
    

    3.4、测试

    ceph --version
    

    3.5、初始化mon(admin节点操作)

    ceph-deploy mon create-initial
    

    3.6、赋予各个节点使用命令免用户名权限

    ceph-deploy admin node1 node2 node3
    

    3.7、安装ceph-mgr

    ceph-deploy mgr create node1
    

    3.7、添加osd

    ceph-deploy osd create --data /dev/sdb node1
    ceph-deploy osd create --data /dev/sdb node2
    ceph-deploy osd create --data /dev/sdb node3
    

    3.8、查看集群状态

    ssh node1 ceph -s
    

    dsahboard配置

    1、创建管理域秘钥

    [root@node1 ~]# ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
    [mgr.node1]
        key = AQBSDzJf6HBQCRAAxFTtzlArI91hyQ0DnbBRFg==
    

    2、开启ceph-mgr管理域

    [root@node1 ~]# ceph-mgr -i node1
    

    3、打开dashboard模块

    [root@node1 ~]# ceph mgr module enable dashboard
    

    4、绑定开启dashboard模块

    [root@node1 ~]# ceph config-key set mgr/dashboard/node1/server_addr 192.168.43.20
    

    浏览器访问node1的ip地址:7000访问web界面

    客户端使用

    1、配置存储池

    [root@node1 ~]# ceph osd pool create rbd 128 128
    pool 'rbd' created
    

    2、初始化存储池

    [root@node1 ~]# rbd pool init rbd
    

    3、为client安装ceph

    yum -y install python-setuptools
    

    3.1、安装epel-release源

    yum -y install epel-release
    

    3.2、安装ceph源

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

    3.3、安装服务

    yum -y install ceph ceph-radosgw
    

    3.4、升级内核
    升级ceph-client内核
    Centos7升级内核
    更新前,内核版本为:

    [root@ceph-client ~]# uname -r
    3.10.0-327.el7.x86_64
    升级方法:导入key:
    [root@ceph-client ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    

    安装elrepo的yum源

    [root@ceph-client ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    

    查看可用的系统内核包

    [root@ceph-client ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
    

    安装内核:当前内核为最新5.7,也可以按照4版本的内核

    [root@ceph-client ~]# yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
    

    查看内核默认启动顺序

    [root@ceph-client ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg 
    CentOS Linux (5.7.12-1.el7.elrepo.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
    CentOS Linux (0-rescue-1bbd5b6219324d96adde7c2631097c22) 7 (Core)
    

    默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而5.7.12是在1),所以需要选择0

    [root@ceph-client ~]# grub2-set-default 0
    

    然后reboot重启,使用新的内核,下面是重启后使用的内核版本:

    [root@ceph-client ~]# reboot
    [root@ceph-client ~]# uname -r
    5.7.12-1.el7.elrepo.x86_64
    

    4、在admin节点赋予client使用命令免用户权限

    [root@admin my-cluster]# ceph-deploy admin ceph-client
    

    5、修改client下该文件的读权限

    [root@ceph-client ~]# chmod +r /etc/ceph/ceph.client.admin.keyring
    

    6、修改client的ceph配置文件 #这一步是为了解决映射镜像时出现错误
    [root@ceph-client ~]# vi /etc/ceph/ceph.conf

    rbd_default_features = 1
    

    7、client节点创建块设备镜像:单位是M

    [root@ceph-client ~]# rbd create foo --size 4096
    

    8、client节点映射镜像到主机

    [root@ceph-client ~]# rbd map foo --name client.admin
    

    8、client节点格式化块设备

    [root@ceph-client ~]# mkfs.ext4 -m 0 /dev/rbd/rbd/foo
    

    9、client节点mount块设备

    [root@ceph-client ~]# mount /dev/rbd/rbd/foo /mnt
    

    相关文章

      网友评论

        本文标题:一文看懂ceph部署

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