如何在 CentOS 7.0 上配置 Ceph 儲存
Ceph 是一個將資料儲存在單一分散式計算機叢集上的開源軟體平臺。當你計劃構建一個雲時,你首先需要決定如何實現你的儲存。開源的 Ceph 是紅帽原生技術之一,它基於稱為 RADOS 的物件儲存系統,用一組閘道器 API 表示塊、檔案、和物件模式中的資料。由於它自身開源的特性,這種便攜儲存平臺能在公有云和私有云上安裝和使用。Ceph 叢集的拓撲結構是按照備份和資訊分佈設計的,這種內在設計能提供資料完整性。它的設計目標就是容錯、通過正確配置能執行於商業硬體和一些更高階的系統。
Ceph 能在任何 Linux 發行版上安裝,但為了能正確執行,它需要最近的核心以及其它最新的庫。在這篇指南中,我們會使用最小化安裝的 CentOS-7.0。
系統資源
**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
配置 PID 數目
要配置 PID 數目的值,我們會使用下面的命令檢查預設的核心值。預設情況下,是一個小的最大執行緒數 32768。
如下圖所示通過編輯系統配置檔案配置該值為一個更大的數。
配置管理節點伺服器
配置並驗證了所有網路後,我們現在使用 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 庫引數,別忘了替換你當前的 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 預設的配置檔案,用任意編輯器開啟它並在會影響你公共網路的 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-deploy mon create-initial
設定 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 儲存叢集,這能用於備份或者作為用於其它虛擬機器的本地儲存。我們希望這篇文章能對你有所幫助。當你試著安裝的時候記得分享你的經驗。
相關文章
- 配置Kubernetes共享使用Ceph儲存
- 分散式儲存ceph 物件儲存配置zone同步分散式物件
- kubernetes配置後端儲存 rook-ceph後端
- 記一次centos掛載ceph儲存的坑CentOS
- Ceph儲存池管理
- Centos7下使用Ceph-deploy快速部署Ceph分散式儲存-操作記錄CentOS分散式
- 如何安裝vmware以及如何在vmware上安裝centOS 7.0CentOS
- CEPH-4:ceph RadowGW物件儲存功能詳解物件
- ceph儲存的monitor選舉流程
- centos7配置nfs共享儲存服務CentOSNFS
- CEPH分散式儲存搭建(物件、塊、檔案三大儲存)分散式物件
- 如何在 CentOS 8 上配置和管理防火牆CentOS防火牆
- Ceph分散式儲存技術解讀分散式
- CentOS 儲存結構CentOS
- RHEL6 或CentOS 6配置共享儲存--使用iSCSICentOS
- 基於Ceph物件儲存構建實踐物件
- kubernets1.13.1叢集使用ceph rbd塊儲存
- 分散式儲存Ceph之PG狀態詳解分散式
- CentOS7.0+OpenStack+kvm雲平臺部署—配置NovaCentOS
- CentOS7.0+OpenStack+kvm雲平臺部署—配置GlanceCentOS
- CentOS 7.0防火牆CentOS防火牆
- 如何在 CentOS 8/RHEL 8 上安裝和配置 Nagios CoreCentOSiOS
- 【北亞企安資料恢復】Ceph儲存原理&Ceph資料恢復流程資料恢復
- 大資料儲存系統對比:Ceph VS Gluster大資料
- docker筆記39-ceph分散式儲存的搭建Docker筆記分散式
- 為K8S叢集準備Ceph儲存K8S
- centos vim怎麼儲存退出?CentOS
- Mac新手使用技巧——如何在Mac上優化儲存空間Mac優化
- 配置linux為儲存Linux
- 如何在Redis上儲存的資料上對Java執行分散式MapReduceRedisJava分散式
- Ceph儲存後端ObjectStore架構和技術演進後端Object架構
- 探索 Kubernetes 持久化儲存之 Rook Ceph 初窺門徑持久化
- Kubernetes中分散式儲存Rook-Ceph部署快速演練分散式
- CentOS 7.0系統安裝配置圖解教程——我是新手CentOS圖解
- 雲端計算儲存之什麼是Ceph?聽聽Ceph創始人怎麼說
- 如何在 CentOS 8 上安裝和配置 Postfix 郵件伺服器CentOS伺服器
- 如何在 Centos 8 / RHEL 8 上安裝和配置 VNC 伺服器CentOSVNC伺服器
- k8s之資料儲存-配置儲存K8S
- Centos8中安裝並配置VDO來優化儲存空間CentOS優化