CentOS 7.2下Ceph的安装和基本配置
###ceph安装篇
一、环境
1、主机分配
osd:2台,各6块硬盘,其中2块做raid1安装系统,其他4块为数据盘
mon:1台,后期扩展为3台
admin:1台
client:1台-N台
2、操作系统及配置
OS:CentOS Linux release 7.2.1511
selinux: disable
firewalld:disable
二、安装
1、安装准备
#添加集群主机列表到所有主机的hosts文件
192.168.1.241 osd1
192.168.1.242 osd2
192.168.1.243 mon1
192.168.1.244 admin
192.168.1.245 client
#集群所有主机名的修改
修改 /etc/hostname 文件 后 reboot 或者
hostnamectl set-hostname admin #心主机名称为 admin
#添加安装和管理用户所有集群主机
useradd ceph-deploy #安装用户可以自定义
echo mobnote | passwd ceph-deploy --stdin # 修改用户密码
#增加sudo权限
cat << EOF >/etc/sudoers.d/ceph-deploy
ceph-deploy ALL = (root) NOPASSWD:ALL
Defaults:ceph-deploy |requiretty
EOF
#切换用户
su - ceph-deploy
#增加ssh公钥登录其他集群主机
ssh-keygen -b 4096 #生成公钥和密钥对,注意要输入密码
##以后每次通过admin主机操作集群时,
##使用ssh-agent bash
##和ssh-add 输入密码后,即可登录其他集群机器
#上述生成的公钥拷贝到其他主机
for node in "admin osd1 osd2 mon1" ;do ssh-copy-id $node ;done
# 更新系统
sudo yum update -y
sudo reboot
2、集群软件安装
#admin 节点安装
#安装ceph软件仓库及相关软件
sudo yum install epel-release -y
sudo yum -y install --enablerepo=extras centos-release-ceph
#安装ceph-deploy软件包
sudo yum install ceph-deploy -y
#安装mon节点
ceph-deploy install --mon mon1
#安装osd节点
ceph-deploy install --osd osd1 osd2
3、集群安装
#生成集群配置文件
ceph-deploy new mon1
#生成3个文件
ceph.conf #集群配置文件
ceph.log #日志文件
ceph.mon.keyring #keyring文件,集群验证用
#修改集群配置文件
cat << EOF >> ceph.conf
#osd_journal_size = 10000 #注释osd日志大小
osd_pool_default_size = 2 #osd修改复制份数为2
osd_pool_default_min_size = 1 #osd最小复制数量为1
osd_crush_chooseleaf_type = 1
osd_crush_update_on_start = true
max_open_files = 131072
osd pool default pg num = 128
osd pool default pgp num = 128
mon_pg_warn_max_per_osd = 0
EOF
#集群初始化
ceph-deploy mon create-initial
# 配置集群的命令行接口
ceph-deploy install --cli admin
ceph-deploy admin admin
4、osd设备安装
#清理osd上磁盘
ceph-deploy disk zap osd1:sdb osd1:sdc osd1:sdd osd1:sde osd2:sdb osd2:sdc osd2:sdd osd2:sde
#准备osd
ceph-deploy osd prepare osd1:sdb osd1:sdc osd1:sdd osd1:sde osd2:sdb osd2:sdc osd2:sdd osd2:sde
#激活osd
ceph-deploy osd activate osd1:sdb1 osd1:sdc1 osd1:sdd1 osd1:sde1 osd2:sdb1 osd2:sdc1 osd2:sdd1 osd2:sde1
5、检查集群情况
sudo ceph health #集群健康状态
sudo ceph -s #
sudo ceph status #集群状态
sudo ceph report # 详细报告
三、安装遇到问题及解决
1、错误1
[ceph][DEBUG ] Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
[ceph][WARNIN] : [Errno -1] 软件包与预期下载的不符。建议:运行 yum --enablerepo=centos-ceph-hammer clean metadata
[ceph][WARNIN] 正在尝试其它镜像。
解决:因为之前执行的yum update 之后没有reboot,reboot后再次执行就OK了。
2、错误2
/etc/init.d/ceph: line 15: /lib/lsb/init-functions: No such file or directory 错误
解决:
yum provides /lib/lsb/init-functions
yum install -y RedHat-lsb-core-4.1-27.el7.centos.1.x86_64
3、问题3
file /etc/yum.repos.d/ceph.repo from install of ceph-release-1-1.el7.noarch conflicts with file from package ceph-release-1-1.el7.noarch
解决:
yum remove ceph-release-1-1.el7.noarch
4、问题4
[ceph][DEBUG ] Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
解决:
yum provides /usr/bin/applydeltarpm
yum info deltarpm-3.6-3.el7.x86_64
yum install deltarpm-3.6-3.el7.x86_64
5、问题5
本次集群的系统安装是采用cobbler自动安装的,原先的主机的raid信息没有清除,由原先的raid5一个vd,修改为3个vd就出现下面错误:
kickstarts 安装过程中出现 『Starting automated install …………………』
之后安装无法继续,一直持续 ……………..
解决:
停止cobbler安装,重启主机,进入原系统用fdisk 删除 分区表信息,reboot再装即可
#出现的该问题之前的步骤,进raid设置,将原先的raid5的一个虚拟磁盘分割为三个