环境

系统:Centos 7(系统最小化安装)

版本:Ceph mimic

系统配置

配置主机名hostname、hosts、关闭firewalld、ssh无密码登录、ntp时间同步等,过程略。

保存下载rpm包,安装或升级的同时保留RPM包。yum 默认情况下,升级或者安装后会删除下载的rpm包。不过,我们也可以设置不删除下载的rpm包。

1
2
3
4


vim/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0



将 keepcache=0 修改为 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。

配置源,使用阿里源

1
2
3


rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo



删除阿里内网地址

1


sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo



创建ceph源

1
2
3
4
5
6
7
8
9
10


echo '
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
priority=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
'>/etc/yum.repos.d/ceph.repo



生成缓存

1


yum clean all && yum makecache



指定安装版本的源

1
2


export CEPH_DEPLOY_REPO_URL=https://mirrors.aliyun.com/ceph/rpm-mimic/el7
export CEPH_DEPLOY_GPG_URL=https://mirrors.aliyun.com/ceph/keys/release.asc



安装Ceph

ceph-node1:Ceph mon+osd节点

ceph-node2:Ceph mon+osd节点

ceph-node3;Ceph mon+osd节点

安装ceph-deploy配置工具

1


yum install -y ceph-deploy



创建配置目录

1


mkdir /etc/ceph && cd /etc/ceph/



初始化Mon配置

1


ceph-deploy new --public-network 192.168.111.0/24 ceph-node{1,2,3}



配置网络,单网卡忽略 修改冗余份数为2,日志大小2G

1
2
3
4
5
6
7
8
9
10


echo '
mon_clock_drift_allowed = 2
osd_journal_size = 4086
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128
osd pool default size = 2
osd pool default min size = 1
rbd_default_features = 1
client_quota = true
'>>./ceph.conf



安装Ceph

1


ceph-deploy install --release mimic ceph-admin ceph-node{1,2,3}



初始化monitor和key

1


ceph-deploy --overwrite-conf mon create-initial



分发拷贝配置及密钥

1
2


chmod 644 /etc/ceph/ceph.client.admin.keyring
ceph-deploy admin ceph-admin ceph-node{1,2,3}



创建存储节点,清空磁盘

1
2
3


ceph-deploy disk zap ceph-node1 /dev/vdb
ceph-deploy disk zap ceph-node2 /dev/vdb
ceph-deploy disk zap ceph-node3 /dev/vdb



查看可用磁盘

1
2
3


ceph-deploy disk list ceph-node1
ceph-deploy disk list ceph-node2
ceph-deploy disk list ceph-node3



创建osd

1
2
3


ceph-deploy --overwrite-conf osd create ceph-node1 --data /dev/vdb 
ceph-deploy --overwrite-conf osd create ceph-node2 --data /dev/vdb
ceph-deploy --overwrite-conf osd create ceph-node3 --data /dev/vdb



创建 ceph mgr 管理进程服务,自12版本启用

1
2
3


ceph-deploy --overwrite-conf mgr create ceph-node1
ceph-deploy --overwrite-conf mgr create ceph-node2
ceph-deploy --overwrite-conf mgr create ceph-node3



创建mon

1
2
3
4
5
6


ceph-deploy --overwrite-conf mon create ceph-node1
ceph-deploy --overwrite-conf admin ceph-node1
ceph-deploy --overwrite-conf mon create ceph-node2
ceph-deploy --overwrite-conf admin ceph-node2
ceph-deploy --overwrite-conf mon create ceph-node3
ceph-deploy --overwrite-conf admin ceph-node3



取消Cephx认证(可选)

把下列配置加入 Ceph 配置文件的 [global] 段下即可禁用 cephx 认证

1
2
3


auth cluster required = none
auth service required = none
auth client required = none



修改后,需要重启 Ceph服务,在每个ceph节点上都需要执行

1
2


systemctl restart ceph-mon.target
systemctl restart ceph-osd.target



启用dashboard (在mon节点)

1


ceph mgr module enable dashboard



设置dashboard的ip和端口

1
2
3


ceph config-key put mgr/dashboard/server_addr ceph-node1
ceph config-key put mgr/dashboard/server_port 8443
systemctl restart ceph-mgr@ceph-node1



生成并安装自签名证书

1
2


# ceph dashboard create-self-signed-cert
Self-signed certificate created



创建具有管理员角色的用户

1
2


# ceph dashboard set-login-credentials admin admin
Username and password updated



登录Web界面

Ceph mimic_centos

制作repo文件

拷贝安装下载的ceph rpm包到指定文件夹

1


find /var/cache/yum/ -name *.rpm | xargs -i cp {} ceph_mimic_rpms/



这里要用到createrepo命令,如果没有此命令需要先安装它

1


yum install createrepo -y



生成一个repodata文件夹

1


createrepo ceph_mimic_rpms/



之后就可以正常离线安装ceph。如果机器无法访问外网,需要事先从​​https://download.ceph.com/keys/release.asc​​ 下载对应的release.asc文件,上传到集群的每一个节点上,执行如下命令:

1


rpm --import './release.asc'



rpm包更新

在使用过程中,可能还需要添加其他rpm包,把rpm包丢到ceph_mimic_rpms/目录下,我们不用重新制作repodata文件,只需要update一下。

1


createrepo --update ceph_mimic_rpms/



本机使用ceph离线源

1
2


mkdir  /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup


在文件 /etc/yum.repos.d/ceph-deploy.repo中添加以下内容,保存

1
2
3
4
5


[LocalCeph]
name=LocalCeph
baseurl=file:///opt/ceph_mimic_rpms //ceph包存放目录
gpgcheck=0
enabled=1



执行下面命令生效

1
2
3


yum clean all
yum makecache
yum list | grep ceph



最后,离线安装ceph,过程同上。

其他机器使用ceph离线源

在ceph源机器上安装nginx,createrepo,reposync

1


yum install nginx createrepo yum-utils -y



在nginx根目录建立文件夹

1


mkdir -p /usr/share/nginx/html/yum/x86_64/ceph/RPMS



启动nginx

1


systemctl enable nginx && systemctl restart nginx



将下载的ceph包放在/usr/share/nginx/html/yum/x86_64/ceph/RPMS目录下

自动生成repodata

1


createrepo -p /usr/share/nginx/html/yum/x86_64/ceph/



在client端创建repo文件ceph-deploy.repo

1
2
3
4
5


[Ceph]
name=Ceph
baseurl=http://server IP/yum/x86_64/ceph
gpgcheck=0
enabled=1



验证

1
2
3


yum clean all
yum makecache
yum list | grep ceph