環(huán)境
ceph版本:(luminous或jewel)
OS: centos 7.5(虛擬機)
準備工作
- 修改主機名和ip地址為一下內容
ceph101: 192.168.56.101
ceph102: 192.168.56.102
ceph103: 192.168.56.103
- 做域名解析
cat /etc/hosts
192.168.56.101 ceph101
192.168.56.102 ceph102
192.168.56.103 ceph103
- 關閉selinux并開放默認通信端口
因為Ceph Monitors之間默認使用 **6789** 端口通信, OSD之間默認用 **6800:7300**這個范圍內的端口通信,因此我們需要開放端口或者禁用防火墻。
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
禁用selinux
sudo vim /etc/selinux/config
SELINUX=disabled
sudo setenforce 0
- NTP同步時間
sudo yum install ntp -y
sudo start ntpd.service
sudo enable ntpd.service
- 安裝ceph-deploy
sudo yum install ceph-deploy -y
開始搭建集群
- 指定安裝版本并配置使用國內源
Luminous版的源:
export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-luminous/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc
Jewel版的源:
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
添加以下內容:
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0
- 創(chuàng)建集群和monitor(至少一個)
mkdir ceph-cluster && cd ceph-cluster
ceph-deploy new ceph101 ceph102 ceph103
- 安裝ceph軟件包
ceph-deploy install --release luminous ceph101 ceph102 ceph103
- 部署初始化mon 和 準備keys
ceph-deploy mon create-initial
- 配置admin key 到每個節(jié)點
ceph-deploy admin ceph101 ceph102 ceph103
- 增加osd并激活
ceph-deploy --overwrite-conf osd prepare ceph101:/dev/sdc ceph102:/dev/sdc ceph103:/dev/sdc
ceph-deploy --overwrite-conf osd activate ceph101:/dev/sdc1 ceph102:/dev/sdc1 ceph103:/dev/sdc1
- 檢查集群狀態(tài)
ceph health
HEALTH_OK
ceph -s
cluster 6e9752bb-0ee5-8338-c0ec-6b388a8d477f
health HEALTH_OK
monmap e1: 2 mons at {docker-rancher-client1=10.142.246.3:6789/0,docker-rancher-server=10.142.246.2:6789/0}
election epoch 8, quorum 0,1 docker-rancher-server,docker-rancher-client1
osdmap e18: 4 osds: 4 up, 4 in
flags sortbitwise
pgmap v182: 64 pgs, 1 pools, 0 bytes data, 0 objects
281 GB used, 3455 GB / 3936 GB avail
64 active+clean
至此,集群部署完畢。
環(huán)境清理
如果中途部署失敗了,不必刪除ceph客戶端,只需要在每個節(jié)點上執(zhí)行如下指令即可將環(huán)境清理至剛安裝完ceph客戶端時的狀態(tài)!
ps aux|grep ceph |awk '{print $2}'|xargs kill -9
ps -ef|grep ceph
#確保此時所有ceph進程都已經關閉?。?!如果沒有關閉,多執(zhí)行幾次。
umount /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/osd/*
rm -rf /var/lib/ceph/mon/*
rm -rf /var/lib/ceph/mds/*
rm -rf /var/lib/ceph/bootstrap-mds/*
rm -rf /var/lib/ceph/bootstrap-osd/*
rm -rf /var/lib/ceph/bootstrap-rgw/*
rm -rf /var/lib/ceph/tmp/*
rm -rf /etc/ceph/*
rm -rf /var/run/ceph/*
常用命令
查看集群狀態(tài)
ceph health 集群健康狀況
ceph status / ceph -s 集群狀態(tài)
ceph df 集群空間利用情況
ceph -w 監(jiān)控集群運行情況
mon&osd啟動方式
#monitor start/stop/restart
#ceph-1為各個monitor所在節(jié)點的主機名。
systemctl start ceph-mon@ceph-1.service
systemctl restart ceph-mon@ceph-1.service
systemctl stop ceph-mon@ceph-1.service
#OSD start/stop/restart
#0為該節(jié)點的OSD的id,可以通過`ceph osd tree`查看
systemctl start/stop/restart ceph-osd@0.service
查看MON狀態(tài)
ceph mon stat MON概況
ceph mon_status MON詳細情況
ceph mon dump 監(jiān)視器運行圖
ceph quorum_status 法定數(shù)量監(jiān)視器狀態(tài)
查看OSD狀態(tài)
ceph osd tree OSD目錄樹
ceph osd stat OSD運行圖概況
ceph osd dump OSD運行圖詳情
ceph osd perf OSD性能概況
ceph osd df OSD空間利用情況
查看存儲池狀態(tài)
rados df 集群及存儲池空間利用情況
ceph osd lspools 存儲池列表
部署MON節(jié)點
ceph-authtool --create-keyring
ceph-authtool --import-keyring
monmaptool --create
ceph-mon --mkfs
刪除MON節(jié)點
ceph mon remove
部署OSD節(jié)點——兩種方式,實現(xiàn)一種即可
1
ceph-disk prepare
ceph-disk activate
---------------------------
2
ceph osd create
ceph-osd
ceph auth add
ceph osd crush add
刪除OSD節(jié)點
ceph osd out
ceph osd crush remove
ceph auth del
ceph osd rm
其他
ceph osd crush reweight 調整OSD權重
添加存儲池
ceph osd pool create
刪除存儲池
ceph osd pool delete
其他
ceph osd pool rename 存儲池改名
ceph osd pool mksnap 創(chuàng)建快照
ceph osd pool rmsnap 刪除快照
ceph osd pool set / get 設置/查看參數(shù)