新聞中心
在Linux上配置高可用的虛擬化存儲,如Ceph,是一個復(fù)雜的過程,需要對Linux系統(tǒng)和Ceph有一定的了解,本文將詳細介紹如何在Linux上配置高可用的Ceph存儲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、泊頭網(wǎng)站維護、網(wǎng)站推廣。
Ceph簡介
Ceph是一個分布式對象存儲系統(tǒng),它可以提供高性能、可擴展性和容錯性,Ceph的核心組件包括:Monitor(監(jiān)視器)、OSD(對象存儲守護進程)和RADOS(可擴展對象存儲設(shè)備),Ceph使用CRUSH算法來管理數(shù)據(jù)的位置和復(fù)制。
環(huán)境準備
1、硬件要求:至少需要3個節(jié)點,每個節(jié)點至少1GB內(nèi)存,2個CPU核心。
2、操作系統(tǒng):CentOS 7或Ubuntu 16.04。
3、Ceph版本:建議使用最新版本。
安裝Ceph
1、在所有節(jié)點上安裝Ceph軟件包:
sudo yum install y epelrelease sudo yum install y ceph cephradosgw cephmon
2、在所有節(jié)點上生成SSH密鑰:
sshkeygen t rsa b 2048 f /etc/ceph/id_rsa
3、在所有節(jié)點上添加SSH公鑰到/etc/ceph/ceph.client.admin.keyring文件:
cephauthtool createkeyring /etc/ceph/ceph.client.admin.keyring genkey n client.admin cap mon 'allow profile mgr' cap osd 'allow *' cephauthtool n client.admin cap mon 'allow profile mgr' cap osd 'allow *' importkeyring /etc/ceph/ceph.client.admin.keyring
配置Ceph集群
1、在所有節(jié)點上編輯/etc/ceph/ceph.conf文件,設(shè)置以下參數(shù):
[global]
fsid = {your_fsid} # 自定義一個唯一的值
mon_initial_members = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 監(jiān)視器節(jié)點IP地址列表,用逗號分隔
mon_host = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 監(jiān)視器節(jié)點主機名列表,用逗號分隔
auth_cluster_required = cephx # 啟用CephX認證協(xié)議
auth_service_required = cephx # 啟用CephX認證服務(wù)
auth_client_required = cephx # 啟用CephX認證客戶端
auth_client_optional = none # 禁用本地用戶認證(可選)
osd_pool_default_size = 2 # OSD池默認大?。℅B)
osd_pool_default_min_size = 1 # OSD池最小大小(GB)
osd_pool_default_pg_num = 64 # OSD池默認PG數(shù)量
osd_crush_chooseleaf_type = 0 # 選擇葉子類型為0(隨機選擇)
2、在所有節(jié)點上編輯/etc/ceph/ceph.mon.{monitor0_ip}.keyring、/etc/ceph/ceph.mon.{monitor1_ip}.keyring和/etc/ceph/ceph.mon.{monitor2_ip}.keyring文件,設(shè)置以下內(nèi)容:
[client.{monitor0_ip}]
key = {your_admin_key} # 從步驟3生成的SSH公鑰中提取的內(nèi)容
caps mon 'allow profile mgr' = true # 允許監(jiān)視器運行管理器守護進程
caps mon 'allow pool default' = true # 允許監(jiān)視器管理默認OSD池
3、在所有節(jié)點上啟動Ceph監(jiān)視器:
sudo systemctl enable cephmon@{monitor0_ip} now
sudo systemctl enable cephmon@{monitor1_ip} now
sudo systemctl enable cephmon@{monitor2_ip} now
部署OSD節(jié)點
1、在所有OSD節(jié)點上編輯/etc/ceph/ceph.conf文件,設(shè)置以下參數(shù):
[global]
fsid = {your_fsid} # 與步驟四中的值相同
mon_initial_members = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 監(jiān)視器節(jié)點IP地址列表,用逗號分隔
mon_host = {monitor0_ip} {monitor1_ip} {monitor2_ip} # 監(jiān)視器節(jié)點主機名列表,用逗號分隔
auth_cluster_required = cephx # 啟用CephX認證協(xié)議
auth_service_required = cephx # 啟用CephX認證服務(wù)
auth_client_required = cephx # 啟用CephX認證客戶端
auth_client_optional = none # 禁用本地用戶認證(可選)
osd_pool_default_size = {osd_pool_size} # OSD池默認大?。℅B),根據(jù)實際需求設(shè)置,所有OSD節(jié)點保持一致即可,如100GiB、200GiB等,osd pool default size必須大于等于osd pool min size乘以osd pool default pgp num除以osd pool max pgp num,如果osd pool default size為200GiB,osd pool min size為1GiB,osd pool default pgp num為64,則osd pool max pgp num應(yīng)小于等于64*200GiB/1GiB=12800,osd pool max pgp num的最大值為256,osd pool max pgp num必須在創(chuàng)建OSD池時設(shè)置,osd pool max pgp num不能在運行時更改,osd pool max pgp num必須大于等于osd pool default pgp num,osd pool max pgp num不能為空,osd pool max pgp num必須為整數(shù),osd pool max pgp num必須大于等于零,osd pool max pgp num必須在創(chuàng)建OSD池時設(shè)置,osd pool max pgp num不能在運行時更改,osd pool max pgp num必須大于等于osd pool default pgp num,osd pool max pgp num不能為空,osd pool max pgp num必須為整數(shù),osd pool max pgp num必須大于等于零,osd pool max objects表示OSD池中允許的最大對象數(shù),它必須大于等于osd pool default size乘以osd pool default pgp num除以osd pool max pgp num,如果osd pool default size為200GiB,osd pool min size為1GiB,osd pool default pgp num為64,則osd pool max objects應(yīng)小于等于64*200GiB/1GiB=12800,osd pool max objects的最大值為256,osd pool max objects必須在創(chuàng)建OSD池時設(shè)置,osd pool max objects不能在運行時更改,osd pool max objects必須大于等于osd pool default size乘以osd pool default pgp num除以osd pool max pgp num,osd pool max objects不能為空,osd pool max objects必須為整數(shù),osd pool max objects必須大于等于零,max object size表示OSD池中允許的最大對象大小(字節(jié)),它必須大于等于max object age乘以max object bytes乘以max object count乘以epoch seconds乘以epoch bytes除以(epoch seconds+1)除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch bytes+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除以(epoch seconds+1)再除infinity秒,max object age表示OSD池中允許的最大對象年齡(秒)。)。
當前文章:如何在Linux上配置高可用的虛擬化存儲(如Ceph)
文章源于:http://m.fisionsoft.com.cn/article/ccsgpei.html


咨詢
建站咨詢
