1. 前期準備
本次安裝環境為:
ceph-master(集群命令分發管控) CentOs7.2 192.168.1.70
ceph-osd1(提供磁盤服務集群) CentOs7.2 192.168.1.71
ceph-osd2(提供磁盤服務集群) CentOs7.2 192.168.1.72
kvm165(監控) CentOs7.2 192.168.1.165 ##后面測試監控也可以安裝在任意osd節點上
ceph是通ssh下發指令。首先配置管理節點可以無密碼訪問存儲節點
配置HostName,使得通過名稱可以互訪
[root@ceph-master ~]# echo"192.168.1.71 ceph-osd1">> /etc/hosts
[root@ceph-master ~]#echo "192.168.1.72 ceph-osd2">> /etc/hosts
生成公鑰
ssh-keygen -t rsa
[root@ceph-master .ssh]# scp~/.ssh/id_rsa.pub root@ceph-osd2:/root/.ssh/authorized_keys
[root@ceph-master .ssh]# scp~/.ssh/id_rsa.pub root@ceph-osd1:/root/.ssh/authorized_keys
SSH登錄測試是否已經免密碼登錄。
關閉防火墻及安全選項
sudo systemctl stop firewall.service
sudo setenforce 0
2. 軟件安裝
#本次安裝參考http://docs.ceph.org.cn/start/quick-start-PReflight/#ceph ceph官方安裝文檔
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*國內的URL鏈接無效,必須使用歐洲源安裝編輯安裝源:sudo vim /etc/yum.repos.d/ceph.repo[ceph-noarch]
name=Ceph noarch packages
#baseurl=http://eu.ceph.com/rpm-firefly/e17/noarch#firefly表示軟件版本,e17表示CentOs7,noarch表示任何CPU都可運行
baseurl=http://eu.ceph.com/rpm-firefly/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://eu.ceph.com/keys/release.asc
安裝ceph部署工具:用于下發ceph配置文件,執行ceph命令。
sudo yum update && sudo yum install ceph-deploy所有節點安裝時間同步服務避免時鐘漂移故障。sudo yum install ntp ntpdate ntp-doc3. 配置節點
[root@ceph-master /]# mkdir /cephconf //ceph-deploy部署工具會在該目錄下生成配置文件用于發放至子節點
[root@ceph-master /]# cd /cephconf
[root@ceph-master cephconf]# ceph-deploynew ceph-osd1 存儲節點1為監控節點 //使用new命令表示該節點為監控節點,根據ceph的算法。監控節點必須為奇數
echo "osd pool default size = 2">>ceph.conf
c
ceph-deploy installceph-master ceph-osd1 ceph-osd2 //為各個節點安裝CEPH
安裝代理過程中可能會報錯:yum-y install epel-release 不能執行,該錯誤是因為網絡不通。對不能安裝成功的節點執行命令重試幾次就可以了。
ceph-deploy mon create-initial //初始化監控節點。初始化執行后會生成加入監控節點的密鑰。該密鑰將會分發至osd節點中。
###############本次使用文件方式創建的提供點,表示/var/local/osd*.這個文件為ceph集群提供存儲資源服務#################
格式化并分區sdb=>將sdb1掛載至/var/local/osd*
其實也可以直接對磁盤掛載,磁盤掛載的原理也是將磁盤分區后創建文件系統掛載。但在本環境由于未知錯誤,直接使用磁盤方式
無法激活成功。
###################################################################################################################
創建存儲節點
ceph-deploy osd prepare ceph-osd1:/var/local/osd0 ceph-osd2:/var/local/osd1 //準備磁盤。ceph-deploy osd activate ceph-osd1:/var/local/osd0 ceph-osd2:/var/local/osd1 //激活磁盤。ceph-deploy admin ceph-master ceph-osd1 ceph-osd2 kvm165 //將配置文件拷貝至各個節點#####################################################################################################################
故障排除:提示無法連接到集群。該問題的出現可能是ceph.conf文件未正確配置以及密鑰文件不正確導致。
(Errorconnecting to cluster: PermissionError)
From monitor node scp /etc/ceph/ceph.client.admin.keyring node1:/etc/ceph //將監控節點的密鑰拷貝到osd節點
From monitor node scp/var/lib/ceph/bootstrap-osd/ceph.keyring node1:/var/lib/ceph/bootstrap-osd //將監控節點的密鑰拷貝到osd節點
同步配置
[root@ceph-master cephconf]#ceph-deploy --overwrite-confadmin ceph-master ceph-osd1 ceph-osd2 //overwrite參數表示覆蓋當前配置
####################################################################################################################
健康檢查,顯示以下信息代表配置正確,可以提供文件服務
[root@ceph-master helloworld]# ceph -s
cluster 025bb684-2292-4bc1-af0e-8d7369d59068
health HEALTH_OK
monmap e1: 1 mons at {kvm165=192.168.1.165:6789/0}
election epoch 2, quorum 0 kvm165
osdmap e17: 5 osds: 3 up, 3 in
pgmap v30: 64 pgs, 1 pools, 0 bytes data, 0 objects
20593 MB used, 5615 GB / 5635 GB avail
64 active+clean
##############################################################################################################
安裝Web管理工具calamari
安裝git
Yum install git
Mkdir /keng && cd /keng
下載源碼[root@ceph-master keng]#git clone https://github.com/ceph/calamari.git
[root@ceph-master keng]#git clone https://github.com/ceph/calamari-clients.git
[root@ceph-master keng]#git clone https://github.com/ceph/Diamond安裝依賴(CentOS7.2 GNOME 環境下缺少的)[root@ceph-master calamari]# yum install selinux-policy-doc[root@ceph-master keng]# yum install selinux-policy-devel[root@ceph-master keng]# yum install httpd[root@ceph-master keng]# yum install postgresql-devel####Centos7默認沒有安裝python-gevent庫或者python-gevent版本>=1.1 會無法構建RPM包。###############解決方法yum -y install epel-releaseyum -y install python-pipyum clean allpip install gevent==1.0##################################生成rpm包[root@ceph-master calamari]# ./buildrpm.sh ##生成rpm包,生成后包位于RPMBUILD下[root@localhost calamari]# yum localinstall rpmbuild/RPMS/x86_64/calamari-server-1.3.3-4_gb6c5652.el7.centos.x86_64.rpm構建calamari-client: ####官方開發版無法打包,原因是無法下載html資源文件。,這里使用已經打包好的。tar xf calamari-clients-20150430.tar.gz
cd calamari-clients/
cp -r login/dist /opt/calamari/webapp/content/login
cp -r manage/dist /opt/calamari/webapp/content/manage
cp -r dashboard/dist/opt/calamari/webapp/content/dashboard
cp -r admin/dist /opt/calamari/webapp/content/admin初始化calamaricalamari-ctl initialize輸入賬號root密碼root################至此,已經可以訪問ceph-server WEB界面。但還沒有集群信息。ceph-server安裝完成后。默認啟動了salt服務,用作于子節點連接######配置salt#######[root@ceph-master /]# vi /etc/salt/minion.d/calamari.confmaster:{ip}#######################構建Diamond包cd Diamondgit checkout origin/calamarimake rpm //在dist目錄下生成diamond-3.4.67-0.noarch.rpm 包所有節點安裝:diamond-3.4.67-0.noarch.rpmyum localinstall diamond-3.4.67-0.noarch.rpm########################此處安裝完成后無法啟動diamond服務,暫不清楚原因####################
新聞熱點
疑難解答