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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容