ceph集群搭建
一、安装前准备:1.系统:Centos7.4 x64
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2.主机:
主机名
地址
角色
ceph-node1
10.0.70.40
Deploy、mon1、osd*2
ceph-node2
10.0.70.41
mon1、osd*2
ceph-node3
10.0.70.42
mon1、osd*2
3.三台主机,每台主机有两个磁盘(磁盘大于100G)
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K0 disk
sda 8:0 01000G0 disk
├─sda1 8:1 0 1G0 part /boot
└─sda2 8:2 0 999G0 part
├─cl-root 253:0 0 50G0 lvm/
├─cl-swap 253:1 0 7.9G0 lvm
└─cl-home 253:2 0 941.1G0 lvm/home
sdb 8:16 01000G0 disk
sdc 8:32 01000G0 disk
域名解析
ssh-keygen #配置ceph-1到其他ceph节点的无密码访问
ssh-copy-id root@ceph-node1
ssh-copy-id root@cdph-node2
ssh-copy-id root@ceph-node3vim /etc/hosts #拷贝解析到所有站点
10.0.70.40 ceph-node1
10.0.70.41 ceph-node2
10.0.70.42 ceph-node3
scp /etc/hosts root@ceph-node2:/etc/
scp /etc/hosts root@ceph-node3:/etc/
yum源配置
yum clean all
rm -rf /etc/yum.repos.d/*.repo
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
sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
vim /etc/yum.repos.d/ceph.repo
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
scp /etc/yum.repos.d/ceph.repo root@ceph-node2:/etc/yum.repos.d/ #拷贝镜像到所有站点
scp /etc/yum.repos.d/ceph.repo root@ceph-node3:/etc/yum.repos.d/
yum install hdparmceph ceph-radosgw rdate-y #安装ceph客户端(所有节点)
hdparm -W 0 /dev/sda #关闭写缓存
rdate -s time-a.nist.gov #同步时间
echo rdate -s time-a.nist.gov >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
二、集群部署
1.管理节点部署
yum install ceph-deploy -y
mkdir ~/cluster #创建my-cluster目录存放配置文件与秘钥
cd~/cluster #每次执行ceph-deploy命令最好都在这目录下执行
ceph-deploy new ceph-node1 ceph-node2 ceph-node3 #以node1为MON创建ceph.conf文件与秘钥
echo "osd_pool_default_size" = 2 >> ~/cluster/ceph.conf #设置默认的副本数
echo public_network=10.0.70.20/24 >> ~/cluster/ceph.conf #根据自己的IP配置向ceph.conf中添加public_network
echo mon_clock_drift_allowed = 2 >> ~/cluster/ceph.conf #增大mon之间时差允许范围
cat~/cluster/ceph.conf
osd_pool_default_size = 2
public_network=10.0.70.20/24
mon_clock_drift_allowed = 2
开始部署monitor
ceph-deploy mon create-initial
开始部署OSD:
ceph-deploy --overwrite-conf osd prepare ceph-node1:/dev/sdb ceph-node1:/dev/sdc ceph-node2:/dev/sdb ceph-node2:/dev/sdcceph-node3:/dev/sdb ceph-node3:/dev/sdc --zap-disk
ceph-deploy --overwrite-conf osd activate ceph-node1:/dev/sdb1 ceph-node1:/dev/sdc1ceph-node2:/dev/sdb1 ceph-node2:/dev/sdc1ceph-node3:/dev/sdb1 ceph-node3:/dev/sdc1
查看集群状态
# ceph -s
cluster 466e0a3e-f351-46f3-94a2-5ea976c26fd8
health HEALTH_WARN
15 pgs peering
2 pgs stuck unclean
too few PGs per OSD (21 < min 30)
monmap e1: 3 mons at {ceph-node1=10.0.70.40:6789/0,ceph-node2=10.0.70.41:6789/0,ceph-node3=10.0.70.42:6789/0}
election epoch 4, quorum 0,1,2 ceph-node1,ceph-node2,ceph-node3
osdmap e47: 6 osds: 6 up, 6 in; 9 remapped pgs
flags sortbitwise,require_jewel_osds
pgmap v125: 64 pgs, 1 pools, 0 bytes data, 0 objects
203 MB used, 5966 GB / 5967 GB avail
49 active+clean
9 remapped+peering
6 peering 查看OSD
# ceph osd tree
ID WEIGHTTYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 5.82715 root default
-2 1.94238 host ceph-node1
0 0.97119 osd.0 up1.00000 1.00000
1 0.97119 osd.1 up1.00000 1.00000
-3 1.94238 host ceph-node2
2 0.97119 osd.2 up1.00000 1.00000
3 0.97119 osd.3 up1.00000 1.00000
-4 1.94238 host ceph-node3
4 0.97119 osd.4 up1.00000 1.00000
5 0.97119 osd.5 up1.00000 1.00000
问题1:
admin_socket: exception getting command descriptions: No such file or directory
mon.ceph-1 monitor is not yet in quorum, tries left: 5
waiting 5 seconds before retrying
解决:
主机名和hosts对应即可
页:
[1]