ceph部署

分布式存储ceph部署
部署luminous(ceph12.2.10的版本代号)
配置dashboard
客户端使用rbd
======================================
部署环境
系统版本:centos7.5 x86_64 server
ceph版本:ceph 12.2.10(luminous)
硬件配置:5台vm,1核1G内存,每台node角色的机器至少挂载1块为osd准备的空闲盘
主机名 ip role
admin 192.168.101.100 admin
node1 192.168.101.101 mon / mgr / osd
node2 192.168.101.102 osd
client 192.168.101.103
======================================

1 准备工作

1.1 开启网络(所有节点,root用户)

1.2 修改主机名/互相解析(所有节点,root用户)

1.3 创建用户(所有节点,root用户) 在所有节点上执行如下操作:

1)创建用户名:cephu,设置密码:

 # useradd cephu
 # passwd  cephu

2)修改visudo文件,否则提示cephu不再sudoer列表中的错误。

命令行输入visudo,在root ALL=(ALL) ALL下面添加:

 cephu  ALL=(ALL) ALL

3)切换至cephu用户,为该用户增加root权限:

$ echo "cephu ALL=(root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephu
$ sudo  chmod 0440 /etc/sudoers.d/cephu

1.4 实现ssh无密码登录(admin节点)

1)cephu用户下,生成秘钥:

$ ssh-keygen

2)cephu用户下,把生成的密钥拷贝到各Ceph节点:

            $ ssh-copy-id cephu@node1
            $ ssh-copy-id cephu@node2

3)root用户下,添加~/.ssh/config配置文件,并进行如下设置:

            Host node1
            Hostname node1
            User cephu

            Host node2
            Hostname node2
            User cephu

            Host node3
            Hostname node3
            User cephu

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

1)添加ceph源:

 #vim /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

2)更新源,安装ceph-deploy:

# sudo yum makecache
# sudo yum update
# vim /etc/yum.conf
        keepcache=1
# sudo yum install ceph-deploy -y

1.6 设置TTY(所有节点)

注意:此设置由官方文档指出,但是并未在这里找不到此配置行,不用做此步
# sudo visudo 找到 Defaults requiretty 注释掉

1.7 关闭selinux(所有节点)

1.8 设置时间同步

sudo yum -y install ntpdate
sudo ntpdate ntp1.aliyun.com

2 部署ceph集群

没有特别说明以下所有操作均是在admin节点,cephu用户下执行

2.1 创建ceph操作目录:

$ mkdir my-cluster  //切记不可用sudo创建
$ cd my-cluster       //之后,所有ceph-deploy命令操作必须在该目录下执行

2.2 创建集群:

    $ ceph-deploy new node1

创建成功会有三个文件:ceph.conf, ceph.mon.keyring, and a log file

2.3 安装luminous(12.2.9):

目标:在node1,node2,node3三个节点上安装ceph和ceph-radosgw主包

方法1:利用官方脚本全自动安装

脚本会帮助node1,node2,node3创建epel源和ceph源,并且自动安装ceph和ceph-radosgw主包

$ ceph-deploy install --release luminous node1 node2 node3

这一步实际上是给3个节点安装两个软件:如果ceph和ceph-radosgw安装不上,则采用方法2
测试是否安装完成:分别在node1 node2 node3中确认安装版本为12.2.9

    $ ceph --version

方法2:手动部署安装

1)安装epel源
2)创建Ceph源,内容如下:

        [Ceph]
        name=Ceph packages for $basearch
        baseurl=http://download.ceph.com/rpm-luminous/el7/$basearch
        enabled=1
        gpgcheck=1
        type=rpm-md
        gpgkey=https://download.ceph.com/keys/release.asc
        priority=1

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

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

3)分别在node1,node2,node3节点执行下面命令安装软件

可以完全手动安装,但需要yum的ceph缓存目录结构

$sudo yum install ceph ceph-radosgw  -y    

如果因为速度慢导致安装失败可以按ctrl+c,利用它创建的yum缓存目录,手动把安装包下载下来保存到缓存目录/var/cache/yum/x86_64/Ceph/packages目录下
再次执行安装命令:

    $sudo yum install ceph ceph-radosgw  -y

