如何在CentOS 7.0上配置Ceph存儲
Ceph是一個(gè)將數(shù)據(jù)存儲在單一分布式計(jì)算機(jī)集群上的開源軟件平臺。當(dāng)你計(jì)劃構(gòu)建一個(gè)云時(shí),你首先需要決定如何實(shí)現(xiàn)你的存儲。開源的 Ceph 是紅帽原生技術(shù)之一,它基于稱為 RADOS 的對象存儲系統(tǒng),用一組網(wǎng)關(guān) API 表示塊、文件、和對象模式中的數(shù)據(jù)。由于它自身開源的特性,這種便攜存儲平臺能在公有云和私有云上安裝和使用。Ceph 集群的拓?fù)浣Y(jié)構(gòu)是按照備份和信息分布設(shè)計(jì)的,這種內(nèi)在設(shè)計(jì)能提供數(shù)據(jù)完整性。它的設(shè)計(jì)目標(biāo)就是容錯(cuò)、通過正確配置能運(yùn)行于商業(yè)硬件和一些更高級的系統(tǒng)。
Ceph 能在任何 Linux 發(fā)行版上安裝,但為了能正確運(yùn)行,它需要最近的內(nèi)核以及其它***的庫。在這篇指南中,我們會使用最小化安裝的 CentOS 7.0。
系統(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 存儲之前,我們要在每個(gè)節(jié)點(diǎn)上完成一些步驟。***件事情就是確保每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)已經(jīng)配置好并且能相互訪問。
配置 Hosts
要在每個(gè)節(jié)點(diǎn)上配置 hosts 條目,要像下面這樣打開默認(rèn)的 hosts 配置文件(LCTT 譯注:或者做相應(yīng)的 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 工具
工作環(huán)境是 VMWare 虛擬環(huán)境時(shí),推薦你安裝它的 open VM 工具。你可以使用下面的命令安裝。
- # yum install -y open-vm-tools
 
配置防火墻
如果你正在使用啟用了防火墻的限制性環(huán)境,確保在你的 Ceph 存儲管理節(jié)點(diǎn)和客戶端節(jié)點(diǎn)中開放了以下的端口。
你必須在你的 Admin Calamari 節(jié)點(diǎn)開放 80、2003、以及4505-4506 端口,并且允許通過 80 號端口訪問到 Ceph 或 Calamari 管理節(jié)點(diǎn),以便你網(wǎng)絡(luò)中的客戶端能訪問 Calamari web 用戶界面。
你可以使用下面的命令在 CentOS 7 中啟動并啟用防火墻。
- # systemctl start firewalld
 - # systemctl enable firewalld
 
運(yùn)行以下命令使 Admin Calamari 節(jié)點(diǎn)開放上面提到的端口。
- # 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é)點(diǎn),你要在防火墻中允許通過以下端口。
- # firewall-cmd --zone=public --add-port=6789/tcp --permanent
 
然后允許以下默認(rèn)端口列表,以便能和客戶端以及監(jiān)控節(jié)點(diǎn)交互,并發(fā)送數(shù)據(jù)到其它 OSD。
- # firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
 
如果你工作在非生產(chǎn)環(huán)境,建議你停用防火墻以及 SELinux 設(shè)置,在我們的測試環(huán)境中我們會停用防火墻以及 SELinux。
- # systemctl stop firewalld
 - # systemctl disable firewalld
 
系統(tǒng)升級
現(xiàn)在升級你的系統(tǒng)并重啟使所需更改生效。
- # yum update
 - # shutdown -r 0
 
設(shè)置 Ceph 用戶
現(xiàn)在我們會新建一個(gè)單獨(dú)的 sudo 用戶用于在每個(gè)節(jié)點(diǎn)安裝 ceph-deploy工具,并允許該用戶無密碼訪問每個(gè)節(jié)點(diǎn),因?yàn)樗枰?Ceph 節(jié)點(diǎn)上安裝軟件和配置文件而不會有輸入密碼提示。
運(yùn)行下面的命令在 ceph-storage 主機(jī)上新建有獨(dú)立 home 目錄的新用戶。
- [root@ceph-storage ~]# useradd -d /home/ceph -m ceph
 - [root@ceph-storage ~]# passwd ceph
 
節(jié)點(diǎn)中新建的每個(gè)用戶都要有 sudo 權(quán)限,你可以使用下面展示的命令賦予 sudo 權(quán)限。
- [root@ceph-storage ~]# echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
 - ceph ALL = (root) NOPASSWD:ALL
 - ceph ALL = (root) NOPASSWD:ALL
 
