虛擬機建立三臺服務器,CENTOS版本爲7.6, IP網端10.10.20.0/24。三臺主機名稱爲:node
系統配置工做, 三臺節點依次執行:python
修改主機名稱
[root@CENTOS7-1 ~]# vi /etc/hostnamelinux
CENTOS7-1
編輯hosts文件centos
10.10.20.11 CENTOS7-1 10.10.20.12 CENTOS7-2 10.10.20.13 CENTOS7-3
注意, 這裏面的主機名稱要和節點名稱保持一致, 不然安裝的時候會出現問題服務器
修改yum源
vi /etc/yum.repos.d/ceph.repo, 爲避免網速過慢問題, 這裏採用的是清華鏡像源:ssh
[Ceph] name=Ceph packages for $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc [Ceph-noarch] name=Ceph noarch packages # 官方源 #baseurl=http://download.ceph.com/rpm-mimic/el7/noarch # 清華源 baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc [ceph-source] name=Ceph source packages baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/ enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc
安裝ceph與ceph-deploy組件工具
yum update && yum -y install ceph ceph-deploy
安裝完成, 若是執行ceph-deploy出現ImportError: No module named pkg_resourcesurl
安裝python2-pip: yum -y install python2-pipcentos7
安裝NTP時間同步工具spa
yum install ntp ntpdate ntp-doc -y
確保時區是正確, 設置開機啓動:
systemctl enable ntpd
並將時間每隔1小時自動校準同步。編輯 vi /etc/rc.d/rc.local 追加:
/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
配置定時任務, 執行crontab -e 加入:
0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
官方建議不用系統內置用戶, 建立名爲ceph_user用戶, 密碼也設爲ceph_user:
useradd -d /home/ceph_user -m ceph_user passwd ceph_user
設置sudo權限
echo "ceph_user ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph_user sudo chmod 0440 /etc/sudoers.d/ceph_user
一、2兩個步驟依次在三臺機器上執行。
接下來在主節點, 繼續執行:
生成密鑰:
切換用戶: su ceph_user
執行ssh-keygen,一直按默認提示點擊生成RSA密鑰信息。
分發密鑰至各機器節點
ssh-copy-id ceph_user@CENTOS7-1 ssh-copy-id ceph_user@CENTOS7-2 ssh-copy-id ceph_user@CENTOS7-3
修改管理節點上的 ~/.ssh/config
文件, 簡化SSH遠程鏈接時的輸入信息:
管理節點是會有root和ceph_user多個用戶, ssh遠程鏈接默認會以當前用戶身份進行登錄,
若是咱們是root身份進行遠程鏈接, 仍是須要輸入密碼, 咱們想簡化, 該怎麼處理?
切換root身份,
su root
修改~/.ssh/config 文件
Host CENTOS7-1 Hostname CENTOS7-1 User ceph_user Host CENTOS7-2 Hostname CENTOS7-2 User ceph_user Host CENTOS7-3 Hostname CENTOS7-3 User ceph_user
注意修改文件權限, 不能採用777最大權限:
chmod 600 ~/.ssh/config
進行ssh遠程鏈接時, Host的主機名稱是區分大小寫的, 因此要注意配置文件的主機名稱。
開放端口, 非生產環境, 能夠直接禁用防火牆:
systemctl stop firewalld.service systemctl disable firewalld.service
SELINUX設置
SELinux設爲禁用:
setenforce 0
永久生效:
編輯 vi /etc/selinux/config修改:
SELINUX=disabled
採用root身份進行安裝
在管理節點建立集羣配置目錄,cd /usr/local:
mkdir ceph-cluster cd ceph-cluster
注意: 此目錄做爲ceph操做命令的基準目錄, 會存儲處理配置信息。
建立集羣, 包含三臺機器節點:
ceph-deploy new CENTOS7-1 CENTOS7-2 CENTOS7-3
建立成功後, 會生一個配置文件。
若是接下來集羣的安裝配置出現問題, 能夠執行如下命令清除, 再從新安裝:
ceph-deploy purge CENTOS7-1 CENTOS7-2 CENTOS7-3 ceph-deploy purgedata CENTOS7-1 CENTOS7-2 CENTOS7-3 ceph-deploy forgetkeys
將三臺節點的mon信息也刪除
rm -rf /var/run/ceph/
修改配置文件, 有些配置後面需用到:
vi /usr/local/ceph-cluster/ceph.conf
加入:
[global] public network = 10.10.20.0/24 # 設置pool池默認分配數量 osd pool default size = 2 # 容忍更多的時鐘偏差 mon clock drift allowed = 2 mon clock drift warn backoff = 30 # 容許刪除pool mon_allow_pool_delete = true [mgr] # 開啓WEB儀表盤 mgr modules = dashboard
第一項爲副本數, 設爲2份。
第二項爲對外IP訪問網段,注意根據實際IP修改網段。
第3、四項爲容許必定時間的漂移偏差。
執行安裝:
ceph-deploy install CENTOS7-1 CENTOS7-2 CENTOS7-3
若是出現錯誤:
ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version
能夠在各節點上單獨進行安裝:
yum -y install ceph
若是沒有倉庫文件ceph.repo, 按上面的步驟手工建立。
初始monitor信息:
ceph-deploy mon create-initial
執行完成後, 會生成如下文件:
同步管理信息:
下發配置文件和管理信息至各節點:
ceph-deploy admin CENTOS7-1 CENTOS7-2 CENTOS7-3
安裝mgr(管理守護進程), 大於12.x版本需安裝, 咱們裝的是最新版,需執行:
ceph-deploy mgr create CENTOS7-1 CENTOS7-2 CENTOS7-3
安裝OSD(對象存儲設備)
注意: 新版本的OSD沒有prepare與activate命令。
這裏須要新的硬盤做爲OSD存儲設備, 關閉虛擬機, 增長一塊硬盤, 不用格式化。
重啓, fdisk -l 查看新磁盤名稱:
執行建立OSD命令:
ceph-deploy osd create --data /dev/sdb CENTOS7-1
三臺節點都需分別依次執行。
驗證節點:
輸入ceph health 或 ceph -s查看, 出現HEALTH_OK表明正常。
經過虛擬機啓動, 若是出現錯誤:
[root@CENTOS7-1 ~]# ceph -s cluster: id: 0ec99aa9-e97e-43d3-b5b9-90eb21c4abff health: HEALTH_WARN 1 filesystem is degraded 1 osds down 1 host (1 osds) down Reduced data availability: 41 pgs inactive Degraded data redundancy: 134/268 objects degraded (50.000%), 22 pgs degraded, 87 pgs undersized 39 slow ops, oldest one blocked for 2286 sec, daemons [osd.0,mon.CENTOS7-2,mon.CENTOS7-3] have slow ops. clock skew detected on mon.CENTOS7-2, mon.CENTOS7-3 services: mon: 3 daemons, quorum CENTOS7-1,CENTOS7-2,CENTOS7-3 mgr: centos7-1(active), standbys: centos7-3, centos7-2 mds: fs_test-1/1/1 up {0=centos7-1=up:replay} osd: 3 osds: 1 up, 2 in data: pools: 9 pools, 128 pgs objects: 134 objects, 64 KiB usage: 1.0 GiB used, 19 GiB / 20 GiB avail pgs: 32.031% pgs unknown 134/268 objects degraded (50.000%) 65 active+undersized 41 unknown 22 active+undersized+degraded
在各節點執行命令, 確保時間同步一致:
ntpdate ntp1.aliyun.com
開啓dashboard模塊
ceph mgr module enable dashboard
生成簽名
ceph dashboard create-self-signed-cert
建立目錄
mkdir mgr-dashboard
[root@CENTOS7-1 mgr-dashboard]# pwd /usr/local/ceph-cluster/mgr-dashboard
生成密鑰對
cd /usr/local/ceph-cluster/mgr-dashboard
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
[root@CENTOS7-1 mgr-dashboard]# ll total 8 -rw-rw-r-- 1 ceph_user ceph_user 1155 Jul 14 02:26 dashboard.crt -rw-rw-r-- 1 ceph_user ceph_user 1704 Jul 14 02:26 dashboard.key
啓動dashboard
ceph mgr module disable dashboard ceph mgr module enable dashboard
設置IP與PORT
ceph config set mgr mgr/dashboard/server_addr 10.10.20.11 ceph config set mgr mgr/dashboard/server_port 18843
關閉HTTPS
ceph config set mgr mgr/dashboard/ssl false
查看服務信息
[root@CENTOS7-1 mgr-dashboard]# ceph mgr services { "dashboard": "https://10.10.20.11:8443/" }
設置管理用戶與密碼
ceph dashboard set-login-credentials admin admin
訪問
經過後臺訪問能夠看到整個集羣的運行狀態和節點數量等信息,HEALTH_OK表明處於正常。
本文由mirson創做分享,如需進一步交流,請加QQ羣:19310171或訪問www.softart.cn