您好,登錄后才能下訂單哦!
如何在CentOS 7.0上配置Ceph存儲,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
ceph是一個分布式文件系統,能夠在維護 POSIX 兼容性的同時加入了復制和容錯功能。
**CEPH-STORAGE**OS: CentOS Linux 7 (Core)RAM:1 GBCPU:1 CPUDISK: 20Network: 45.79.136.163FQDN: ceph-storage.linoxide.com**CEPH-NODE**OS: CentOS Linux 7 (Core)RAM:1 GBCPU:1 CPUDISK: 20Network: 45.79.171.138FQDN: ceph-node.linoxide.com
在安裝 Ceph 存儲之前,我們要在每個節點上完成一些步驟。第一件事情就是確保每個節點的網絡已經配置好并且能相互訪問。
配置 Hosts
要在每個節點上配置 hosts 條目,要像下面這樣打開默認的 hosts 配置文件(LCTT 譯注:或者做相應的 DNS 解析)。
# vi /etc/hosts
45.79.136.163 ceph-storage ceph-storage.linoxide.com45.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
現在我們會新建一個單獨的 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/cephceph ALL = (root) NOPASSWD:ALL[root@ceph-storage ~]# sudo chmod 0440 /etc/sudoers.d/ceph
現在我們會在 Ceph 管理節點生成 ssh 密鑰并把密鑰復制到每個 Ceph 集群節點。
在 ceph-node 運行下面的命令復制它的 ssh 密鑰到 ceph-storage。
[root@ceph-node ~]# ssh-keygenGenerating 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-nodeThe key's randomart image is:+--[ RSA 2048]----+
[root@ceph-node ~]# ssh-copy-id ceph@ceph-storage
SSH key
要配置 PID 數目的值,我們會使用下面的命令檢查默認的內核值。默認情況下,是一個小的最大線程數 32768。
如下圖所示通過編輯系統配置文件配置該值為一個更大的數。
更改 PID 值
配置并驗證了所有網絡后,我們現在使用 ceph 用戶安裝 ceph-deploy。通過打開文件檢查 hosts 條目(LCTT 譯注:你也可以用 DNS 解析來完成)。
# vim /etc/hostsceph-storage 45.79.136.163ceph-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 packagesbaseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
之后更新你的系統并安裝 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.confosd pool default size = 1public network = 45.79.0.0/16
現在我們準備在和 Ceph 集群關聯的每個節點上安裝 Ceph。我們使用下面的命令在 ceph-storage 和 ceph-node 上安裝 Ceph。
# ceph-deploy install ceph-node ceph-storage
安裝 ceph
處理所有所需倉庫和安裝所需軟件包會需要一些時間。
當兩個節點上的 ceph 安裝過程都完成后,我們下一步會通過在相同節點上運行以下命令創建監視器并收集密鑰。
# ceph-deploy mon create-initial
Ceph 初始化監視器
現在我們會設置磁盤存儲,首先運行下面的命令列出你所有可用的磁盤。
# 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 status# ceph healthHEALTH_OK
如果你在 ceph status 中沒有看到任何錯誤信息,就意味著你成功地在 CentOS 7 上安裝了 ceph 存儲集群。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
看完上述內容,你們掌握如何在CentOS 7.0上配置Ceph存儲的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。