使用ansible工具部署ceph

部署說明:部署ceph使用ansible自動化工具

節點說明

主機

角色

配置

ip地址

是否安裝ansible-ceph

host1

mon,ods,mgr,client

1核cpu,2G內存,系統盤40G,外加兩塊20G硬盤

ens33:192.168.211.144

Host2

osd,client,mgr

1核cpu,2G內存,系統盤40G,外加兩塊20G硬盤

ens33:192.168.211.145

Host3

osd,client

1核cpu,2G內存,系統盤40G,外加兩塊20G硬盤

ens33:192.168.211.146

環境說明:本次操作爲實驗環境,生產環境中osd節點需要佔用大量資源。

角色數量說明:官方推薦mon至少有三個(必須爲奇數),實驗環境一個也可

安裝前準備:關閉firewalld,設置selinux爲disabled狀態,設置ssh免密登錄,配置時鐘同步服務

在安裝ansible節點配置ssh免密登錄

ssh-keygen 生成公鑰(一路回車到底)

ssh-copy-id $host 將公鑰拷貝到剩餘節點上去

配置時鐘同步服務

使用mon節點當做時鐘同步服務器

服務器節點安裝ntp服務

在/etc/ntp.conf添加

server 127.127.1.0

fudge 127.127.1.0 stratum 10

並刪除以下四行

clip_image002[6]

其餘節點安裝ntpdate

yum -y install ntpdate

向ntp服務器同步時間

ntpdate $hostname

1、安裝ansible-ceph

下載ansible項目

使用git下載ansible項目

git clone https://github.com/ceph/ceph-ansible.git

如果找不到git命令,則使用yum安裝

yum -y install git

2、安裝Python環境

安裝epel擴展源

yum -y install epel-release

安裝python環境

yum -y install python2-pip-8.1.2-6.el7.noarch

3、安裝ansible

yum -y install ansible(此步驟會生成/etc/ansible/hosts,第五步也會安裝ansible但是沒有hosts文件生成需要手動指定)

4、創建ansible工作目錄,將下載好的ansible-ceph解壓到工作目錄中

mkdir /ceph

tar -zxvf ceph-ansible-3.1.12.tar.gz -C /ceph/

5、進入工作目錄,下載ansible依賴包

使用python,根據requirements.txt下載ansible依賴包

/ceph/ceph-ansible-3.1.12

pip install -r requirements.txt

6、編寫配置文件指定主機

注:grep命令和參數意爲不顯示指定文件中以‘#’開頭的行和空行

clip_image004[6]

7、備份並改名配置文件

除了site.yml.sample,all.yml.sample是必須要修改的之外,其他文件根據要安裝的角色自行修改

cp site.yml.sample site.yml

cp group_vars/osds.yml.sample group_vars/osds.yml

cp group_vars/clients.yml.sample group_vars/clients.yml

cp group_vars/mons.yml.sample group_vars/mons.yml

cp group_vars/mgrs.yml.sample group_vars/mgrs.yml

cp group_vars/all.yml.sample group_vars/all.yml

8、修改配置文件

clip_image006[6]

參數說明

devices:指定osd使用的硬盤

osd_scenario:啓用並置journal

clip_image008[6]

參數說明:

ceph_repository_type:庫的類型,repository值表示使用一個新庫,而非官方庫

ceph_origin:安裝方式,repository值表示指定使用倉庫安裝,

ceph_repository:選擇使用庫的來源類型(收費版與社區版,或者本地),community爲免費社區版

ceph_mirror:使用的鏡像地址

ceph_stable_key:使用鏡像庫的key

ceph_stable_release:安裝ceph的版本

ceph_stable_repo:安裝ceph的源

monitor_interface:mon使用的網卡

public_network:集羣公網網段

cluster_network:集羣內網網段

另外將所有配置文件裏的copy_admin_key(是否拷貝admin角色的key)參數的參數值改爲true,沒有則不改

9、切換到site.yml所在目錄,部署ceph集羣

ansible-playbook site.yml

查看集羣狀態,驗證是否成功,出現如下圖所示即爲成功。

如若不成功,檢查部署過程中的錯誤信息,做出相應的修改

clip_image010[6]



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章