分别在node1 node2 node3中确认安装版本为12.2.1:

    $ ceph --version

2.4 初始化mon:

    $ ceph-deploy mon create-initial

2.5 赋予各个节点使用命令免用户名权限:

    $ ceph-deploy admin node1 node2 node3

2.6 安装ceph-mgr:只有luminous才有,为使用dashboard做准备

    $ ceph-deploy mgr create node1   

2.7 添加osd:

注意:各个节点上提供存储空间的磁盘大小不能太小,最好5G以上

     $ ceph-deploy osd create --data /dev/sdb node1(12.2.10版本是这条命令,分开给各节点安装)
     $ ceph-deploy osd create --data /dev/sdb node2
     $ ceph-deploy osd create --data /dev/sdb node3

命令中/dev/sdb是在各个节点上为osd准备的空闲磁盘(无需分区格式化,如果有分区需要指定具体分区),通过如下命令查看:

$ ssh node1 lsblk -f    

最后通过如下命令查看集群状态:

 $ ssh node1 sudo ceph -s

如果显示health_ok,3个osd up就成功了

3 Dashboard的配置:在node1上操作

把ceph-mgr和ceph-mon安装在同一个主机上,最好只有一个ceph-mgr

3.1 创建管理域秘钥:

 $ sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'

3.2 开启 ceph-mgr 管理域:

    $ sudo ceph-mgr -i node1

3.3 查看ceph的状态:

    $ sudo ceph status

确认mgr的状态为active

3.4 打开dashboard模块:

    $ sudo ceph mgr module enable dashboard

3.5 绑定开启dashboard模块的ceph-mgr节点的ip地址:

$ sudo ceph config-key set mgr/dashboard/node1/server_addr 192.168..101.101 #ip地址为mgr节点的ip地址

3.6 web登录:

浏览器地址栏输入:
mgr地址:7000


image.png

======================================

4 配置客户端使用rbd:

创建块设备之前需要创建存储池,存储池相关命令需要在mon节点执行

4.1 创建存储池:

  $ sudo ceph osd pool create rbd 128 128

4.2 初始化存储池:

    $ sudo rbd pool init rbd

4.3 准备客户端client:

另备一台主机,系统centos7用来作为client。主机名为client,ip:192.168.101.103。修改hosts文件实现和admin节点的主机名互通。

1)升级client内核到4.x,方法在子目录中

Centos7升级内核
更新前,内核版本为:

  #uname -r  
    3.10.0-327.10.1.el7.x86_64

升级方法
导入key:

 #rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  
安装elrepo的yum源:  
#rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

4.4查看可用的系统内核包

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
安装内核:
 #yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml         
kernel-ml   x86_64     4.4.4-1.el7.elrepo elrepo-kernel  38M
kernel-ml-devel x86_64 4.4.4-1.el7.elrepo elrepo-kernel  10M

查看默认启动顺序

    #awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg  
    CentOS Linux (4.4.4-1.el7.elrepo.x86_64) 7 (Core)  
    CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)  
    CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core)

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

 #grub2-set-default 0  

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

4.5、删除旧的内核

   #yum remove kernel  

2)为client安装ceph:

参考2.3 在做2.3之前先在client上做1.3的三步
还要做着一步 否则报错 #yum -y install python-setuptools

3)关闭防护墙和selinux

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

   $ ceph-deploy admin client

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

    $ sudo chmod +r /etc/ceph/ceph.client.admin.keyring

6)修改client下的ceph配置文件:这一步是为了解决映射镜像时出错问题

    $ sudo vi /etc/ceph/ceph.conf   在global section下添加:
    rbd_default_features = 1

4.4 client节点创建块设备镜像:单位是M,这里是4个G

$ rbd create foo --size 4096 

4.5 client节点映射镜像到主机:

$ sudo rbd map foo --name client.admin

4.6 client节点格式化块设备:

    $ sudo mkfs.ext4 -m 0 /dev/rbd/rbd/foo

4.7 client节点mount块设备:

    $ sudo mkdir /mnt/ceph-block-device
    $ sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device
    $ cd /mnt/ceph-block-device

你可能感兴趣的:(ceph部署)