<b>1.4 ceph快速安裝</b>
<b></b>
在ceph官網上提供了兩種安裝方式:快速安裝和手動安裝。快速安裝采用ceph-deploy工具來部署;手動安裝采用官方教程一步一步來安裝部署ceph叢集,過于煩瑣但有助于加深印象,如同手動部署openstack一樣。但是,建議新手和初學者采用第一種方式快速部署并且測試,下面會介紹如何使用ceph-deploy工具來快速部署ceph叢集。
1.4.1 ubuntu/debian安裝
本節将介紹如何使用ceph-deploy工具來快速部署ceph叢集,開始之前先普及一下ceph-deploy工具的知識。ceph-deploy工具通過ssh方式連接配接到各節點伺服器上,通過執行一系列腳本來完成ceph叢集部署。ceph-deploy簡單易用同時也是ceph官網推薦的預設安裝工具。本節先來講下在ubuntu/debian系統下如何快速安裝ceph叢集。
1)配置ceph apt源。
root@localhos`t:~# echo deb http://ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
2)添加apt源key。
root@localhost:~# wget –q –o -'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
3)更新源并且安裝ceph-deploy。
root@localhost:~# sudo apt-get update &&sudo apt-get install ceph-deploy -y
4)配置各個節點hosts檔案。
root@localhost:~# cat /etc/hosts
192.168.1.2 node1
192.168.1.3 node2
192.168.1.4 node3
5)配置各節點ssh無密碼登入,這就是本節開始時講到的ceph-deploy工具要用過ssh方式連接配接到各節點伺服器,來安裝部署叢集。輸完ssh-keygen指令之後,在指令行會輸出以下内容。
root@localhost:~# ssh-keygen
generating public/private key pair.
enter file in which to save the key (/ceph-client/.ssh/id_rsa):
enter passphrase (empty for no passphrase):
enter same passphrase again:
your identification has been saved in /ceph-client/.ssh/id_rsa.
your public key has been saved in /ceph-client/.ssh/id_rsa.pub
6)複制key到各節點。
root@localhost:~# ssh-copy-idnode1
root@localhost:~# ssh-copy-idnode2
root@localhost:~# ssh-copy-idnode3
7)在執行ceph-deploy的過程中會生成一些配置檔案,建議建立一個目錄,例如my-cluster。
root@localhost:~# mkdir my-cluster
root@localhost:~# cd my-cluster
8)建立叢集(cluster),部署新的monitor節點。
root@localhost:~# ceph-deploy new {initial-monitor-node(s)}
例如:
root@localhost:~# ceph-deploy new node1
9)配置ceph.conf配置檔案,示例檔案是預設的,可以根據自己情況進行相應調整和添加。具體優化情況本書後面會介紹。
[global]
fsid = 67d997c9-dc13-4edf-a35f-76fd693aa118
mon_initial_members = node1,node2
mon_host = 192.168.1.2,192.168.1.3
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
filestore_xattr_use_omap = true
<!-----以上部分都是ceph-deploy預設生成的---->
public network = {ip-address}/{netmask}
cluster network={ip-addesss}/{netmask}
<!-----以上兩個網絡是新增部分,預設隻是添加public network,一般生産都是定義兩個網絡,叢集網絡和資料網絡分開-------->
[osd]
……
[mon]
這裡配置檔案不再過多叙述。
10)安裝ceph到各節點。
root@localhost:~# ceph-deploy install {ceph-node}[{ceph-node} ...]
root@localhost:~# ceph-deploy install node1 node2 node3
11)擷取密鑰key,會在my-cluster目錄下生成幾個key。
root@localhost:~# ceph-deploy mon create-initial
12)初始化磁盤。
root@localhost:~# ceph-deploy disk zap {osd-server-name}:{disk-name}
root@localhost:~# ceph-deploy disk zap node1:sdb
13)準備osd。
root@localhost:~# ceph-deploy osd prepare {node-name}:{data-disk}[:{journal-disk}]
root@localhost:~# ceph-deploy osd prepare node1:sdb1:sdc
14)激活osd。
root@localhost:~# ceph-deploy osd activate {node-name}:{data-disk-partition}[:{journal-disk-partition}]
root@localhost:~# ceph-deploy osd activate node1:sdb1:sdc
15)分發key。
root@localhost:~# ceph-deploy admin {admin-node} {ceph-node}
root@localhost:~# ceph-deploy admin node1 node2 node3
16)給admin key賦權限。
root@localhost:~# sudo chmod +r /etc/ceph/ceph.client.admin.keyring
17)檢視叢集健康狀态,如果是active+clean狀态就是正常的。
root@localhost:~# ceph health
安裝ceph前提條件如下。
① 時間要求很高,建議在部署ceph叢集的時候提前配置好ntp伺服器。
② 對網絡要求一般,因為ceph源在外國有時候會被屏蔽,解決辦法多嘗試機器或者代理。
1.4.2 rhel/centos安裝
本節主要講一下在rhel/centos系統下如何快速安裝ceph叢集。
1)配置ceph yum源。
root@localhost:~# vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=cephnoarch packages
baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
2)更新源并且安裝ceph-deploy。
root@localhost:~# yum update &&yum install ceph-deploy -y
3)配置各個節點hosts檔案。
4)配置各節點ssh無密碼登入,通過ssh方式連接配接到各節點伺服器,以安裝部署叢集。輸入ssh-keygen指令,在指令行會輸出以下内容。
5)拷貝key到各節點。
root@localhost:~# ssh-copy-id node1
root@localhost:~# ssh-copy-id node2
root@localhost:~# ssh-copy-id node3
6)在執行ceph-deploy的過程中會生成一些配置檔案,建議建立一個目錄,例如my-cluster。
7)建立叢集(cluster),部署新的monitor節點。
8)配置ceph.conf配置檔案,示例檔案是預設的,可以根據自己情況進行相應調整和添加。具體優化情況本書後面會介紹。
9)安裝ceph到各節點。
10)擷取密鑰key,會在my-cluster目錄下生成幾個key。
11)初始化磁盤。
12)準備osd。
13)激活osd。
14)分發key。
15)給admin key賦權限。
16)檢視叢集健康狀态,如果是 active + clean 狀态就是正常的。