Ceph v12.2 Luminous基於ubuntu16.04集羣部署

第一次接觸ceph集羣,感謝官方的指導文檔和許多網友提供的教程,糊糊塗塗算是把集羣部署起來了。因爲Luminous12.2剛發佈不久,部署起來跟舊版本仍是有些許差異,因此以此作下筆記也給須要的人作下參考。
Ps. 剛開始接觸ceph的同窗,十分建議先把官方文檔看一遍。html

ceph官方文檔linux

1. Ceph介紹

Ceph 是一個高性能、可靠、可擴展的開源存儲平臺。它是一個自由的分佈式存儲系統,提供了對象、塊和文件級存儲的接口,並能夠不受單點故障的影響而運行。bootstrap

Ceph集羣結構:

  • (1)Ceph Admin-管理節點,用來安裝ceph-deploy 進行ceph部署使用,基本上大部分操做都在這臺機器上。
  • (2)Ceph OSD (ceph-osd) - 控制數據存儲,數據複製和恢復。Ceph 集羣須要至少兩個 Ceph OSD 服務器。此次安裝中咱們將使用三個 Ubuntu 服務器。
  • (3)Ceph Monitor (ceph-mon) - 監控集羣狀態並運行 OSD 映射 和 CRUSH 映射。這裏咱們使用一個服務器。
  • (4)Ceph Meta Data Server (ceph-mds) - 若是你想把 Ceph 做爲文件系統使用,就須要這個。

ditaa-2452ee22ef7d825a489a08e0b935453f2b06b0e6.png

2. OS系統

Ubuntu 16.04.3ubuntu

3. Ceph 版本

Ceph v12.2 Luminous服務器

4. 設置固定IP和修改主機名(全部節點)

  • (1)設置對應的固定IP(每一個節點分別設置)網絡

    192.168.31.131 admin_server
    192.168.31.132 mon_server
    192.168.31.133 osd_server_1
    192.168.31.134 osd_server_2
  • (2)修改/etc/hostname,修改成對應的主機名
  • (3)修改/etc/hosts
    將如下添加到hostsssh

    192.168.31.132 mon_server
    192.168.31.133 osd_server_1
    192.168.31.134 osd_server_2

5. 修改apt源(全部節點)

  • (1)修改/etc/apt/sources.list,增長網易下載源(xenial 是ununtu16.04的版本代號,不一樣版本不同)
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
## 測試版源
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
## 源碼
deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
  • (2)更新
sudo apt-get update
sudo apt-get install

6. OS環境配置(全部節點)

  • (1)安裝ntp:用於同步全部節點的日期和時間
    sudo apt-get install ntp
  • (2)安裝SSH: 用於admin控制其它節點
    sudo apt-get install openssh-server

7. 建立ceph用戶(全部節點)

sudo useradd -d /home/cephuser -m cephuser 
sudo passwd cephuser 
echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser 
sudo chmod 0440 /etc/sudoers.d/cephuser

8. 安裝ceph apt key(admin節點)

  • (1)安裝key(使用163源)
wget -q -O- 'http://mirrors.163.com/ceph/keys/release.asc' | sudo apt-key add -
echo deb http://mirrors.163.com/ceph/debian-luminous/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
  • (2)安裝ceph-deploy
    sudo apt-get update && sudo apt-get install -y ceph-deploy

9. 建立ssh信任(admin)

  • (1)生成公鑰
    ssh-keygen

(全按回車鍵,默認)分佈式

Generating public/private key pair.
Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /ceph-admin/.ssh/id_rsa.
Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.
  • (2)複製public key到其它節點需在普通用戶權限下執行,在對話窗口輸入yes,而後輸入對端用戶密碼
ssh-copy-id cephuser@mon_server
ssh-copy-id cephuser@osd_server_1
ssh-copy-id cephuser@osd_server_2
  • (3)修改 ~/.ssh/config
    添加如下內容:
Host mon_server
  Hostname mon_server
  User cephuser
Host osd_server_1
  Hostname osd_server_1
  User cephuser
Host osd_server_2
  Hostname osd_server_2
  User cephuser

10. 開始建立集羣(admin)

  • (1)使用ceph-deploy部署。 首先須要建立工做環境,該環境會保存全部的配置文件:
