当前位置: > Linux集群 > Ceph >

ceph存储 ceph集群ceph-deploy部署使用说明

时间:2015-10-17 01:08来源:linux.it.net.cn 作者:IT


icfs-deploy部署使用说明

1关于icfs-deploy的安装使用

    1)icfs-deploy.tar.gz文件拷贝到/root目录下,并解压缩

    2)cd /root/icfs-deploy/virtualenv/bin/

    3)cp icfs-deploy /usr/bin/

    4)完成以上的步骤,就可以在任何的目录下使用icfs-deploy工具了.

    注:centos6.4系统平台使用的icfs-deploy二进制rpm包已经完成,可以直接安装

2icfs-deploy部署icfs

部署icfs前的准备:

    1)在集群的每个节点上加入对应的 IP/主机名 /etc/hosts

    2)使用 ssh-copy-id 完成集群节点之间无ssh密码登录

    3)关闭防火墙 hkconfig --level 35 iptables off

    4)编辑/etc/ntp.conf,开启时间服务同步时间,如果集群不能访问外网,可以以admin monistor为时间服务器。

    5)如果需要先清除磁盘上的分区

    icfs-deploy disk zap inspur07:/dev/sdb inspur07:/dev/sdcinspur07:/dev/sdd inspur07:/dev/sde inspur07:/dev/sdf inspur07:/dev/sdginspur08:/dev/sdb inspur08:/dev/sdc inspur08:/dev/sdd inspur08:/dev/sdeinspur08:/dev/sdf inspur08:/dev/sdg inspur09:/dev/sdb inspur09:/dev/sdcinspur09:/dev/sdd inspur09:/dev/sde inspur09:/dev/sdf inspur09:/dev/sdg

    (sgdisk not in path ,then yum installgdisk.x86_64)

部署集群icfs

       a)osd为文件夹部署步骤:

        1)创建集群

        命令格式:icfs-deploy new{host [host], ...}

        说明:其中inspur6 是一个nodehostname,将以 节点 inspur6 为主monitor创建集群。

        实例:icfs-deploynew inspur07 inspur08 inspur09 

        1.1)修改配置文件         

        vi /root/icfs.conf

        icfsx改为none

        2)生产主monitor并初始化

        命令格式:icfs-deploy--overwrite-conf mon create-initial

        实例:icfs-deploy--overwrite-conf mon create-initial

        说明:其中--overwrite-conf 覆盖已存在的配置文件

         create-initial部署初始monitors列表(即icfs-deploy new时指定的monitors

             可以通过如下的命令格式对monitors进行管理

        icfs-deploy mon [-h] [--address[ADDRESS]] [--keyrings [KEYRINGS]] {add,create,create-initial,destroy} [mon[mon ...]]

        4)准备osd服务器

        命令格式:icfs-deploy osdprepare {osd-node-name}:/path to osd  {osd-node-name}:/path to osd  ...

        实例:icfs-deploy--overwrite-conf osd prepare inspur6:/dev/local/osd1 inspur6:/var/local/osd2 inspur6:/var/local/osd3

        icfs-deploy --overwrite-conf osd prepareinspur07:/dev/sdb inspur07:/dev/sdc inspur07:/dev/sdd inspur07:/dev/sdeinspur07:/dev/sdf inspur07:/dev/sdg inspur08:/dev/sdb inspur08:/dev/sdcinspur08:/dev/sdd inspur08:/dev/sde inspur08:/dev/sdf inspur08:/dev/sdginspur09:/dev/sdb inspur09:/dev/sdc inspur09:/dev/sdd inspur09:/dev/sdeinspur09:/dev/sdf inspur09:/dev/sdg

         说明:其中 --overwrite-conf 覆盖已存在的配置文件

         inspur6 node节点hostname

         /var/local/osd1 osd的文件路径,需要在执行该命令前先创建

        5)激活osd服务器

        命令格式:icfs-deploy osdactivate {osd-node-name}:/path/to/osd {osd-node-name}:/path/to/osd  ...

        实例:icfs-deployosd activate inspur6:/var/local/osd1 inspur6:/var/local/osd2inspur6:/var/local/osd3

             icfs-deploy osdactivate inspur07:/dev/sdb1:/dev/sdb2 inspur07:/dev/sdc1:/dev/sdc2inspur07:/dev/sdd1:/dev/sdd2 inspur07:/dev/sde1:/dev/sde2inspur07:/dev/sdf1:/dev/sdf2 inspur07:/dev/sdg1:/dev/sdg2inspur08:/dev/sdb1:/dev/sdb2 inspur08:/dev/sdc1:/dev/sdc2inspur08:/dev/sdd1:/dev/sdd2 inspur08:/dev/sde1:/dev/sde2inspur08:/dev/sdf1:/dev/sdf2 inspur08:/dev/sdg1:/dev/sdg2inspur09:/dev/sdb1:/dev/sdb2 inspur09:/dev/sdc1:/dev/sdc2inspur09:/dev/sdd1:/dev/sdd2 inspur09:/dev/sde1:/dev/sde2inspur09:/dev/sdf1:/dev/sdf2 inspur09:/dev/sdg1:/dev/sdg2

        说明:其中 inspur6 node节点hostname

        /var/local/osd1 osd的文件路径

        5)复制key到各个节点

        命令格式:icfs-deploy admin[-h] [HOST [HOST ...]]

        实例:icfs-deploy admininspur07 inspur08 inspur09

        说明:复制keyinspur6节点

        6)检查集群icfs是否ok 在主monitor节点上 运行命令 icfs health,查看集群运行状态!

        7)安装mds节点

        命令格式: icfs-deploy mds[-h] SUBCOMMAND [HOST[:NAME] [HOST[:NAME] ...]]

        实例:    

        说明:在节点inspur6 创建mds

        (注意:如果只在一个node上安装icfs,请修改故障域的类型为osd,默认的是host!)

         b)osd为块设备的部署步骤:

        准备工作:其中 将块设备 格式化成xfs文件系统,其他的文件格式在执行下面 3)的命令时会出错!

        (以/dev/sdb为例,操作步骤:1)fdisk /dev/sdb 进行分区;2mkfs.xfs -f /dev/sdb1 创建xfs文件格式;)

        1)创建集群

        命令格式:icfs-deploy new{host [host], ...}

        实例: icfs-deploy newinspur6

        说明:其中inspur6 是一个nodehostname,将以 节点 inspur6 为主monitor创建集群。

        2)生产主monitor并初始化

        命令格式:icfs-deploy--overwrite-conf mon create-initial

        实例: icfs-deploy --overwrite-confmon create-initial

        说明:其中--overwrite-conf 覆盖已存在的配置文件

        create-initial 部署初始monitors列表(即icfs-deploy new时指定的monitors

        可以通过如下的命令格式对monitors进行管理

        icfs-deploy mon [-h] [--address[ADDRESS]] [--keyrings [KEYRINGS]] {add,create,create-initial,destroy} [mon[mon ...]]

        3)准备osd服务器

        命令格式:icfs-deploy osdprepare {node-name}:{data-disk}[:{journal-disk}]{node-name}:{data-disk}[:{journal-disk}] ...

        实例:icfs-deploy--overwrite-confosd prepare inspur6:/dev/sdb1:/dev/sdb2 inspur6:/dev/sdb3:/dev/sdb4csctos:/dev/sdb1:/dev/sdb2

        说明:其中--overwrite-conf 覆盖已存在的配置文件

              inspur6  csctos  node节点hostname

              /dev/sdb1 为存放数据的osd块设备

              /dev/sdb2 为存放journal的块设备

        注意:其中块设备必须是xfs文件系统格式,切记!

