ceph-ansible中怎么快速部署ceph

本篇文章給大家分享的是有關ceph-ansible 中怎么快速部署 ceph,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

公司主營業(yè)務:網(wǎng)站制作、網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出河北免費做網(wǎng)站回饋大家。

1 準備實驗環(huán)境

1.1 基礎環(huán)境

  • 操作系統(tǒng):CentOS 7.6, 需要 4 個節(jié)點(1 monitor + 3 osd node)或者 6 個節(jié)點(3 monitor +3 osd node), 當然 monitor 也可以部署在 osd node 上。

  • ceph版本:Luminous(12.2.11),使用 centos 官方 storage repo 里的版本

  • ansible 版本: 2.6.16 (可使用 virtualenv 和 pip 安裝, 版本必須與 ceph-ansible 要求匹配)

  • ceph-ansible 版本: 3.2.15 (直接在 github 上 下載相應的版本)

  • 集群網(wǎng)絡(cluster network): 192.168.122.0/24, 用于集群內(nèi)數(shù)據(jù)同步及存儲管理

  • 服務網(wǎng)絡(public network) : 10.0.122.0/24, 用于客戶端讀寫數(shù)據(jù)

1.2 準備節(jié)點

準備 7 ceph個集群節(jié)點,3個 monitor 節(jié)點,3 個 osd 節(jié)點,1 個 admin 節(jié)點,每個節(jié)點雙網(wǎng)卡,ip配置如下

節(jié)點         cluster ip       public ip
--------------------------------------
mon-11                        192.168.122.11  
mon-12                        192.168.122.12
mon-13                        192.168.122.13
osd-21      10.0.122.21       192.168.122.21
osd-22      10.0.122.22       192.168.122.22
osd-23      10.0.122.23       192.168.122.23
admin-node                    192.168.122.100
--------------------------------------

monitor 節(jié)點是不需要 cluster ip 的,它只需要 public network。因為我們要在線軟件源,因此 public network 一定要能訪問公網(wǎng)。

admin-node 做部署節(jié)點,安裝 ansible 和 ceph-ansible

在 admin-node 節(jié)點上配置 /etc/hosts

192.168.122.11   mon-11
192.168.122.12   mon-12
192.168.122.13   mon-13
192.168.122.21   osd-21
192.168.122.22   osd-22
192.168.122.23   osd-23

在 admin-node 配置與 6 個ceph節(jié)點的 ssh 免密登錄,例如:

# ssh-keygen
# ssh-copy-id root@mon-11

禁用 firewalld

# systemctl stop firewalld
# systemctl disable firewalld

禁用 selinux,重使其生效

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# reboot

1.3 準備磁盤

以下是一個 osd 節(jié)點上的磁盤列表, 其中 vda 是操作系統(tǒng)所在的盤。

sda               8:0    0  100G  0 disk 
sdb               8:16   0  100G  0 disk 
sdc               8:32   0  100G  0 disk 
sdd               8:48   0   20G  0 disk 
vda             252:0    0   40G  0 disk 
├─vda1          252:1    0    1G  0 part /boot
└─vda2          252:2    0   39G  0 part 
  ├─centos-root 253:0    0   35G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]

ceph luminous 已經(jīng)支持 bluestore 作為后端,但是我們這次還是使用 filestore。 其中 sda、sdb、sdc 作為 osd 盤,每塊盤 100G, sdd 做 journal 盤,大小 20G

1.4 獲取軟件包

所有的集群節(jié)點上上,安裝如下軟件:

# yum install centos-release-luminous-*   epel-release -y

安裝完成以后,刷新源索引

# yum repolist

1.5 獲取ansible 和 ceph-ansible

在 admin-node 上進行如下操作

安裝 anible

$ yum install python-pip -y
$ pip install ansible==2.6.16

獲取 ceph-ansible 并解壓

$ wget https://codeload.github.com/ceph/ceph-ansible/zip/v3.2.15

創(chuàng)建 ansible_hosts 文件, 復制到 ceph-ansible 文件夾

[ceph:children]
mons
osds

[mons]
mon-11
mon-12
mon-13

[osds]
osd-21
osd-22
osd-23

2 配置 ceph-ansible

打開解壓后的ceph-ansible

# cp   site.yml.sample   site.yml

編輯 site.yml 文件, 更改開頭的目標節(jié)點組,只保留 mons 和 osds

---
# Defines deployment design and assigns role to server groups

- hosts:
  - mons
  - osds
#  - mdss
#  - agents
#  - mgrs
#  - rgws
#  - nfss
#  - restapis
#  - rbdmirrors
#  - clients
#  - iscsigws
#  - iscsi-gws # for backward compatibility only!

打開 group_vars 目錄, 拷貝模板文件

# cd group_vars
# cp all.yml.sample all.yml
# cp mons.yml.sample mons.yml
# cp osds.yml.sample osds.yml

編輯 all.yml 文件, 我只做了如下更改,也許不用改這么多。另外 monitor 節(jié)點必須用 public ip,因為要面向客戶端提供服務。

# Inventory host group variables
mon_group_name: mons
osd_group_name: osds

############
# PACKAGES #
############
centos_package_dependencies:
  - python-pycurl
  - epel-release
  - python-setuptools
  - libselinux-python

upgrade_ceph_packages: False

#ceph_use_distro_backports: false # DEBIAN ONLY

###########
# INSTALL #
###########
#ceph_repository_type: dummy

ceph_origin: distro


## Monitor options
monitor_interface: eth2
#monitor_address: 0.0.0.0
monitor_address_block: 10.0.122.0/24

## OSD options
journal_size: 3072 # OSD journal size in MB
#block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'.
public_network: 10.0.122.0/24
cluster_network: 192.168.122.0/24
#osd_mkfs_type: xfs
#osd_mkfs_options_xfs: -f -i size=2048
#osd_mount_options_xfs: noatime,largeio,inode64,swalloc
osd_objectstore: filestore

編輯 osds.yml 文件,里面有幾種情景,我們用的是情景二 non-collocated,也就是日志和數(shù)據(jù)存放在不同的磁盤上。

---
# Variables here are applicable to all host groups NOT roles
osd_scenario: non-collocated

devices:
    - /dev/sda
    - /dev/sdb
    - /dev/sdc


dedicated_devices:
    - /dev/sdd
    - /dev/sdd
    - /dev/sdd
# 這樣配置的后果就是,/dev/sdd 上會新生成三個分區(qū) /dev/sdd1、/dev/sdd2、/dev/sdd3,
# 分別作為 /dev/sda, /dev/sdb, /dev/sdc 的journal 分區(qū)。

因為我們只是簡單的實驗集群,所以不需要對 mons.yml 做特殊配置,保持默認就可以了。

3 開始部署

退回到 ceph-ansible 目錄,開始部署,等待部署完成。

# ansible-playbook site.yml -u root -i ./ansible_hosts

部署完成后,登錄一個 mon節(jié)點, 查看集群狀態(tài)和 osd daemon 分布

# ceph -w 
# ceph osd tree

以上就是ceph-ansible 中怎么快速部署 ceph,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當前名稱:ceph-ansible中怎么快速部署ceph
當前地址:http://bm7419.com/article0/isggoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站網(wǎng)站制作、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、網(wǎng)站設計公司、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司