Linux中國

如何在 CentOS 7.0 上配置 Ceph 存儲

系統資源

**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 存儲之前,我們要在每個節點上完成一些步驟。第一件事情就是確保每個節點的網路已經配置好並且能相互訪問。

配置 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" | sudo tee /etc/sudoers.d/ceph
ceph ALL = (root) NOPASSWD:ALL

[root@ceph-storage ~]# sudo chmod 0440 /etc/sudoers.d/ceph

設置 SSH 密鑰

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

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

[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]----+
[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 http://ceph.com/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=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

之後更新你的系統並安裝 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 default size = 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 存儲集群。

總結

在這篇詳細的文章中我們學習了如何使用兩台安裝了 CentOS 7 的虛擬機設置 Ceph 存儲集群,這能用於備份或者作為用於其它虛擬機的本地存儲。我們希望這篇文章能對你有所幫助。當你試著安裝的時候記得分享你的經驗。

via: http://linoxide.com/storage/setup-red-hat-ceph-storage-centos-7-0/

作者:Kashif Siddique 譯者:ictlyh 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國