#p#
設(shè)置 SSH 密鑰
現(xiàn)在我們會在 Ceph 管理節(jié)點(diǎn)生成 ssh 密鑰并把密鑰復(fù)制到每個(gè) Ceph 集群節(jié)點(diǎn)。
在 ceph-node 運(yùn)行下面的命令復(fù)制它的 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 數(shù)目
要配置 PID 數(shù)目的值,我們會使用下面的命令檢查默認(rèn)的內(nèi)核值。默認(rèn)情況下,是一個(gè)小的***線程數(shù) 32768。
如下圖所示通過編輯系統(tǒng)配置文件配置該值為一個(gè)更大的數(shù)。
更改 PID 值
配置管理節(jié)點(diǎn)服務(wù)器
配置并驗(yàn)證了所有網(wǎng)絡(luò)后,我們現(xiàn)在使用 ceph 用戶安裝 ceph-deploy。通過打開文件檢查 hosts 條目(LCTT 譯注:你也可以用 DNS 解析來完成)。
- # vim /etc/hosts
 - ceph-storage 45.79.136.163
 - ceph-node 45.79.171.138
 
運(yùn)行下面的命令添加它的庫。
- # rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm
 
添加 Ceph 倉倉庫
或者創(chuàng)建一個(gè)新文件并更新 Ceph 庫參數(shù),別忘了替換你當(dāng)前的 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
 
之后更新你的系統(tǒng)并安裝 ceph-deploy 軟件包。
安裝 ceph-deploy 軟件包
我們運(yùn)行下面的命令以及 ceph-deploy 安裝命令來更新系統(tǒng)以及***的 ceph 庫和其它軟件包。
- #yum update -y && yum install ceph-deploy -y
 
配置集群
使用下面的命令在 ceph 管理節(jié)點(diǎn)上新建一個(gè)目錄并進(jìn)入新目錄,用于收集所有輸出文件和日志。
- # mkdir ~/ceph-cluster
 - # cd ~/ceph-cluster
 
- # ceph-deploy new storage
 
設(shè)置 ceph 集群
如果成功執(zhí)行了上面的命令,你會看到它新建了配置文件。
現(xiàn)在配置 Ceph 默認(rèn)的配置文件,用任意編輯器打開它并在會影響你公共網(wǎng)絡(luò)的 global 參數(shù)下面添加以下兩行。
- # vim ceph.conf
 - osd pool default size = 1
 - public network = 45.79.0.0/16
 
#p#
安裝 Ceph
現(xiàn)在我們準(zhǔn)備在和 Ceph 集群關(guān)聯(lián)的每個(gè)節(jié)點(diǎn)上安裝 Ceph。我們使用下面的命令在 ceph-storage 和 ceph-node 上安裝 Ceph。
- # ceph-deploy install ceph-node ceph-storage
 
安裝 ceph
處理所有所需倉庫和安裝所需軟件包會需要一些時(shí)間。
當(dāng)兩個(gè)節(jié)點(diǎn)上的 ceph 安裝過程都完成后,我們下一步會通過在相同節(jié)點(diǎn)上運(yùn)行以下命令創(chuàng)建監(jiān)視器并收集密鑰。
- # ceph-deploy mon create-initial
 
Ceph 初始化監(jiān)視器
設(shè)置 OSD 和 OSD 守護(hù)進(jìn)程
現(xiàn)在我們會設(shè)置磁盤存儲,首先運(yùn)行下面的命令列出你所有可用的磁盤。
- # ceph-deploy disk list ceph-storage
 
結(jié)果中會列出你存儲節(jié)點(diǎn)中使用的磁盤,你會用它們來創(chuàng)建 OSD。讓我們運(yùn)行以下命令,請使用你的磁盤名稱。
- # ceph-deploy disk zap storage:sda
 - # ceph-deploy disk zap storage:sdb
 
為了***完成 OSD 配置,運(yùn)行下面的命令配置日志磁盤以及數(shù)據(jù)磁盤。
- # ceph-deploy osd prepare storage:sdb:/dev/sda
 - # ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1
 
你需要在所有節(jié)點(diǎn)上運(yùn)行相同的命令,它會清除你磁盤上的所有東西。之后為了集群能運(yùn)轉(zhuǎn)起來,我們需要使用以下命令從 ceph 管理節(jié)點(diǎn)復(fù)制不同的密鑰和配置文件到所有相關(guān)節(jié)點(diǎn)。
- # ceph-deploy admin ceph-node ceph-storage
 
測試 Ceph
我們快完成了 Ceph 集群設(shè)置,讓我們在 ceph 管理節(jié)點(diǎn)上運(yùn)行下面的命令檢查正在運(yùn)行的 ceph 狀態(tài)。
- # ceph status
 - # ceph health
 - HEALTH_OK
 
如果你在 ceph status 中沒有看到任何錯(cuò)誤信息,就意味著你成功地在 CentOS 7 上安裝了 ceph 存儲集群。
總結(jié)
在這篇詳細(xì)的文章中我們學(xué)習(xí)了如何使用兩臺安裝了 CentOS 7 的虛擬機(jī)設(shè)置 Ceph 存儲集群,這能用于備份或者作為用于其它虛擬機(jī)的本地存儲。我們希望這篇文章能對你有所幫助。當(dāng)你試著安裝的時(shí)候記得分享你的經(jīng)驗(yàn)。
via: http://linoxide.com/storage/setup-red-hat-ceph-storage-centos-7-0/
作者:Kashif Siddique 譯者:ictlyh 校對:wxy





















 
 
 










 
 
 
 