如何從零安裝Ceph分布式儲存 CentOS環境

2021-09-19 12:38:10 字數 4391 閱讀 2557

具體安裝之前對作業系統做如下限制,其它版本的作業系統不保證能夠安裝成功。

作業系統:centos 6.5

ceph版本號:hammer v10.2.3

本安裝教程假設有4臺伺服器(或者虛擬機器),1臺作為管理節點,另外3臺作為儲存節點。當然,也可以用儲存節點中的一台作為管理節點。具體位址和主機名稱如圖所示。

需要在各個伺服器上新增解析,方法是開啟hosts檔案,新增如下內容:

開啟hosts檔案的方法:

# vim /etc/hosts
192.168.1.100 ceph-u0-l0

192.168.1.101 ceph-u0-m0

192.168.1.102 ceph-u0-r0

192.168.1.50 admin

ceph-deploy是ceph的遠端部署工具,可以在管理節點實現分布式部署。

1. 配置ceph安裝源

使用官方yum源,在yum庫新建乙個檔案(vim /etc/yum.repos.d/ceph.repo),內容如下:

[ceph-noarch]

name=ceph noarch packages

baseurl=

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=

由於某些原因,官方源速度可能比較慢,可以使用國內的安裝源,比如阿里:

[ceph-x86]

name=ceph noarch packages

baseurl=

enabled=1

gpgcheck=0

type=rpm-md

2. 更新軟體源,並安裝ceph-deploy

yum update

yum install ceph-deploy -y

安裝ntp

安裝ntp,用於集群節點的時間同步。

apt-get install ntp
確保ssh服務已被安裝

可能需要安裝ssh服務,如果已經安裝則忽略該步驟。

sudo apt-get install openssh-server
建立ceph部署賬戶

在每個儲存節點上建立ceph賬戶及ssh訪問

每個節點上建立ceph使用者

sudo useradd -d /home/cephd -m cephd

sudo passwd cephd

確保具有sudo許可權

echo "cephd all = (root) nopasswd:all" | sudo tee /etc/sudoers.d/cephd

sudo chmod 0440 /etc/sudoers.d/cephd

配置無密碼訪問

配置管理節點可以實現對其它節點的無密碼訪問,在管理節點執行如下命令。

ssh-keygen
所有提示採用預設配置,直接回車。生成公鑰/私鑰對,並拷貝到其它節點

ssh-copy-id cephd@ceph-u0-m0

ssh-copy-id cephd@ceph-u0-r0

ssh-copy-id cephd@ceph-u0-l0

ssh-copy-id 將本機的公鑰複製到遠端機器的authorized_keys檔案中(~/.ssh/authorized_keys)

預設採用cephd使用者,修改(新建)/root/.ssh/config檔案,增加如下內容:

host ceph-u0-l0

hostname ceph-u0-l0

user cephd

host ceph-u0-m0

hostname ceph-u0-m0

user cephd

host ceph-u0-r0

hostname ceph-u0-r0

user cephd

通過ssh命令測試一下,是否可以無密碼訪問。

ssh ceph-u0-m0
建立ceph集群本集群部署情況,為ceph-u0-m0部署乙個monitor節點,同時在ceph-u0-l0和ceph-u0-r0上各部署乙個osd節點。

在管理節點的/root目錄下執行:

mkdir my-cluster

cd my-cluster

如果需要(新安裝的系統通常不需要),部署之前確保ceph每個節點沒有ceph資料報(先清空之前所有的ceph資料,如果是新裝不用執行此步驟,如果是重新部署的話也執行下面的命令)

[root@ceph-deploy]# ceph-deploy purge ceph-deploy ceph-u0-m0 ceph-u0-l0 ceph-u0-r0 

[root@ceph-deploy]# ceph-deploy purgedata ceph-deploy ceph-u0-m0 ceph-u0-l0 ceph-u0-r0

[root@ceph-deploy]# ceph-deploy forgetkeys

如果是乾淨環境,直接執行如下命令,該命令在my-cluster資料夾生成集群必須的檔案。

ceph-deploy new ceph-u0-l0

修改ceph.conf配置檔案

[global]

fsid = c70a17e3-f677-46cb-8744-b628592d69d6

mon_initial_members = ceph-u0-l0

mon_host = 192.168.32.2

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

filestore_xattr_use_omap = true

osd pool default size = 3

public network = 192.168.1.0/24

[osd]

osd journal size = 20000

安裝軟體包admin節點向各節點安裝ceph

ceph-deploy install ceph-u0-l0 ceph-u0-m0 ceph-u0-r0 --repo-url= --gpg-url=
新增初始監控節點並收集金鑰

ceph-deploy mon create-initial
此時,檢視my-cluster目錄多了下面幾個檔案

ceph.bootstrap-mds.keyring

ceph.bootstrap-osd.keyring

ceph.bootstrap-rgw.keyring

ceph.client.admin.keyring

新增osd節點osd是儲存資料的單元,新建完集群後需要新增osd節點

ceph-deploy osd prepare ceph-u0-l0:sdb ceph-u0-m0:sdb ceph-u0-r0:sdb

ceph-deploy osd activate ceph-u0-l0:sdb1 ceph-u0-m0:sdb1 ceph-u0-r0:sdb1

複製ceph配置檔案及金鑰到mon、osd節點

ceph-deploy admin ceph-u0-l0 ceph-u0-m0 ceph-u0-r0
確保有正確的ceph.client.admin.keyring許可權

sudo chmod +r /etc/ceph/ceph.client.admin.keyring
檢視集群執行狀態

ceph -s
狀態大致如圖所示,根據實際配置略有不同。

Ceph分布式儲存安裝 xiaoma

ceph分布式儲存安裝 前言參照官方文件中的快速安裝,結合國內環境,將相關安裝源修改為國內映象源提高安裝速度。基礎系統環境 新增阿里雲yum源mv etc yum.repos.d centos base.repo etc yum.repos.d centos base.repo.backup cur...

分布式儲存系統 Ceph

你了解ceph嗎?ceph是一種分布式儲存系統,它可以將多台伺服器組成乙個超大集群,把這些機器中的磁碟資源整合到一塊兒,形成乙個大的資源池 pb級別 然後按需分配給應用使用。那麼你知道ceph的架構嗎?ceph的底層實現是rados,rados是由c 寫的,但是它向外界暴露了呼叫介面,即librad...

分布式儲存系統 Ceph

你了解ceph嗎?ceph是一種分布式儲存系統,它可以將多台伺服器組成乙個超大集群,把這些機器中的磁碟資源整合到一塊兒,形成乙個大的資源池 pb級別 然後按需分配給應用使用。那麼你知道ceph的架構嗎?ceph的底層實現是rados,rados是由c 寫的,但是它向外界暴露了呼叫介面,即librad...