002.Ceph安裝部署

一 前期準備

1.1 配置規格

005
節點
類型
IP
CPU
內存
ceph-deploy
部署管理平臺
172.24.8.71
2 C
4 G
node1
Monitor OSD
172.24.8.72
2 C
8 G
node2
OSD
172.24.8.73
2 C
8 G
node3
OSD
172.24.8.74
2 C
8 G
Ceph版本:mimic
OS:CentOS 7.5
kernel:4.20.2
關閉防火牆和SELinux;
提示:
Ceph Monitors之間默認使用6789端口通訊,OSD之間默認用6800:7300範圍內的端口通訊。Ceph OSD能利用多個網絡鏈接進行與客戶端、monitors、其餘OSD間的複製和心跳的通訊。若須要開啓防火牆則必須同時放通相應規則,具體操做見:http://docs.ceph.org.cn/rados/configuration/network-config-ref/

1.2 前置準備

  • 全部節點NTP安裝及配置,具體操做略;
  • 全部節點更新環境:
  1 yum -y update
  • deploy節點安裝pip環境:
  1 [root@deploy ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2 [root@deploy ~]# python get-pip.py
 
  • 配置國內yum源:
  1 [root@node1 ~]# rm /etc/yum.repos.d/* -rf
  2 [root@node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  3 [root@node1 ~]# yum -y install epel-release
  4 [root@node1 ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
  5 [root@node1 ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
  6 [root@node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 
提示:以上操做須要在全部節點操做,工具會默認安裝(採用)國外官方源,國內環境建議EPEL和CEPH都替換爲國內源。
  • 部署節點配置主機名:
  1 [root@deploy ~]# vi /etc/hosts
  2 172.24.8.71 deploy
  3 172.24.8.72 node1
  4 172.24.8.73 node2
  5 172.24.8.74 node3
 
提示:主機名應該能正確解析主機名,若管理節點同時也是一個Ceph節點,也要確認能正確解析本身的主機名和IP地址。
  • 配置deploy節點到全部OSD node節點的免祕鑰登陸:
  1 [root@deploy ~]# useradd manager
  2 [root@deploy ~]# echo manager | passwd --stdin manager		#建立非root的管理用戶
  3 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'useradd -d /home/cephuser -m cephuser; echo "cephuser" | passwd --stdin cephuser'; done		        #全部OSD node節點建立cephuser用戶
  4 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser'; done
  5 [root@deploy ~]# for i in {1..3}; do echo "====node${i}====";ssh root@node${i} 'chmod 0440 /etc/sudoers.d/cephuser'; done
  6 [root@deploy ~]# su - manager
  7 [manager@deploy ~]$ ssh-keygen -f ~/.ssh/id_rsa -N ''
  8 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.72
  9 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.73
 10 [manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.74
 
提示:管理節點必須可以經過SSH無密碼地訪問各Ceph節點,建議使用非root用戶;
用戶名 「ceph」 保留給了Ceph守護進程。若Ceph節點上已經存在「ceph」用戶,升級前必須先刪掉這個用戶。
  1 [manager@deploy ~]$ vi ~/.ssh/config	        #修改ceph-deploy管理節點上~/.ssh/config文件
  2 Host node1
  3    Hostname node1
  4    User cephuser
  5 Host node2
  6    Hostname node2
  7    User cephuser
  8 Host node3
  9    Hostname node3
 10    User cephuser
 11 [manager@deploy ~]$ chmod 600 .ssh/config
 12 [manager@deploy ~]$ ssh node1			#測試
 13 [cephuser@node1 ~]$ exit
 
提示:修改config後deploy節點所建的用戶名登陸Ceph節點無需每次指定 --username cephuser ,簡化了ssh和scp的用法。

1.3 部署需求

首先建立一個Ceph存儲集羣,它有一個Monitor和三個OSD守護進程,Monitor節點也做爲OSD節點。

二 正式部署

2.1 部署deploy節點

  1 [root@deploy ~]# cat << EOM > /etc/yum.repos.d/ceph.repo
  2 [ceph-noarch]
  3 name=Ceph noarch packages
  4 baseurl=https://download.ceph.com/rpm-mimic/el7/noarch
  5 enabled=1
  6 gpgcheck=1
  7 type=rpm-md
  8 gpgkey=https://download.ceph.com/keys/release.asc
  9 EOM
提示:國內也可採用阿里源,參考以下:
  1 [root@deploy ~]# vi /etc/yum.repos.d/ceph.repo
  2 [ceph-noarch]
  3 name=Ceph noarch packages
  4 baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
  5 enabled=1
  6 gpgcheck=1
  7 type=rpm-md
  8 gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
  1 [root@deploy ~]# yum install -y ceph-deploy

2.2 建立集羣

  1 [root@deploy ~]# su - manager
  2 [manager@deploy ~]$ mkdir my-cluster
  3 [manager@deploy ~]$ cd my-cluster/
  4 [manager@deploy my-cluster]$ ceph-deploy new node1
  5 [manager@deploy my-cluster]$ ll
 
006
提示:該目錄存在一個 Ceph 配置文件、一個 monitor 密鑰環和一個日誌文件。

2.3 安裝Ceph

  1 [manager@deploy my-cluster]$ ceph-deploy install node1 node2 node3
007
提示:ceph-deploy將在各節點安裝Ceph,若部署過程出現異常,可經過如下命令清除相應配置,從而從新部署:
ceph-deploy purgedata node1 node2 node3
ceph-deploy forgetkeys
rm ceph.*
或用如下命令將安裝包也一併清除:
ceph-deploy purge node1 node2 node3
注意:若是你執行過 ceph-deploy purge ,你必須從新執行這一步來安裝Ceph;
若出現如下報錯,多是版本不兼容,可經過yum -y remove ceph-release卸載後從新執行install。
008
注意:若使用ceph-deploy部署的時候出現安裝包沒法下載,可在部署時候指定ceph.repo爲國內源:
  1 ceph-deploy install node1 node2 node3 --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc

2.4 初始化monitor

  1 [manager@deploy my-cluster]$ ceph-deploy mon create-initial	#初始monitor、並收集全部密鑰
  2 [manager@deploy my-cluster]$ ll
 
009

2.5 部署MGR

  1 [manager@deploy my-cluster]$ ceph-deploy mgr create node1 node2 node3
提示:ceph12版本以後,就須要爲集羣部署mgr服務,Ceph-Mgr將做爲Ceph集羣的管理進程,負責整個集羣的管理操做和監控。

2.6 複製key

  1 [manager@deploy my-cluster]$ ceph-deploy admin node1 node2 node3
提示:爲方便後期deploy節點管理node一、node二、node3,在CLI中使用命令中簡化相關key的輸出,可將key複製至相應節點。

2.7 添加OSD

  1 [manager@deploy my-cluster]$ ceph-deploy disk list node1 node2 node3	        #列出磁盤
  2 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node1
  3 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node2
  4 [manager@deploy my-cluster]$ ceph-deploy osd create --data /dev/sdb node3
 
提示:生產環境強烈強烈不建議在單分區單硬盤上運行多個OSD;
強烈不建議在運行OSD的單分區硬盤上同時運行監視器或元數據服務器,即OSD建議採用獨立的硬盤,且OSD及其日誌使用獨立硬盤或分區。
當前官方彷佛已經不支持指定不一樣目錄弄多個OSD節點的形式。

2.8 檢測健康狀態

  1 [manager@deploy my-cluster]$ ssh node1 sudo ceph health
  2 [manager@deploy my-cluster]$ ssh node1 sudo ceph -s
 
010
提示:若出現以下mgr沒有active的warn提示,是由於沒有添加mgr,集羣處於WARN狀態。可參考2.5步驟部署MGR。

2.9 開啓dashboard

  1 [root@node1 ~]# ceph mgr module enable dashboard			#開啓dashboard模塊
  2 [root@node1 ~]# ceph dashboard create-self-signed-cert
 
提示:默認狀況下,dashboard的全部HTTP鏈接均使用SSL/TLS進行保護。以上內置命令可快速生成並安裝自簽名證書。
  1 [root@node1 ~]# ceph dashboard set-login-credentials admin admin	#建立管理員
  2 [root@node1 ~]# ceph mgr services					#確認驗證
 
011
提示:以上操做在node1節點操做便可。
瀏覽器訪問:https://172.24.8.72:8443
012
參考官方文檔:http://docs.ceph.org.cn/start/quick-start-preflight/
相關文章
相關標籤/搜索