mkdir ~/my-cluster
cd ~/my-cluster
  • (2)建立集羣,其中mon_server是monitor節點,執行該命令會生成ceph配置文件、monitor密鑰文件以及日誌文件。
    ceph-deploy new mon_server
  • (3)修改默認冗餘份數(此參數只有當OSD節點小於3的時候才須要修改,默認的冗餘份數是3,若是是2節點須要設置爲2,若是osd節點大於2,則此步驟省略),修改ceph.conf文件,第一個參數2是副本數量,第二個2000是 日誌大小約爲2G,在[global]下增長如下內容:
osd pool default size = 2
osd journal size = 2000
  • (4)配置網卡和網絡(OSD節點單網卡請忽略)
    OSD節點是雙網卡,所以須要設置使用的網卡和網絡地址

修改ceph.conf文件,在[global]下增長如下內容:ide

public network = 192.168.31.0/24
cluster network = 10.10.100.0/24
  • (5)開始安裝ceph
    注:由於CFW的問題,管理節點ceph-Deploy前Ceph鏡像源修改很是重要,這裏採用了網易鏡像
export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/debian-luminous/
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc
  • (6)在全部節點開始安裝ceph
    ceph-deploy install admin_server mon_server osd_server_1 osd_server_2
  • (7)初始化mon節點和收集密鑰信息
    ceph-deploy mon create-initial

執行完畢,目錄應該有如下文件:性能

{cluster-name}.client.admin.keyring
{cluster-name}.bootstrap-osd.keyring
{cluster-name}.bootstrap-mds.keyring
{cluster-name}.bootstrap-rgw.keyring

完成以上步驟,安裝完成,但尚未配置osd節點。

  • (8) 配置osd節點
    lsblk命令查看磁盤結構,假設選擇的是/dev/sdb(使用虛擬機的話,能夠添加磁盤)

格式化對應的磁盤:

ceph-deploy disk zap osd_server_1:sdb
ceph-deploy disk zap osd_server_2:sdb

以上步驟會清空磁盤的全部數據。 接下來建立osd,注意因爲咱們只是測試,故沒有使用單獨的磁盤做爲journal,實際在生產環境下,須要配備SSD分區做爲journal,可以最大化IO吞吐量。

ceph-deploy osd create osd_server_1:sdb
ceph-deploy osd create osd_server_2:sdb
  • (9)配置admin節點
    admin節點同時也做爲咱們的client節點,須要拷貝其餘節點的配置文件以及密鑰,使得不須要指定mon地址以及用戶信息就能夠直接管理咱們的ceph集羣,執行如下命令便可:
ceph-deploy admin admin_server mon_server osd_server_1 osd_server_2
sudo chmod +r /etc/ceph/ceph.client.admin.keyring # 保證具備讀取的密鑰的權限

(10)配置mgr
運行ceph health,打印:
HEALTH_WARN no active mgr
自從ceph 12開始,manager是必須的。應該爲每一個運行monitor的機器添加一個mgr,不然集羣處於WARN狀態。(具體能夠參考Luminous的release日誌)
在mon_server上建立名稱爲mon_mgr的mgr服務
ceph-deploy mgr create mon_server:mon_mgr
查看狀態:

hcy@admin_server:~/my-cluster$ ceph health
HEALTH_OK
hcy@admin_server:~/my-cluster$ ceph -s
 cluster:
 id: 7981a8fc-378d-4564-95cf-e464d46bdd38
 health: HEALTH_OK
 
 services:
 mon: 1 daemons, quorum mon_server
 mgr: mon_mgr(active)
 osd: 2 osds: 2 up, 2 in
 
 data:
 pools: 0 pools, 0 pgs
 objects: 0 objects, 0 bytes
 usage: 2108 MB used, 28409 MB / 30517 MB avail
 pgs:
  • (11)訪問dashboard
    啓用dashboard(mon_server節點)

ceph mgr module enable dashboard
經過 http://192.168.31.132:7000 訪問dashboard

clipboard2.png

dashboard的port默認爲7000,能夠執行ceph config-key set mgr/dashboard/server_port $PORT修改port。
也能夠執行ceph config-key set mgr/dashboard/server_addr $IP指定dashboard的訪問IP。

至此Ceph的集羣搭建算是完成了,下一步會進行塊設備的搭建。

參考:

CEPH 分佈式存儲部署手冊 (Ubuntu 14.04)
如何在 Ubuntu 16.04 中安裝 Ceph 存儲集羣
CentOS7.2部署Luminous版Ceph-12.2.0

相關文章
相關標籤/搜索