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包已经完成,可以直接安装
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)
1)创建集群
命令格式:icfs-deploy new{host [host], ...}
说明:其中inspur6 是一个node的hostname,将以 节点 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
说明:复制key到inspur6节点
6)检查集群icfs是否ok , 在主monitor节点上 运行命令 icfs health,查看集群运行状态!
7)安装mds节点
命令格式: icfs-deploy mds[-h] SUBCOMMAND [HOST[:NAME] [HOST[:NAME] ...]]
实例:
说明:在节点inspur6上 创建mds
(注意:如果只在一个node上安装icfs,请修改故障域的类型为osd,默认的是host!)
准备工作:其中 将块设备 格式化成xfs文件系统,其他的文件格式在执行下面 3)的命令时会出错!
(以/dev/sdb为例,操作步骤:1)fdisk /dev/sdb 进行分区;2)mkfs.xfs -f /dev/sdb1 创建xfs文件格式;)
1)创建集群
命令格式:icfs-deploy new{host [host], ...}
实例: icfs-deploy newinspur6
说明:其中inspur6 是一个node的hostname,将以 节点 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
说明:复制key到inspur6节点
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,查看集群的容量变化!
测试环境:ceph-deploy的版本是1.5.20,ceph版本是0.87
使用逻辑卷提示ceph-disk 出错
使用逻辑卷提示partx出错
Ceph-deploy在线安装ceph的时候需要很多依赖,需要yum install ceph –skip-broken查看
其他同事完成部署的使用的osd数据和日志都部署在独立硬盘
目前仍然在此环境上没有成功部署ceph,主要卡在osd数据和日志部署