1. 安装Centos 7 -2003 版本的系统
提前yum安装 vim 和 wget (yum install -y vim wget) 后面更换国内源的时候需要使用关闭防火墙systemctl disable firewalldsysytemctl stop firewalld关闭selinuxvim /etc/selinux/config然后将配置SELinux=enforcing改为SELinux=disabled,如下所示。SELINUX=disabled然后,保存并退出文件,为了使配置生效,需要重新启动系统
2.更换Cent os7 默认的源 (三台ceph 需用改用同样的更新源确保所有安装的软件版本一致)
改为国内 阿里云的源 ——参考文章
1. 备份
mv etc/yum.repos.d/CentOS-Base.repo etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 etc/yum.repos.d/
wget -O etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo或者curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3. 运行 yum makecache 生成缓存 运行 yum update 进行更新源
3.添加 阿里云的 ceph源---参考文章(三台ceph 的 ceph 源也需要用同样的确保安装的ceph的版本一致)
vim /etc/yum.repos.d/ceph.repo 将以下内容粘贴进去 (三台都要操作添加ceph源)[ceph]name=cephbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/gpgcheck=0priority=1[ceph-noarch]name=cephnoarchbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/gpgcheck=0priority=1[ceph-source]name=Ceph source packagesbaseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMSgpgcheck=0priority=1:wq (保存 )
这样ceph的源就创建好了
4.更改三台服务器的主机名 以及修改hosts文件 对应的主机名和IP地址
修改主机名
hostnamectl set-hostname ceph1hostnamectl set-hostname ceph2hostnamectl set-hostname ceph3
修改hosts文件
vim /etc/hosts (将每个主机名对应的IP添加进去,三台都要进行操作添加)192.168.13.129 ceph1192.168.13.130 ceph2192.168.13.131 ceph3
修改完后 验证一下 是否生效 使用ping
ping ceph1ping ceph2ping ceph3
5.三台服务器做一下SSH 免密 (这一步只需要在主服务器(ceph1)上操作就可以
ssh-keygen (先生成SSHKEY文件)ssh-copy-id ceph1ssh-copy-id ceph2ssh-copy-id ceph3操作完成后 用ssh ceph2ssh ceph3验证一下看是否能成功登陆到cpeh2 的服务器上
6.在ceph1 主服务器上安装ceph-deploy部署工具
注意:只在ceph1 上安装就可以了 因为它是部署节点,其它两个节点无需安装
yum install ceph-deploy -y
这一步安装完成后,我们查看一下ceph-deploy 的版本的时候 有可能会报错

这个错误是因为我们没有配置 python的 pip所导致的 我们重新安装一下就可以解决
yum -y install python2-pip-8.1.2-5.el7.noarch[root@chep1 ceph]# yum -y install python2-pip-8.1.2-5.el7.noarchLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.comNo package python2-pip-8.1.2-5.el7.noarch available.这一步安装还是报错安装不上pip的话 建议接下来安装一下 epel 然后在安装pipyum -y install epel-releaseyum -y install python-pip
安装成功后 使用 ceph-deploy 就可以显示出目前我们所使用的 ceph 的版本

7.在ceph1 上开始创建集群
建立一个集群配置目录 /注意后面大部分操作都必须cd到此目录内进行操作
mkdir /etc/cephcd /etc/ceph (进入ceph 刚刚创建的目录进行集群配置)ceph-deploy new ceph1
创建成功后看一下 有没有报错的信息 参考下图,如果没有证明集群创建成功

查看 /etc/ceph 目录下是否有以下几个配置文件

vim ceph.cong
8.安装ceph软件
在所有集群服务器节点上安装 ceph 和ceph-radosgw 软件包
yum install ceph ceph-mon ceph-mgr ceph-radosgw ceph-mds -y
(三台服务器节点都需要安装)
如果安装提示以下错误信息 ,
Error: Package: 2:ceph-radosgw-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0()(64bit)Error: Package: 2:librbd1-14.2.11-0.el7.x86_64 (ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0()(64bit)Error: Package: 2:librados2-14.2.11-0.el7.x86_64 (ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0(LIBOATH_1.10.0)(64bit)Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0(LIBOATH_1.10.0)(64bit)Error: Package: 2:ceph-mon-14.2.11-0.el7.x86_64 (ceph)Requires: libleveldb.so.1()(64bit)Error: Package: 2:ceph-osd-14.2.11-0.el7.x86_64 (ceph)Requires: libleveldb.so.1()(64bit)Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0(LIBOATH_1.2.0)(64bit)Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: libleveldb.so.1()(64bit)Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: libbabeltrace.so.1()(64bit)Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: libbabeltrace-ctf.so.1()(64bit)Error: Package: 2:ceph-mgr-14.2.11-0.el7.x86_64 (ceph)Requires: python-bcryptError: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0(LIBOATH_1.2.0)(64bit)Error: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: libleveldb.so.1()(64bit)Error: Package: 2:librgw2-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0()(64bit)Error: Package: 2:ceph-mgr-14.2.11-0.el7.x86_64 (ceph)Requires: python-pecanError: Package: 2:ceph-base-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0(LIBOATH_1.12.0)(64bit)Error: Package: 2:librgw2-14.2.11-0.el7.x86_64 (ceph)Requires: liblttng-ust.so.0()(64bit)Error: Package: 2:ceph-common-14.2.11-0.el7.x86_64 (ceph)Requires: liboath.so.0()(64bit)You could try using --skip-broken to work around the problemYou could try running: rpm -Va --nofiles --nodigest
这时候需要更新安装一下 依赖包 ,就可以完美解决
yum install -y yum-utils && yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && yum install --nogpgcheck -y epel-release && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && rm -f /etc/yum.repos.d/dl.fedoraproject.org*
9 在ceph-deploy 节点上部署 mon (mon是整个ceph集群的控制中心)
ceph-deploy mon create-initial (初始化mon 组件)
初始化完成后 目录下会新增以下几个文件

接着我们使用 ceph-deploy admin 这条命令将配置文件同步至三台服务器
ceph-deploy admin ceph1 ceph2 ceph3 ( 将配置文件同步到 另外两台服务器上)
然后我们用 ceph -s 命令 查看一下 ceph 目前的状态 HEALTH_OK 里面有已经可以看到有一个 mon 的daemons

至此我们的 mon初始化已经完成
10.在ceph-deploy 节点上部署 mgr(mgr是用来监控各个节点的 )
ceph-deploy mgr creat ceph1 (在ceph1上创建 mgr )
无明显报错,就已经安装成功了

使用 ceph -s 检查一下 mgr的状态已经激活

11.添加OSD 硬盘
lsblk (查看目前空闲硬盘的名称sdb)

ceph-deploy osd create ceph1 --data /dev/sdb
添加完成后 ,可以用 ceph -s 看到ceph 集群的状态 已经有 10G 的空间可用

同样的命令 我们把其他两台节点服务器的硬盘也添加进来,这样的话 我们osd硬盘可用的空间 就有 30GB (每台10G)
ceph-deploy osd create ceph2 --data /dev/sdbceph-deploy osd create ceph3 --data /dev/sdb
添加完成同样用 ceph -s 查看一下

此时我们ceph 的集群已经完成部署了 每个节点 10GB 加起来 就是30GB 可用的
下一节,我们来学习 如何把 ceph 挂载到前端的应用上 比如 Seafile / owncloud




