用Vmware虛擬機新建4臺機進行實驗,主要是爲了對ceph有直觀的認識。 node
1、 準備5臺主機 bootstrap
IP地址 主機名(Hostname) centos
192.168.xxx.xxx admin-node (該主機用於管理,後續的ceph-deploy工具都在該主機上進行操做) ssh
192.168.xxx.xxx node1 (監控節點) 工具
192.168.xxx.xxx node2 (osd.0節點) centos7
192.168.xxx.xxx node3 (osd.1節點) spa
2、在虛擬機上安裝 centos7操做系統 操作系統
修改更新centos7的源 命令行
中科大源: 1.基源 2.ceph源 code
3、配置你的管理主機,使之可經過 SSH無密碼訪問各節點,口令留空。生成 SSH 密鑰對,執行ssh-keygen命令
把公鑰拷貝到各節點: :ssh-copy-id root@ceph-server 這裏直接用root用戶,用root帳戶能避免不少權限問題。
4、安裝ceph-deploy,centos7系統中配置好上面的源後,執行yum install ceph-deploy 即可安裝
5、$mkdir my-cluster $cd my-cluster
6、ceph-deploy new monitorNode1, monitorNode2
[須要創建monitor的節點才進行new]執行該命令後將在當前目錄生產ceph.conf 文件
7、利用ceph-deploy爲各節點安裝ceph
$ceph-deploy install cephAdmin,node1,node2,node3
8、配置初始 monitor(s)、並收集全部密鑰:
$ceph-deploy mon create-initial
完成上述操做後,當前目錄裏應該會出現這些密鑰環:
9、添加兩個 OSD
$ ssh node2 $ mkdir /var/local/osd0 $exit
$ssh node3 $ mkdir /var/local/osd1 $exit
10、從管理節點執行 ceph-deploy 來準備 OSD
$ ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1
11、激活 OSD
$ ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1
【備註:若是在進行激活時出現鏈接超時,沒法正常激活時,須要將各節點的防火牆關閉.
$systemctl staus firewalld $systemctl stop firewalld $setenforce 0
當出現權限錯誤時: ERROR: error creating empty object store in /var/local/osd1: (13) Permission denied,須要進行權限操做à $ chmod –R 777 /var/local/osd1/
】
12、用 ceph-deploy 把配置文件和 admin 密鑰拷貝到管理節點和 Ceph 節點,這樣你每次執行 Ceph 命令行時就無需指定 monitor 地址和 ceph.client.admin.keyring 了。
$ ceph-deploy admin admin-node node1 node2 node3
十3、部署了兩個osd後,進行健康情況查詢:$ ceph health
會出現 HEALTH_WARN 64 pgs degraded; 64 pgs stuck unclean; 64 pgs undersized 此健康警告提示osd不平衡。
解決方法:
一、擴展集羣,再增長一個osd。 $ssh node1 $mkdir /var/local/osd2 $exit $ceph-deploy osd prepare node1:/var/local/osd2 $ceph-deploy osd activate node1:/var/local/osd2
二、把 Ceph 配置文件裏的默認副本數從 3 改爲 2 ,這樣只有兩個 OSD 也能夠達到 active + clean 狀態。把下面這行加入 [global] 段:
osd pool default size = 2
十4、最後執行ceph health將獲得 HEALTH_OK