目标如图(其实我是参照英文文档,同时由于国 情的原因加入一些小伎俩,以及自己踩过的坑与大家一起分享)
搭建环境:vmware workstation pro 15
所用系统:centor 7
ceph-deploy --version 2.0.1
ceph version 13.2.4 (b10be4d44915a4d78a8e06aa31919e74927b142e) mimic (stable)
作者:Green77
来源:CSDN
原文:https://blog.csdn.net/greenchess/article/details/77525786
版权声明:本文为博主原创文章,转载请附上博文链接!
过程如下所示
第一步:先安装一台centor7于虚拟机上,等后面安装完EPEL再克隆另外三台节省时间吧。
第二步:设置静态网络,防止重新启动虚拟机时被重新分布ip地址(可参照网上方法,务必能使admin节点能够ssh 到其他三台),下图是我的配置。我是在可视化界面配的,图方便吧,网卡配置给予借鉴。
第三步:Install and enable the Extra Packages for Enterprise Linux (EPEL) repository:
插入EPEL(Linux的拓展包)
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
使用mimic版本(20190202应该是最新版吧)同时修改源(不然龟速甚至连不上),我采用阿里云的,本打算用163的,那天163的镜像库访问不了,小尴尬。。。
也可以用其他源,只要确保
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
中的网址能够访问即可,下面是我的配置
sudo vi /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
退出vi后,输入:
sudo yum update
完成后,关闭虚拟机,克隆该镜像,取名为aiclnode1 aiclnode2 aiclnode3
个人喜好aicl这个词,
在adminnode上加入其他节点的host
**sudo vi /etc/hosts**
ssh-copy-id root@aiclnode1
ssh-copy-id root@aiclnode2
ssh-copy-id root@aiclnode3
对aiclnode1放置mon,那么需要将aiclnode1的节点hostname修改一下
hostnamectl set-hostname aiclnode1
重启一下
reboot now
先创个文件夹在里面搞事情。
mkdir my-cluster
cd my-cluster
创建集群。
ceph-deploy new {initial-monitor-node(s)}
例如:
ceph-deploy new aiclnode1
在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。详情见 ceph-deploy new -h 。
cat ceph.conf
3. 安装 Ceph 。(在这步中如果出现问题,反复执行这一步即可,网上有的说删除某个包即可解决,但我的方法是重复执行,直到全部完成,比较笨,也见仁见智了)
ceph-deploy install {ceph-node} [{ceph-node} …]
例如:
ceph-deploy install aiclnode1 aiclnode2 aiclnode3
ceph-deploy 将在各节点安装 Ceph 。 注:如果你执行过 ceph-deploy purge ,你必须重新执行这一步来安装 Ceph 。
4. 配置初始 monitor(s)、并收集所有密钥:(我在安装的过程中一直卡在这一步,如果出现问题,请看文末解决方法。)
ceph-deploy mon create-initial
完成上述操作后,当前目录里应该会出现这些密钥环:
o {cluster-name}.client.admin.keyring
o {cluster-name}.bootstrap-osd.keyring
o {cluster-name}.bootstrap-mds.keyring
o {cluster-name}.bootstrap-rgw.keyring
只有在安装 Hammer 或更高版时才会创建 bootstrap-rgw 密钥环。
如果此步失败并输出类似于如下信息 “Unable to find /etc/ceph/ceph.client.admin.keyring”,请确认 ceph.conf 中为 monitor 指定的 IP 是 Public IP,而不是 Private IP.
使用ceph-deploy 复制admin key 给 adminnode 主机和另外三个节点
ceph-deploy admin {ceph-node(s)}
For example:
ceph-deploy admin aiclnode1 aiclnode2 aiclnode3
部署管理器守护进程。
该步注意版本(官方原文):Required only for luminous+ builds, i.e >= 12.x builds*
ceph-deploy mgr create aiclnode1
在各节点添加OSD,鉴于官网文档的说明,本人采用在各节点的虚拟机采用添加新硬盘的方式添加OSD.
Vmware为虚拟机添加硬盘https://jingyan.baidu.com/article/63f236284305310208ab3d85.html
在aiclnode1、aiclnode2、aiclnode3上输入
lsblk -ip
可以看到有一个/dev/sdb 的磁盘,我将把他作为osd
sudo ceph-deploy osd create --data /dev/sdb aiclnode1
sudo ceph-deploy osd create --data /dev/sdb aiclnode2
sudo ceph-deploy osd create --data /dev/sdb aiclnode3
**ssh root@aiclnode1 ceph -s**
对于ceph-deploy mon create-initial 运行错误的情况
答:“请先确认 ssh root@aiclnode1 能否访问,若是可以的话,
确认public network是否写入错误,若是有在adminceph 中修改过来并运行
sudo ceph-deploy --overwrite-conf config push aiclnode1 aiclnode2 aiclnode3
如若运行ceph-deploy mon create-initial再此出错,按官网说法就是重装,操作如下
ceph-deploy purgedata aiclnode1 aiclnode2 aiclnode3
ceph-deploy forgetkeys
#用下列命令可以连 Ceph 安装包一起清除(建议做):
**ceph-deploy purge aiclnode1 aiclnode2 aiclnode3**
完成后从 “1. 创建集群” 这一步开始做,我便是按着这个步骤解决这个问题的,希望能帮到大家。”
还有就是如果有的时候提示没有找到某文件诸如钥匙之类,试着有sudo,建议在root用户下进行以上操作
对于[ceph_deploy][ERROR ] RuntimeError: bootstrap-mgr keyring not found; run 'gatherkeys':
#试着用sudo,可能是没有权限的原因。