1.介紹
Ceph是一種為優秀的性能、可靠性和可擴展性而設計的統一的、分布式的存儲系統。同時提供對象存儲、塊存儲和文件系統存儲三種功能,以便在滿足不同應用需求的前提下簡化部署和運維。
2.安裝准備
- 注意:以下命令在粘貼復制的時候可能會出現字符格式的問題,若命令提示找不到命令,可手動輸入,有其他錯誤可在網上搜尋解決辦法或回復評論。
- 安裝系統為centos 7
- 准備5台主機(虛擬主機或者實體機都可,ip為操作機器的ip地址)
172.18.16.200 用作管理節點admin-node
172.18.16.201 用作監控節點mon-node1
172.18.16.202 用作osd1存儲節點node2
172.18.16.203 用作osd2存儲節點node3
172.18.16.204 用作osd3存儲節點node4
- 修改admin-node的hosts文件
vi /etc/hosts
增加以下內容
172.18.16.201 mon-node1
172.18.16.202 node2
172.18.16.203 node3
172.18.16.204 node4
- 修改每台主機的主機名
hostnamectl set-hostname "新的名字"
本文章使用以上命名admin-node、mon-node1、node2、node3、node4
- 在每台主機上創建ceph用戶
創建用戶
sudo adduser -d /home/ceph -m ceph
設置密碼
sudo passwd ceph
設置賬戶權限
echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph
sudo chomod 0440 /etc/sudoers.d/ceph
執行命令 visudo
把Defaults requiretty 這一行修改為修改 Defaults:ceph !requiretty
- 關閉防火牆及selinux
防火牆關閉及禁用
systemctl stop firewalld.service#停止firewall
systemctl disable firewalld.service#禁止firewall開機啟動關閉selinuxvi /etc/selinux/config,將SELINUX置為disabled
- 升級centos7的內核
查看當前內核版本
uname –r
導入key
rpm --
import
https:
//www
.elrepo.org
/RPM-GPG-KEY-elrepo
.org
安裝elrepo的yum源
rpm -Uvh http:
//www
.elrepo.org
/elrepo-release-7
.0-2.el7.elrepo.noarch.rpm
安裝內核
yum --enablerepo=elrepo-kernel
install
kernel-ml-devel kernel-ml –y
查看默認內核啟用版本
awk
-F\
' '
$1==
"menuentry "
{print $2}'
/etc/grub2
.cfg
設置默認啟動
grub2-
set
-default 0
重啟系統
reboot
- ssh免密碼登錄
在admin-node節點切換到ceph用戶
su ceph
執行命令 ssh-keygen(一路回車就行)
將上一步的key復制到其他節點
ssh-copy-id ceph@mon-node1
ssh-copy-id ceph@node2
ssh-copy-id ceph@node3
ssh-copy-id ceph@node4
- 修改config文件(admin-node節點操作)
vi ~/.ssh/config(需要先執行一次ssh localhost)
增加以下內容
Host mon-node1
Hostname 172.18.16.201
User ceph
Host node2
Hostname 172.18.16.202
User ceph
Host node3
Hostname 172.18.16.203
User ceph
Host node4
Hostname 172.18.16.204
User ceph
- 為admin-node節點安裝ceph-deploy
第一步:增加 yum配置文件
sudo vim /etc/yum.repos.d/ceph.repo
添加以下內容:
[ceph-noarch]
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-firefly/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
第二步:更新軟件源並按照ceph-deploy,時間同步軟件
sudo yum update && sudo yum install ceph-deploy
sudo yum install ntp ntpupdate ntp-doc
- 在admin-node節點的ceph用戶下創建目錄
mkdir my-cluster
cd my-cluster
- 為每個節點安裝ceph
創建mon節點
ceph-deploy new mon-node1
利用ceph-deploy為節點安裝ceph
ceph-deploy install admin-node mon-node1 node2 node3 node4
初始化監控節點並收集keyring:
ceph-deploy mon create-initial
為存儲節點osd進程分配磁盤空間:
ssh node2
sudo mkdir /var/local/osd0
exit
為存儲節點osd進程分配磁盤空間:
ssh node3
sudo mkdir /var/local/osd1
exit
為存儲節點osd進程分配磁盤空間:
ssh node4
sudo mkdir /var/local/osd2
exit
- 通過admin-node節點的ceph-deploy開啟其他節點osd進程,並激活。
ceph-deploy osd prepare node2:/var/local/osd0
ceph-deploy osd activate node2:/var/local/osd0
node3、node4類似操作
- 把admin-node節點的配置文件與keyring同步至其它節點:
ceph-deploy admin admin-node mon-node1 node2 node3 node4
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
- 檢查集群狀況
集群安裝狀態
ceph –s
集群健康狀況
ceph health
如果成功將提示:HEALTH_OK