佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 在CentOS下安裝和配置分布式系統(tǒng)Ceph的教程

在CentOS下安裝和配置分布式系統(tǒng)Ceph的教程

熱門標簽:智能手機 Linux服務(wù)器 網(wǎng)站建設(shè) Win7旗艦版 服務(wù)外包 硅谷的囚徒呼叫中心 免費建站 百度競價排名

開發(fā)一個分布式文件系統(tǒng)需要多方努力,但是如果能準確地解決問題,它就是無價的。Ceph 的目標簡單地定義為:可輕松擴展到數(shù) PB 容量,對多種工作負載的高性能(每秒輸入/輸出操作[IOPS]和帶寬)。
不幸的是,這些目標之間會互相競爭(例如,可擴展性會降低或者抑制性能或者影響可靠性)。Ceph 開發(fā)了一些非常有趣的概念(例如,動態(tài)元數(shù)據(jù)分區(qū),數(shù)據(jù)分布和復(fù)制),這些概念在本文中只進行簡短地探討。Ceph 的設(shè)計還包括保護單一點故障的容錯功能,它假設(shè)大規(guī)模(PB 級存儲)存儲故障是常見現(xiàn)象而不是例外情況。最后,它的設(shè)計并沒有假設(shè)某種特殊工作負載,但是包括適應(yīng)變化的工作負載,提供最佳性能的能力。它利用 POSIX 的兼容性完成所有這些任務(wù),允許它對當前依賴 POSIX 語義(通過以 Ceph 為目標的改進)的應(yīng)用進行透明的部署。最后,Ceph 是開源分布式存儲,也是主線 Linux 內(nèi)核(2.6.34)的一部分。
現(xiàn)在,讓我們探討一下 Ceph 的架構(gòu)以及高端的核心要素。然后我會拓展到另一層次,說明 Ceph 中一些關(guān)鍵的方面,提供更詳細的探討。
Ceph 生態(tài)系統(tǒng)可以大致劃分為四部分(見圖 1):客戶端(數(shù)據(jù)用戶),元數(shù)據(jù)服務(wù)器(緩存和同步分布式元數(shù)據(jù)),一個對象存儲集群(將數(shù)據(jù)和元數(shù)據(jù)作為對象存儲,執(zhí)行其他關(guān)鍵職能),以及最后的集群監(jiān)視器(執(zhí)行監(jiān)視功能)。

如圖所示,客戶使用元數(shù)據(jù)服務(wù)器,執(zhí)行元數(shù)據(jù)操作(來確定數(shù)據(jù)位置)。元數(shù)據(jù)服務(wù)器管理數(shù)據(jù)位置,以及在何處存儲新數(shù)據(jù)。值得注意的是,元數(shù)據(jù)存儲在一個存儲集群(標為 “元數(shù)據(jù) I/O”)。實際的文件 I/O 發(fā)生在客戶和對象存儲集群之間。這樣一來,更高層次的 POSIX 功能(例如,打開、關(guān)閉、重命名)就由元數(shù)據(jù)服務(wù)器管理,不過 POSIX 功能(例如讀和寫)則直接由對象存儲集群管理。
另一個架構(gòu)視圖由圖 2 提供。一系列服務(wù)器通過一個客戶界面訪問 Ceph 生態(tài)系統(tǒng),這就明白了元數(shù)據(jù)服務(wù)器和對象級存儲器之間的關(guān)系。分布式存儲系統(tǒng)可以在一些層中查看,包括一個存儲設(shè)備的格式(Extent and B-tree-based Object File System [EBOFS] 或者一個備選),還有一個設(shè)計用于管理數(shù)據(jù)復(fù)制,故障檢測,恢復(fù),以及隨后的數(shù)據(jù)遷移的覆蓋管理層,叫做 Reliable Autonomic Distributed Object Storage(RADOS)。最后,監(jiān)視器用于識別組件故障,包括隨后的通知。

示例系統(tǒng)資源
**CEPH-STORAGE**
OS: CentOS Linux 7 (Core)
RAM:1 GB
CPU:1 CPU
DISK: 20
Network: 45.79.136.163
FQDN: ceph-storage.linoxide.com
**CEPH-NODE**
OS: CentOS Linux 7 (Core)
RAM:1 GB
CPU:1 CPU
DISK: 20
Network: 45.79.171.138
FQDN: ceph-node.linoxide.com
安裝前的配置
在安裝 Ceph 存儲之前,我們要在每個節(jié)點上完成一些步驟。第一件事情就是確保每個節(jié)點的網(wǎng)絡(luò)已經(jīng)配置好并且能相互訪問。

配置 Hosts

