版本信息

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

操作系統:Ubuntu 14.04.3 Ceph版本號:Hammer V0.94.5

設備信息

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

需要在各個伺服器上添加解析,方法是打開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-deploy是Ceph的遠程部署工具,可以在管理節點實現分散式部署。 1. 配置Ceph安裝源

wget -q -O- https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc | sudo apt-key add -

2. 將源信息加入repo,更新軟體源,並按照ceph-deploy

echo deb http://ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
apt-get update
apt-get install ceph-deploy

安裝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

安裝軟體包

更改國內源 新部署的物理伺服器缺少源信息,在/etc/apt/source.list.d/ 下面新建文件aliyun.list,並添加如下內容:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

admin節點向各節點安裝ceph

ceph-deploy install ceph-u0-l0 ceph-u0-m0 ceph-u0-r0 --repo-url=http://eu.Ceph.com/debian-hammer/ --gpg-url=http://eu.ceph.com/keys/release.asc

添加初始監控節點並收集密鑰

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

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


推薦閱讀:
相关文章