1. 程式人生 > >使用ceph-deploy搭建三節點ceph集群

使用ceph-deploy搭建三節點ceph集群

目錄 界面 ring pda res 需要 網絡 roo 教程

本文參照臧學雪園老師的Ceph基礎篇視頻教程加以歸納整理,再次感謝臧雪園老師。
基礎環境的準備

實驗拓撲圖:
技術分享圖片

首先準備基礎環境,因為我的筆記本電腦內存只有4G,所以三臺虛擬機全部使用最小安裝。

ceph1:192.168.6.145   每臺主機準備四塊磁盤,sda作為系統盤,其它三塊作為ceph的OSD服務磁盤使用
ceph2:192.168.6.146
ceph3:192.168.6.147

systemctl stop firewalld           
systemctl disable firewalld     //關閉防火墻並設置開機不啟動
vim /etc/selimux/config
selinux=disabled                //更改selinux的模式  
hostnamectl set-hostname ceph1   //三臺主機名分別設置為ceph1-3,註意這裏使用短主機名

然後準備安裝ceph集群的環境變量

vim /openrc                  //編輯一個文本
export username="ceph-admin"     //安裝時使用ceph-admin一般用戶安裝,這裏設置一個變量方便後面調用    
export passwd="ceph-admin"         
export node1="ceph1"                   //設置主機名的環境變量
export node2="ceph2"
export node3="ceph3"
export node1_ip="192.168.6.145"   //設置主機ip地址的環境變量
export node2_ip="192.168.6.146"
export node3_ip="192.168.6.147"
下載ceph的rpm源
wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
配置ntp
yum install -y ntp ntpdate
ntpdate cn.ntp.org.cn
systemctl restart ntpd
systemctl enable ntpd
systemctl enable ntpdate
創建部署用戶
useradd  ${username}       //創建ceph-admin用戶,用於集群部署
echo "${passwd}"  | passwd --stdin ${username}
echo "${username} ALL = (root) NOPASSWD:ALL"  | sudo tee /etc/sudoers.d/ceph-admin  //設置ceph-admin執行特殊命令時的sudo權限
chmod 0440  /etc/sudoers.d/ceph-admin   更該文件權限
配置三臺主機的主機名解析
vim /etc/hosts
192.168.6.145    ceph1                 
192.168.6.146    ceph2
192.168.6.147    ceph3

配置三臺主機的ssh免密鑰登錄

su - ceph-admin
ssh-keygen
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

使用ceph-deploy部署集群

安裝ceph-deploy
sudo yum install -y ceph-deploy python-pip //註意python-pip需要使用epel源,提前將epel源配置好
mkdir  my-cluster      //創建安裝目錄
cd my-cluster
進行節點部署
ceph-deploy new ceph1 ceph2 ceph3    //這裏務必要保證三臺主機的網絡是互通的
安裝完之後my-cluster目錄下面會生成三個文件
ceph.conf
ceph-deploy-ceph.log
ceph.mon.keyring
編輯ceph.conf配置文件,在最後添加一下信息
sudo vim  ~/my-cluster/ceph.conf
public network = 192.168.6.0/24
cluster network = 192.168.6.0/24
安裝ceph包
sudo  yum install -y ceph ceph-radosgw         //三個節點上都要安裝,這兩個包需要使用epel源,兩外兩個節點需要配置好epel源
配置初始的monitor並收集所有密鑰:
ceph-deploy admin ceph1 ceph2 ceph3 
配置osd
使用for循環語句執行(也可以寫到文本中做成腳本執行)
for dev in /dev/sdb  /dev/sdc /dev/sdd         //註意磁盤名稱,可以使用lsblk命令進行查看
do
        ceph-deploy disk zap ceph1 $dev
        ceph-deploy osd create ceph1 --data  $dev
        ceph-deploy disk zap ceph2 $dev
        ceph-deploy osd create ceph2 --data  $dev
        ceph-deploy disk zap ceph3 $dev
        ceph-deploy osd create ceph3 --data  $dev
done
配置完OSD之後,部署mgr用於監控整個集群
ceph-deploy mgr create ceph1 ceph2 ceph3 
開啟dashboard模塊,啟用瀏覽器界面
在開啟dashboard模塊之前要註意,因為我們是使用ceph-admin一般用戶進行安裝,所有無法調用/etc/ceph/下面的文件,將/etc/ceph目錄下面的文件屬主屬組全部更改為ceph-admin
sudo chown -R ceph-admin /etc/ceph
然後加載dashboard模塊
ceph mgr module enable dashboard 
加載完模塊之後查看7000號端口號是否正常監聽
ss -ntl 
打開瀏覽器輸入192.168.6.145:7000查看ceph存儲集群整體狀況

此時使用ceph-deploy部署三節點集群配置完畢

使用ceph-deploy搭建三節點ceph集群