部署
我的部署架構為
分四個節點 一個是admin管理節點 來部署ceph-deploy 配置管理monitor mds 和osd兩個節點 說明在四個節點要準備的環境
1、使用Centos7.2.1511 核心版本為3.10.0.327
2、配置四個幾點的主機名 并互相都在/etc/hosts可以解析到
3、四個節點配置ntp 時間要一緻
以下都在admin節點完成
1、我使用的是root來部署的 官網建議使用其它使用者 如果按照官網建立新的使用者來部署 步驟如下
adduser -d /home/ceph -m ceph
授權ceph使用者的root權限
echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph
chomod 0440 /etc/sudoers.d/ceph
Visudo 修改 Defaults requiretty 這一行修改為修改 Defaults:ceph !requiretty
2、使各個機器之間到admin的節點是互信的 ssh-keygen生産密鑰 然後ssh-copy-id 考到各個節點
Vim ~/.ssh/config 添加
Host node1
Hostname node1
User ceph
Host node2
Hostname node2
User ceph
Host node3
Hostname node3
Host client-node
Hostname client-node
3、配置yum源 vim /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-hammer/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
4、yum update && yum install ceph-deploy 用于在各個節點安裝ceph
5、Mkdir /my-cluster & cd /my-cluster然後指明監控節點 ceph-deploy new node1後 會生成三個配置檔案 修改ceph.conf 增加 osd pool default size = 2 預設是3個osd節點使狀态為active+clean
6、在admin節點開始部署ceph ceph-deploy install admin node1 node2 node3中間如果報RuntimeError: NoSectionError: No section: 'ceph'
請修改mv /etc/yum.repo.d/ceph.repo /etc/yum.repo.d/ceph-deploy.repo 然後重新安裝就ok
也可以先删除資料 ceph-deploy purgedata admin node1 node2 node3
Ceph-deploy forgetkeys
7、添加monitor和收集keys
ceph-deploy mon create-initial
執行完指令後 在本目錄會生成四個key
8、在兩個osd節點上分别建立 目錄
Node2節點上建立 mkdir /var/local/osd0 node3節點上mkdir /var/local/osd1
9、在admin節點上 準備osd
ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1
然後激活
ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1
需要把osd目錄的屬組歸于ceph 否則沒有權限執行
10、copy你的配置檔案和admin key到你的admin節點和ceph節點
ceph-deploy admin admin-node node1 node2 node3
11、確定對該檔案有讀/etc/ceph/ceph.client.admin.keyring
chmod +r /etc/ceph/ceph.client.admin.keyring
12、最後檢測是否osd正常ceph-deploy health 如果正常會傳回ok狀态
最後有朋友會問 我為什麼選擇該軟體答案有N多種 在此隻簡單說幾句
高擴充性:使用普通x86伺服器,支援10~1000台伺服器,支援TB到PB級的擴充。
高可靠性:沒有單點故障,多資料副本,自動管理,自動修複。
高性能:資料分布均衡,并行化度高。對于objects storage和block storage,不需要中繼資料伺服器。
and so on!!!