要在每個節(jié)點上配置 hosts 條目,要像下面這樣打開默認的 hosts 配置文件(LCTT 譯注:或者做相應(yīng)的 DNS 解析)。

復(fù)制代碼
代碼如下:

# vi /etc/hosts
45.79.136.163 ceph-storage ceph-storage.linoxide.com
45.79.171.138 ceph-node ceph-node.linoxide.com

安裝 VMware 工具

工作環(huán)境是 VMWare 虛擬環(huán)境時,推薦你安裝它的 open VM 工具。你可以使用下面的命令安裝。

復(fù)制代碼
代碼如下:

# yum install -y open-vm-tools

配置防火墻

如果你正在使用啟用了防火墻的限制性環(huán)境,確保在你的 Ceph 存儲管理節(jié)點和客戶端節(jié)點中開放了以下的端口。

你必須在你的 Admin Calamari 節(jié)點開放 80、2003、以及4505-4506 端口,并且允許通過 80 號端口訪問到 Ceph 或 Calamari 管理節(jié)點,以便你網(wǎng)絡(luò)中的客戶端能訪問 Calamari web 用戶界面。

你可以使用下面的命令在 CentOS 7 中啟動并啟用防火墻。

復(fù)制代碼
代碼如下:

# systemctl start firewalld
# systemctl enable firewalld

運行以下命令使 Admin Calamari 節(jié)點開放上面提到的端口。

復(fù)制代碼
代碼如下:

# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --zone=public --add-port=2003/tcp --permanent
# firewall-cmd --zone=public --add-port=4505-4506/tcp --permanent
# firewall-cmd --reload

在 Ceph Monitor 節(jié)點,你要在防火墻中允許通過以下端口。

復(fù)制代碼
代碼如下:

# firewall-cmd --zone=public --add-port=6789/tcp --permanent

然后允許以下默認端口列表,以便能和客戶端以及監(jiān)控節(jié)點交互,并發(fā)送數(shù)據(jù)到其它 OSD。

復(fù)制代碼
代碼如下:

# firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent

如果你工作在非生產(chǎn)環(huán)境,建議你停用防火墻以及 SELinux 設(shè)置,在我們的測試環(huán)境中我們會停用防火墻以及 SELinux。

復(fù)制代碼
代碼如下:

# systemctl stop firewalld
# systemctl disable firewalld

系統(tǒng)升級

現(xiàn)在升級你的系統(tǒng)并重啟使所需更改生效。

復(fù)制代碼
代碼如下:

# yum update
# shutdown -r 0

設(shè)置 Ceph 用戶
現(xiàn)在我們會新建一個單獨的 sudo 用戶用于在每個節(jié)點安裝 ceph-deploy工具,并允許該用戶無密碼訪問每個節(jié)點,因為它需要在 Ceph 節(jié)點上安裝軟件和配置文件而不會有輸入密碼提示。

運行下面的命令在 ceph-storage 主機上新建有獨立 home 目錄的新用戶。

復(fù)制代碼
代碼如下:

[root@ceph-storage ~]# useradd -d /home/ceph -m ceph
[root@ceph-storage ~]# passwd ceph

節(jié)點中新建的每個用戶都要有 sudo 權(quán)限,你可以使用下面展示的命令賦予 sudo 權(quán)限。

復(fù)制代碼
代碼如下:

[root@ceph-storage ~]# echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
ceph ALL = (root) NOPASSWD:ALL
[root@ceph-storage ~]# sudo chmod 0440 /etc/sudoers.d/ceph

設(shè)置 SSH 密鑰
現(xiàn)在我們會在 Ceph 管理節(jié)點生成 ssh 密鑰并把密鑰復(fù)制到每個 Ceph 集群節(jié)點。

在 ceph-node 運行下面的命令復(fù)制它的 ssh 密鑰到 ceph-storage。

復(fù)制代碼
代碼如下:

[root@ceph-node ~]# ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-node
The key's randomart image is:
+--[ RSA 2048]----+

復(fù)制代碼
代碼如下:

[root@ceph-node ~]# ssh-copy-id ceph@ceph-storage

配置 PID 數(shù)目
要配置 PID 數(shù)目的值,我們會使用下面的命令檢查默認的內(nèi)核值。默認情況下,是一個小的最大線程數(shù) 32768。

如下圖所示通過編輯系統(tǒng)配置文件配置該值為一個更大的數(shù)。

配置管理節(jié)點服務(wù)器
配置并驗證了所有網(wǎng)絡(luò)后,我們現(xiàn)在使用 ceph 用戶安裝 ceph-deploy。通過打開文件檢查 hosts 條目(LCTT 譯注:你也可以用 DNS 解析來完成)。