可能出现错误如下:

Unable to find /etc/ceph/ceph.client.admin.keyringon ['skdkjzz']

解决方法:

命令格式:Ceph-create-keys–id [hostname]

实例:ceph-create-keys --id skdkjzz(生成密钥)

ceph-deploy gatherkeys skdkjzz(收集密钥)

        4)激活osd服务器

        命令格式: icfs-deploy osdactivate {node-name}:{data-disk}[:{journal-disk}]{node-name}:{data-disk}[:{journal-disk}] ...

        实例:icfs-deployosd activate inspur6:/dev/sdb1:/dev/sdb2 inspur6:/dev/sdb3:/dev/sdb4csctos:/dev/sdb1:/dev/sdb2

        说明:其中 inspur6  csctos node节点hostname

            /dev/sdb1 为存放数据的osd块设备

             /dev/sdb2 为存放journal的块设备

        5)复制key到各个节点

        命令格式:icfs-deploy admin[-h] [HOST [HOST ...]]

        实例:icfs-deployadmin inspur6

        说明:复制keyinspur6节点

        6)检查集群icfs是否ok 在主monitor节点上 运行命令 icfs health,查看集群运行状态!

        7)安装mds节点

        命令格式:icfs-deploy mds [-h]SUBCOMMAND [HOST[:NAME] [HOST[:NAME] ...]]

        实例:     icfs-deploy mds create inspur6

        说明:     在节点inspur6 创建mds

(注意:如果只在一个node上安装icfs,请修改故障域的类型为osd,默认的是host!)

.关于osd为块设备扩容

准备工作:其中 将块设备 格式化成xfs文件系统!

操作步骤:

    1)准备osd服务器

    命令格式: icfs-deploy osdprepare {node-name}:{data-disk}[:{journal-disk}]{node-name}:{data-disk}[:{journal-disk}] ...

    实例:icfs-deploy--overwrite-conf osd prepare csctos:/dev/sdb3:/dev/sdb4

    说明:其中 --overwrite-conf 覆盖已存在的配置文件

          csctos  node节点hostname

              /dev/sdb3 为存放数据的osd块设备

          /dev/sdb4 为存放journal的块设备

    注意:其中块设备必须是xfs文件系统格式,切记!

    2)激活osd服务器

    命令格式: icfs-deploy osdactivate {node-name}:{data-disk}[:{journal-disk}]{node-name}:{data-disk}[:{journal-disk}] ...

    实例: icfs-deploy osdactivate csctos:/dev/sdb3:/dev/sdb4

    说明:其中 csctos  node节点hostname

              /dev/sdb3 为存放数据的osd块设备

          /dev/sdb4 为存放journal的块设备

    3)在主monitor节点上 运行命令 icfs -s,查看集群的容量变化!

 

3、目前存在的问题

    测试环境:ceph-deploy的版本是1.5.20ceph版本是0.87

  1. 使用逻辑卷提示ceph-disk 出错

  2. 使用逻辑卷提示partx出错

  3. Ceph-deploy在线安装ceph的时候需要很多依赖,需要yum install ceph –skip-broken查看

  4. 其他同事完成部署的使用的osd数据和日志都部署在独立硬盘

  5. 目前仍然在此环境上没有成功部署ceph,主要卡在osd数据和日志部署



(责任编辑:IT)
------分隔线----------------------------