分享

Centos7下部署ceph

fc013 发表于 2016-2-14 14:33:35 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 5 23549
本帖最后由 fc013 于 2016-2-14 14:37 编辑

问题导读:

1.Centos7怎样配置网络?
2.Centos7怎样实现ssh无密码登录?
3.怎样用ceph-deploy部署集群?



1、  首先获得相应的部署资源,多台主机或相应数量的虚拟机资源

示例:

Ip                                      hostname                             节点
10.10.21.54                        admin                                   部署管理节点
10.10.21.55                        node1                                   MON节点
10.10.21.56                        node2                                   OSD0节点
10.10.21.57                        node3                                   OSD1节点

2、  ifconfig查看基本网络配置信息,尝试ping连外网如:ping www.baidu.com

问题1:执行ifconfig命令,无相应的输出响应
一般纯净的Centos7系统会出现上述这个问题

显示:ifconfig Command not found

解决:下载相应的NET管理工具:net-tools

那么首先需要在/etc/yum.repo/目录下创建如:Centos-local.repo的源库下载脚本

下载.png

注:若当前源库目录下有其它的脚本,则最好将上图示priority置0 使之遍历优先级最高

然后执行 # yum install net-tools*

最后执行 ifconfig命令便可看到熟悉的信息:

下载 (1).png

问题2:ping www.baidu.com 不通,即不能实现外网链接
解决:若是企业有MAC限制,想在公司上外网,首先解决MAC限制,若是虚拟机不能有MAC冲突的问题。之后还不能实现外网链接,则需添加DNS解析

首先:vi /etc/sysconfig/network-scripts/ifcfg-eno16777984 (本人配置信息)

添加:DNS1=10.10.10.1

若有MAC冲突可修改HWADDR或MACADDR项,配置如下:

下载 (2).png

3、  在10.10.21.54主机(管理点)上以root用户模式完成以下操作

(1)修改主机名,以便后面切换部署时识别相应节点
  配置:

  # vi /etc/hostname 修改主机名 这里命名为admin

下载 (3).png

# vi /etc/hosts 修改127.0.0.1 后主机名为admin

  并添加如下信息:

  10.10.21.54     admin
  10.10.21.55     node1
  10.10.21.56     node2
  10.10.21.57     node3

下载 (4).png

(2)创建用户并修改主机名
  1)切换到各个主机上创建ceph用户 命名:ceph

    # ssh username@host-serverip   如 ==> username: root    host-serverip: 10.10.21.55
    # useradd –d /home/ceph –m ceph
    # passwd ceph
    # exit

     2)exit前修改各个主机名称,实现步骤同理(1)示

           测试:ping xxx节点

下载 (5).png

           $ ssh-copy-id ceph@node2
           $ ssh-copy-id ceph@node3

(5)admin主机上添加~/.ssh/config配置文件 注:并非ceph用户
下载 (7).png

4、  创建集群

(1)在admin主机切换至ceph用户,创建文件夹
  # ssh ceph@admin
  $ mkdir my-cluster
  $ cd my-cluster

(2)ceph-deploy部署集群
  注:使用ceph-deploy部署集群均在my-cluster目录中

  1)更新软件源并安装ceph-deploy工具:

    $ sudo yum update && sudo install ceph-deploy

  2)同步每台主机的时间,需切换至每个节点:

    $ ssh {node}  如:ssh node1
    $ sudo yum install ntp
    $ sudo yum install openssh-server (如果有必要可安装)

  3)清除之前的配置数据:

  卸载ceph:

    $ ceph-deploy uninstall admin node1 node2 node3

  清除远程主机/var/lib/ceph /etc/ceph中的包和数据

    $ ceph-deploy purgeadmin node1 node2 node3

  清除/var/lib/ceph及/etc/ceph下ceph目录及以下内容全部:

           $ ceph-deploy purgedata admin node1 node2 node3

     清除my-cluster目录中的认证密钥文件:

           $ ceph-deploy forgetkeys

  4)关闭所有节点的防火墙及安全防护项,切换到所有节点执行:

    $ ssh {node}  如:ssh node1
    $ sudo systemctl stop firewalld
    $ sudo setenforce 0

  5)之后就可正真的来实现创建集群:

    $ ceph-deploy new node1

   成功执行后当前目录增加三个文件:

下载 (8).png

(3)系统默认的osd pool的为3 目前osd为2 即需修改默认的副本数为2
         $ vi   ./ceph.conf  添加:osd pool default size=2

下载 (9).png

(4)部署安装ceph
         $ ceph-deploy install admin node1 node2 node3

         安装成功后:

下载 (10).png

(5)创建Ceph mon
         $ ceph-deploy mon create-initial

         若无法创建则使用如下命令:

         $ ceph-deploy mon create node1
         $ ceph-deploy gatherkeys node1

         成功后当前目录ls -l