復(fù)制代碼
代碼如下:

# vim /etc/hosts

ceph-storage 45.79.136.163
ceph-node 45.79.171.138
運行下面的命令添加它的庫。

復(fù)制代碼
代碼如下:

# rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm

或者創(chuàng)建一個新文件并更新 Ceph 庫參數(shù),別忘了替換你當前的 Release 和版本號。

復(fù)制代碼
代碼如下:

[root@ceph-storage ~]# vi /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch 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

之后更新你的系統(tǒng)并安裝 ceph-deploy 軟件包。

安裝 ceph-deploy 軟件包
我們運行下面的命令以及 ceph-deploy 安裝命令來更新系統(tǒng)以及最新的 ceph 庫和其它軟件包。

復(fù)制代碼
代碼如下:

#yum update -y yum install ceph-deploy -y

配置集群
使用下面的命令在 ceph 管理節(jié)點上新建一個目錄并進入新目錄,用于收集所有輸出文件和日志。

復(fù)制代碼
代碼如下:

# mkdir ~/ceph-cluster
# cd ~/ceph-cluster
# ceph-deploy new storage

如果成功執(zhí)行了上面的命令,你會看到它新建了配置文件。

現(xiàn)在配置 Ceph 默認的配置文件,用任意編輯器打開它并在會影響你公共網(wǎng)絡(luò)的 global 參數(shù)下面添加以下兩行。

復(fù)制代碼
代碼如下:

# vim ceph.conf
osd pool default size = 1
public network = 45.79.0.0/16

安裝 Ceph
現(xiàn)在我們準備在和 Ceph 集群關(guān)聯(lián)的每個節(jié)點上安裝 Ceph。我們使用下面的命令在 ceph-storage 和 ceph-node 上安裝 Ceph。

復(fù)制代碼
代碼如下:

# ceph-deploy install ceph-node ceph-storage

處理所有所需倉庫和安裝所需軟件包會需要一些時間。

當兩個節(jié)點上的 ceph 安裝過程都完成后,我們下一步會通過在相同節(jié)點上運行以下命令創(chuàng)建監(jiān)視器并收集密鑰。

復(fù)制代碼
代碼如下:

# ceph-deploy mon create-initial

設(shè)置 OSD 和 OSD 守護進程
現(xiàn)在我們會設(shè)置磁盤存儲,首先運行下面的命令列出你所有可用的磁盤。

復(fù)制代碼
代碼如下:

# ceph-deploy disk list ceph-storage

結(jié)果中會列出你存儲節(jié)點中使用的磁盤,你會用它們來創(chuàng)建 OSD。讓我們運行以下命令,請使用你的磁盤名稱。

復(fù)制代碼
代碼如下:

# ceph-deploy disk zap storage:sda
# ceph-deploy disk zap storage:sdb

為了最后完成 OSD 配置,運行下面的命令配置日志磁盤以及數(shù)據(jù)磁盤。

復(fù)制代碼
代碼如下:

# ceph-deploy osd prepare storage:sdb:/dev/sda
# ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1

你需要在所有節(jié)點上運行相同的命令,它會清除你磁盤上的所有東西。之后為了集群能運轉(zhuǎn)起來,我們需要使用以下命令從 ceph 管理節(jié)點復(fù)制不同的密鑰和配置文件到所有相關(guān)節(jié)點。

復(fù)制代碼
代碼如下:

# ceph-deploy admin ceph-node ceph-storage

測試 Ceph
我們快完成了 Ceph 集群設(shè)置,讓我們在 ceph 管理節(jié)點上運行下面的命令檢查正在運行的 ceph 狀態(tài)。

復(fù)制代碼
代碼如下:

# ceph status
# ceph health

HEALTH_OK
如果你在 ceph status 中沒有看到任何錯誤信息,就意味著你成功地在 CentOS 7 上安裝了 ceph 存儲集群。

標簽:棗莊 天水 商丘 許昌 武威 石家莊 玉樹 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標題《在CentOS下安裝和配置分布式系統(tǒng)Ceph的教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    新疆| 汉阴县| 彝良县| 韩城市| 广河县| 曲阜市| 芦山县| 姜堰市| 拜泉县| 贡嘎县| 公主岭市| 甘德县| 铜鼓县| 祥云县| 宁河县| 富锦市| 嵊泗县| 龙江县| 铅山县| 南昌市| 邵武市| 锡林郭勒盟| 巴塘县| 田阳县| 芦山县| 台安县| 竹北市| 子洲县| 玉门市| 淳安县| 麻城市| 锡林浩特市| 永登县| 行唐县| 宿松县| 东台市| 南丹县| 宜君县| 昌宁县| 忻城县| 徐汇区|