具體安裝之前對操作系統做如下限制,其它版本的操作系統不保證能夠安裝成功。
操作系統: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的遠程部署工具,可以在管理節點實現分散式部署。 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
狀態大致如圖所示,根據實際配置略有不同。