當前位置:編程學習大全網 - 源碼下載 - 如何在 CentOS 7.0 上配置 Ceph 存儲

如何在 CentOS 7.0 上配置 Ceph 存儲

Ceph 是壹個將數據存儲在單壹分布式計算機集群上的開源軟件平臺。當妳計劃構建壹個雲時,妳首先需要決定如何實現妳的存儲。開源的 Ceph 是紅帽原生技術之壹,它基於稱為 RADOS 的對象存儲系統,用壹組網關 API 表示塊、文件、和對象模式中的數據。由於它自身開源的特性,這種便攜存儲平臺能在公有雲和私有雲上安裝和使用。Ceph 集群的拓撲結構是按照備份和信息分布設計的,這種內在設計能提供數據完整性。它的設計目標就是容錯、通過正確配置能運行於商業硬件和壹些更高級的系統。

Ceph 能在任何 Linux 發行版上安裝,但為了能正確運行,它需要最近的內核以及其它最新的庫。在這篇指南中,我們會使用最小化安裝的 CentOS-7.0。

系統資源

**CEPH-STORAGE**

OS:CentOSLinux7(Core)

RAM:1 GB

CPU:1 CPU

DISK:20

Network:45.79.136.163

FQDN: ceph-storage.linoxide.com

**CEPH-NODE**

OS:CentOSLinux7(Core)

RAM:1 GB

CPU:1 CPU

DISK:20

Network:45.79.171.138

FQDN: ceph-node.linoxide.com

安裝前的配置

在安裝 Ceph 存儲之前,我們要在每個節點上完成壹些步驟。第壹件事情就是確保每個節點的網絡已經配置好並且能相互訪問。

配置 Hosts

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

#vi/etc/hosts

45.79.136.163 ceph-storage ceph-storage.linoxide.com

45.79.171.138 ceph-node ceph-node.linoxide.com

安裝 VMware 工具

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

#yum install -y open-vm-tools

配置防火墻

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

妳必須在妳的 Admin Calamari 節點開放 80、2003、以及4505-4506 端口,並且允許通過 80 號端口訪問到 Ceph 或 Calamari 管理節點,以便妳網絡中的客戶端能訪問 Calamari web 用戶界面。

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

#systemctl start firewalld

#systemctl enable firewalld

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

# 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 節點,妳要在防火墻中允許通過以下端口。

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

然後允許以下默認端口列表,以便能和客戶端以及監控節點交互,並發送數據到其它 OSD。

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

如果妳工作在非生產環境,建議妳停用防火墻以及 SELinux 設置,在我們的測試環境中我們會停用防火墻以及 SELinux。

#systemctl stop firewalld

#systemctl disable firewalld

系統升級

現在升級妳的系統並重啟使所需更改生效。

#yum update

#shutdown-r 0

設置 Ceph 用戶

現在我們會新建壹個單獨的 sudo 用戶用於在每個節點安裝 ceph-deploy工具,並允許該用戶無密碼訪問每個節點,因為它需要在 Ceph 節點上安裝軟件和配置文件而不會有輸入密碼提示。

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

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

[root@ceph-storage ~]#passwd ceph

節點中新建的每個用戶都要有 sudo 權限,妳可以使用下面展示的命令賦予 sudo 權限。

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

ceph ALL =(root) NOPASSWD:ALL

[root@ceph-storage ~]#sudochmod0440/etc/sudoers.d/ceph

設置 SSH 密鑰

現在我們會在 Ceph 管理節點生成 ssh 密鑰並把密鑰復制到每個 Ceph 集群節點。

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

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

Generatingpublic/private rsa key pair.

Enterfilein which to save the key (/root/.ssh/id_rsa):

Created directory '/root/.ssh'.

Enter passphrase (emptyforno passphrase):

Enter same passphrase again:

Your identification has been saved in/root/.ssh/id_rsa.

Yourpublic 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]----+

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

SSH key

配置 PID 數目

要配置 PID 數目的值,我們會使用下面的命令檢查默認的內核值。默認情況下,是壹個小的最大線程數 32768。

如下圖所示通過編輯系統配置文件配置該值為壹個更大的數。

更改 PID 值

配置管理節點服務器

配置並驗證了所有網絡後,我們現在使用 ceph 用戶安裝 ceph-deploy。通過打開文件檢查 hosts 條目(LCTT 譯註:妳也可以用 DNS 解析來完成)。

#vim/etc/hosts

ceph-storage 45.79.136.163

ceph-node 45.79.171.138

運行下面的命令添加它的庫。

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

添加 Ceph 倉倉庫

或者創建壹個新文件並更新 Ceph 庫參數,別忘了替換妳當前的 Release 和版本號。

[root@ceph-storage ~]#vi/etc/yum.repos.d/ceph.repo

[ceph-noarch]

name=Ceph noarch packages

baseurl=/rpm-{ceph-release}/{distro}/noarch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=/git/?p=ceph.git;a=blob_plain;f=keys/release.asc

之後更新妳的系統並安裝 ceph-deploy 軟件包。

安裝 ceph-deploy 軟件包

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

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

配置集群

使用下面的命令在 ceph 管理節點上新建壹個目錄並進入新目錄,用於收集所有輸出文件和日誌。

#mkdir~/ceph-cluster

#cd~/ceph-cluster

# ceph-deploy new storage

設置 ceph 集群

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

現在配置 Ceph 默認的配置文件,用任意編輯器打開它並在會影響妳公***網絡的 global 參數下面添加以下兩行。

#vim ceph.conf

osd pool defaultsize=1

public network =45.79.0.0/16

安裝 Ceph

現在我們準備在和 Ceph 集群關聯的每個節點上安裝 Ceph。我們使用下面的命令在 ceph-storage 和 ceph-node 上安裝 Ceph。

# ceph-deploy install ceph-node ceph-storage

安裝 ceph

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

當兩個節點上的 ceph 安裝過程都完成後,我們下壹步會通過在相同節點上運行以下命令創建監視器並收集密鑰。

# ceph-deploy mon create-initial

Ceph 初始化監視器

設置 OSD 和 OSD 守護進程

現在我們會設置磁盤存儲,首先運行下面的命令列出妳所有可用的磁盤。

# ceph-deploy disk list ceph-storage

結果中會列出妳存儲節點中使用的磁盤,妳會用它們來創建 OSD。讓我們運行以下命令,請使用妳的磁盤名稱。

# ceph-deploy disk zap storage:sda

# ceph-deploy disk zap storage:sdb

為了最後完成 OSD 配置,運行下面的命令配置日誌磁盤以及數據磁盤。

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

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

妳需要在所有節點上運行相同的命令,它會清除妳磁盤上的所有東西。之後為了集群能運轉起來,我們需要使用以下命令從 ceph 管理節點復制不同的密鑰和配置文件到所有相關節點。

# ceph-deploy admin ceph-node ceph-storage

測試 Ceph

我們快完成了 Ceph 集群設置,讓我們在 ceph 管理節點上運行下面的命令檢查正在運行的 ceph 狀態。

# ceph status

# ceph health

HEALTH_OK

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

  • 上一篇:為什麽金庸武俠會有新版?
  • 下一篇:如何在aix小機裏安裝nagios-plugins插件
  • copyright 2024編程學習大全網