下载 (11).png

(6)创建两个osd
         1)首先切换到node2中ceph用户,创建OSD0

                   $ ssh ceph@node2

                   df –mh 查看可知sdc可用,故可将sdc xfs格式化 并实现挂载

                   $ sudo mkfs.xfs  –f  /dev/sdc
                   $ sudo mkdir /var/lib/ceph/osd/osd-0
                   $ sudo mount /dev/sdc  /var/lib/ceph/osd/osd-0
                   $ exit

         2)同理创建OSD1

                   $ ssh ceph@node3
                   $ sudo mkfs.xfs  –f  /dev/sdc
                   $ sudo mkdir /var/lib/ceph/osd/osd-1
                   $ sudo mount /dev/sdc  /var/lib/ceph/osd/osd-1
                   $ exit

(7)准备并激活osd
  $ ceph-deploy osd prepare node2: /var/lib/ceph/osd/osd-0
                node3: /var/lib/ceph/osd/osd-1
  $ ceph-deploy osd activate node2: /var/lib/ceph/osd/osd-0
                 node3: /var/lib/ceph/osd/osd-1

(8)实现拷贝配置文件以及key文件
  $ ceph-deploy admin admin node1 node2 node3

(9)为ceph.client.admin.keyring添加可读权限
  通常管理部署节点和监控节点须得设置,以便于查看集群状态。OSD节点设置与否,看能给予的权限。命令如下:

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

(10)查看集群状态
  1)集群整体状态:ceph –s

下载 (12).png

  2)集群OSD状态:ceph osd tree

下载 (13).png

3)ceph {xxx} dump  如:ceph osd dump;  ceph mon dump;  ceph mds dump
  ceph osd dump

下载 (14).png

4)集群动态部署:ceph –w

下载 (15).png

5)查看mon状况

  $ sudo mon mon.{node} mon_status 如:node3 为mon节点

下载 (16).png

(11)操作OSD
  1)将OSD踢出集群out 并实现数据重新均衡

           $ ceph osd out osd.2

     2)停止OSD设备 (需切换到当前节点中,实现osd的停止)

    $ sudo service ceph stop {osd} 如:osd.2

下载 (17).png

     3)从CRUSH中移除

    $ ceph osd crush remove osd.2

下载 (18).png

     4)从认证中删除

    $ ceph auth del osd.2

下载 (19).png

  5)删除osd

    $ ceph osd rm 2

5、  备注(问题)

问题1:添加新osd集群试图实现均衡失败后,集群不正常
  情景:

  集群:[(osd pool default size = 2) admin node1(mon) node2(osd0) node3(osd1) ]

  创建后 集群active+clean 处于正常状况,之后向node1节点添加osd2 添加成功后:

  开始时:osd2 处于down + in状态

  一段时间后:osd2处于 up + in 同时使得 osd1处于 down + out   

  再之后显示如下:

下载 (20).png

原因:

    1]、可能是系统为防止集群出现问题,mon的防火墙会自行启动,使得其它的osd节点无法访问mon节点(注:并非是说ping不同)

    2]、可能有些软件(进程)的启动需要依赖防火墙去实现解决:

  1)此时首先关闭firewalld:

    $ sudo systemctl stop firewalld
    $ firewall-cmd –-state

下载 (21).png

  2)尝试重新启动ceph集群,看是否能够起来(各个节点均执行),命令:

    $ sudo service ceph start


已有(5)人评论

跳转到指定楼层
lz19851224 发表于 2016-7-4 16:48:36
vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-{ceph-release}/{distro}/noarch      baseurl=http://ceph.com/rpm-firefly/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
yum update 之后可以装上ceph-deploy   也可以ceph-deploy new node1
但ceph-deploy install admin-node node1 node2 node3这个命令之后就报错.
[admin-node][WARNIN] http://ceph.com/rpm-hammer/rhel7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
[admin-node][ERROR ] RuntimeError: command returned non-zero exit status: 1
[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: yum -y install ceph ceph-radosgw
http://ceph.com/rpm-hammer/rhel7/x86_64/repodata/repomd.xml这个在浏览器里确实打不开,请问我是按照官网文档弄的,以前我也装过没出现问题,不知道这次是怎么回事。是不是yum 源的事


回复

使用道具 举报

starrycheng 发表于 2016-7-4 18:36:42
lz19851224 发表于 2016-7-4 16:48
vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages

这个链接失效了。国外很多链接在开始的是有效的,后来就找不到了。灌完也很常见的。
回复

使用道具 举报

lz19851224 发表于 2016-7-5 11:27:39
那我现在想再装yum源怎么配置哦
回复

使用道具 举报

445433045 发表于 2016-9-12 13:42:46
写的有点麻烦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条