Ceph 的安装与扩容
开源pacific版Ceph部署
部署手册:
https://min2000.lanzoul.com/iJHRg2a7rlmf
密码:CL260
如果没有安装ceph-common,可以通过yum -y install ceph-common 安装,或通过下面这种方法,进入到容器,输入ceph 相关的命令,例如ceph -s 查看ceph 集群的状态:
这是开机的时候自动执行的脚本,其实就是在启动容器。
这样就可以看到mon 节点的日志。
运行容器的镜像。
这是ceph 集群的配置数据。
这是mon 的配置和它的keyring
这个目录在ceph 集群排错的时候有用,中间那一串字母和数字的组合是集群的id,再下一级目录是节点的名称。
yum -y install ceph-common
su -
每启动一个osd,物理机就多一个逻辑卷和容器。
这条命令可以将集群内所有节点的未使用的磁盘做成osd
这是ceph 服务端与客户端版本不一致导致出现这个告警,在生产环境中应尽量保持两者版本一致,也可以选择忽略这个告警。
这个ceph 集群的pool 1 资源池是一个3 副本的复制池,这个pg 必须要能够选中3 个不同的节点的其中一个osd 上才能是active(可用)的状态。
这里添加节点报错提示:名称或服务未知;
如果你运行ceph 集群的容器内部没有配置host 解析,这条命令在外部主机是不能够正确解析的,既然指定主机名不能解析,还可以在后面指定ip 地址:
添加mgr 节点中... 部署有点慢
这样会变成默认数量。
mgr 删不掉,就算提示删除成功,过一会儿又会重新部署回来;
因为mgr 开启了自动扩展,且必须部署在node2 和node3 上。
这样就删除成功了。
这是已经从osdmap 里面删除了,接着从crushmap 里面删除这个osd
所以从ceph 集群里面移除一个osd,要先从osdmap 里面删,再从crushmap里面删;
但是移除下来的磁盘,是否就能够直接正常使用了呢?
lsblk
日志没有看到明显报错
容器没有起来,原因很简单,就是硬盘不干净
这样就把磁盘擦除干净了。
容器的进程已经移除了,集群还没有反应过来,需要等待一段时间恢复正常状态。
还需要等待一段时间自动从node2 上删除mgr
_admin
标签打给管理节点,对于集群来说没有任何特殊的含义,只是方便给管理员看的,通常部署ceph 集群的第一个节点称为管理节点,每个节点也都可以成为管理节点,它有一个专门的客户端工具可以连接上来管理ceph 集群;一个节点可以打上多个标签。
RHCS 5.0 部署
将红帽教室环境中已经存在的rhcs 集群销毁。
在生产环境上,红帽的rhcs 源是收费的, 它的baseurl 肯定不是这个图中的这个url,这只是一个教室环境,用来学习实验的,这个repo 源其实是通过一个ansible playbook 自动配置得到的。
这里是关闭mon 组件的自扩展功能,由管理员手动管理。
当前3 个osd 都在同一台主机上,这个pg 只能选中这个节点上的其中一个osd,默认的资源池是副本池,需要有几个主机上的osd 加入资源池才可以用,所以这个pg 变成不可用的状态,资源池降级了。
使用cephadm 这种部署方式,还可以指定这样一个参数,准备好一个playbook,把要加入的节点的主机名和ip 地址都写进去,在部署的时候就可以把你想要加入的节点加入进来,这在开源的版本同样支持,只是很少有人这样做。