張家港保稅區(qū)建設(shè)規(guī)劃局網(wǎng)站湖南優(yōu)化公司
openEuler部署Ceph集群
- 1 目標(biāo)
- 2 環(huán)境
- 2.1 服務(wù)器信息
- 2.2 軟件信息
- 3 部署流程
- 3.1 獲取系統(tǒng)鏡像
- 3.2 創(chuàng)建虛擬機
- 3.3 配置虛擬機
- 3.3.1 配置互信
- 3.3.2 關(guān)閉防火墻
- 3.3.3 配置免密登錄
- 3.3.4 配置NTP
- 3.3.4.1 安裝NTP服務(wù)
- 3.3.4.2 配置NTP服務(wù)端
- 3.3.4.3 配置NTP客戶端
- 3.3.4.4 啟動NTP服務(wù)
- 3.3.5 配置epel源
- 3.3.5.1 掛載全量鏡像
- 3.3.5.2 創(chuàng)建yum本地源和外部源
- 3.3.6 設(shè)置permissive模式
- 3.3.7 修改umask
- 3.3.8 配置Ceph鏡像源
- 3.4 安裝Ceph
- 3.4.1 安裝Ceph軟件
- 3.4.1.1 安裝Ceph
- 3.4.1.2 安裝ceph-deploy
- 3.4.1.3 查看Ceph版本
- 3.4.2 部署MON服務(wù)
- 3.4.3 部署MGR服務(wù)
- 3.4.4 部署OSD服務(wù)
- 3.5 驗證環(huán)境
- 4 備注
1 目標(biāo)
在openEuler操作系統(tǒng)上使用root用戶搭建兩節(jié)點Ceph集群,部署塊存儲,供學(xué)習(xí)研究使用。
2 環(huán)境
2.1 服務(wù)器信息
主機名 | IP | 磁盤 | 角色 |
---|---|---|---|
ceph-100 | 192.168.100.100 | /dev/sda, /dev/sdb, /dev/sdc | ceph-deploy,monitor,mgr,osd |
ceph-101 | 192.168.100.101 | /dev/sda, /dev/sdb, /dev/sdc | monitor,mgr,osd |
[root@ceph-100 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS-SP1)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS-SP2)"
ANSI_COLOR="0;31"
2.2 軟件信息
[root@ceph-100 ~]# ceph -v
ceph version 12.2.8 (ae699615bac534ea496ee965ac6192cb7e0e07c0) luminous (stable)
[root@ceph-100~]# ceph-deploy --version
2.0.1
3 部署流程
3.1 獲取系統(tǒng)鏡像
經(jīng)過驗證,推薦使用清華源來獲取特定版本的ISO鏡像。本示例將按照前述章節(jié)2.1下載Euler 20.3 SP1鏡像.
# 下載常規(guī)鏡像,供KVM安裝部署虛擬機ceph-100, ceph-101
[root@node1 ~] wget https://mirrors.tuna.tsinghua.edu.cn/openeuler/openEuler-20.03-LTS-SP1/ISO/aarch64/openEuler-20.03-LTS-SP1-aarch64-dvd.iso
# 下載同樣版本的全量鏡像,供執(zhí)行Ceph本地安裝部署 -- 因euler源較少、下載緩慢且不穩(wěn)定故強烈推薦本地安裝
[root@node1 ~] wget https://mirrors.tuna.tsinghua.edu.cn/openeuler/openEuler-20.03-LTS-SP1/ISO/aarch64/openEuler-20.03-LTS-SP1-everything-aarch64-dvd.iso
3.2 創(chuàng)建虛擬機
準(zhǔn)備兩個虛擬機(具體步驟請參考其他博客),虛擬機需要擁有三個磁盤(建議均大于50GB)。本文示例在物理服務(wù)器node1上利用KVM創(chuàng)建虛擬機ceph-100和ceph-101,其配置相同,細節(jié)信息參考ceph-100:
[root@node1 ~]# virsh dominfo ceph_100
Id: 28
Name: ceph_219
UUID: 0ad711e1-5d28-4599-8ec8-3409a568b456
OS Type: hvm
State: running
CPU(s): 4
CPU time: 67697.8s
Max memory: 8,388,608 KiB
Used memory: 8,388,608 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: none
Security DOI: 0[root@node1 ~]# virsh domblklist ceph_100Target Source
-------------------------------------------------------------------sda /data4/wurz/ceph_100/ceph_100.qcow2sdb /data4/wurz/ceph_100/ceph_100_01.qcow2sdc /data4/wurz/ceph_100/ceph_100_02.qcow2sdd -
3.3 配置虛擬機
3.3.1 配置互信
參照章節(jié)2.1對兩個虛擬機ceph-100, ceph-101配置永久主機名。
[root@ceph-100~]# hostnamectl --static set-hostname ceph-100[root@ceph-101~]# hostnamectl --static set-hostname ceph-101[root@ceph-101~]# cat /etc/hosts
192.168.100.100 ceph-100
192.168.100.101 ceph-101[root@ceph-101~]# cat /etc/hosts
192.168.100.100 ceph-100
192.168.100.101 ceph-101
3.3.2 關(guān)閉防火墻
在虛擬機ceph-100, ceph-101執(zhí)行如下指令,關(guān)閉防火墻。
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
3.3.3 配置免密登錄
在管理節(jié)點ceph-100上執(zhí)行如下指令生成密鑰,并拷貝至ceph-101。
# 針對該交互指令一直使用默認配置即可
[root@ceph-100~]# ssh-keygen -t rsa# 從管理節(jié)點ceph-100復(fù)制密鑰到其他節(jié)點,可能需要輸入密碼(虛擬機root用戶密碼)
[root@ceph-100~]# ssh-copy-id ceph@ceph-100
[root@ceph-100~]# ssh-copy-id ceph@ceph-101
3.3.4 配置NTP
因Ceph集群會自動校驗存儲節(jié)點間的時間,為了避免因時間差異而導(dǎo)致告警,此處需要針對每個節(jié)點配置NTP服務(wù)。
3.3.4.1 安裝NTP服務(wù)
每個節(jié)點均需配置。
# 安裝NTP服務(wù)
yum -y install ntp ntpdate# 備份舊配置
cd /etc && mv ntp.conf ntp.conf.bk
3.3.4.2 配置NTP服務(wù)端
以管理節(jié)點ceph-100作為NTP的服務(wù)端,進行如下配置
[root@ceph-100~]# cat /etc/ntp.conf
restrict 127.0.0.1
restrict ::1
restrict 192.168.100.0 mask 255.255.255.0
server 127.127.1.0
fudge 127.127.1.0 stratum 8
備注:restrict 192.168.100.0 為ceph-100的網(wǎng)段, mask 255.255.255.0為ceph-100的掩碼。
3.3.4.3 配置NTP客戶端
NTP客戶端的配置文件/etc/ntp.conf中需要增加NTP服務(wù)端的IP信息。
[root@ceph-101~]# cat /etc/ntp.conf
server 192.168.100.100
3.3.4.4 啟動NTP服務(wù)
每個節(jié)點均需啟動NTP服務(wù)。
systemctl start ntpd
systemctl enable ntpd
systemctl status ntpd
在管理節(jié)點ceph-100之外的所有節(jié)點上執(zhí)行如下指令:
# 強制當(dāng)前節(jié)點同步NTP服務(wù)端ceph-100的時間
ntpdate ceph-100# 當(dāng)前節(jié)點寫入硬件時鐘,避免重啟失效
hwclock -w# 設(shè)置定時任務(wù),每隔10分鐘與NTP服務(wù)端ceph-100同步時間
yum install -y crontabs
chkconfig crond on
systemctl start crond
crontab -e# crontab新增如下內(nèi)容
*/10 * * * * /usr/sbin/ntpdate 192.168.3.166
3.3.5 配置epel源
Euler系統(tǒng)epel源配置相對繁雜,請務(wù)必確保正確配置,否則會導(dǎo)致yum無法下載依賴問題。需要注意的是,經(jīng)過實踐證明,即便該epel源配置正確,下載資源時候依然會受到資源存在性以及穩(wěn)定性的限制而導(dǎo)致失敗。此時可以考慮從前文提到的全量鏡像(-everything-.iso)使用yum install執(zhí)行部分軟件的安裝。
3.3.5.1 掛載全量鏡像
請參考下述流程在每個節(jié)點進行配置。
# 創(chuàng)建全量鏡像掛載點 -- 此時需要注意系統(tǒng)盤容量,全量進項大小一般接近20GB,這也是文檔開始要求每個磁盤均不小于50GB的原因之一
mkdir -p /iso
mount /root/openEuler-***-everything-aarch64-dvd.iso /iso
3.3.5.2 創(chuàng)建yum本地源和外部源
vi /etc/yum.repos.d/openEuler.repo
# 增加下述兩部分內(nèi)容
[Base]
name=Base
baseurl=file:///iso
enabled=1
gpgcheck=0
priority=1[arch_fedora_online]
name=arch_fedora
baseurl=https://mirrors.huaweicloud.com/fedora/releases/34/Everything/aarch64/os/
enabled=1
gpgcheck=0
priority=2
3.3.6 設(shè)置permissive模式
# 設(shè)置立即生效,但是重啟會失效
setenforce permissive# 設(shè)置永久生效
vi /etc/selinux/config
# 修改SELINUX=permissive
[root@ceph-219 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.3.7 修改umask
所有節(jié)點均需修改。因openEuler系統(tǒng)安全性很高,需要修改umask為0022才能正常部署Ceph。
vi /etc/bashrc
將最后一行修改/新增為“umask 0022”。
# 刷新配置生效
source /etc/bashrc
# 驗證是否生效
umask
# 輸出 0022則表明已生效
3.3.8 配置Ceph鏡像源
所有節(jié)點均需配置。
vi /etc/yum.repos.d/ceph.repo
# 增加如下內(nèi)容
[Ceph]
name=Ceph packages for $basearch
baseurl=http://download.ceph.com/rpm-nautilus/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1[ceph-source]
name=Ceph source packages
baseurl=http://download.ceph.com/rpm-nautilus/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
priority=1# 更新yum源
yum clean all && yum makecache
務(wù)必確保該步驟成功,一旦失敗則需要先解決該問題。
3.4 安裝Ceph
3.4.1 安裝Ceph軟件
3.4.1.1 安裝Ceph
所有節(jié)點均需安裝。
dnf -y install librados2-14.2.10 ceph-14.2.10
pip install prettytable
經(jīng)過實踐證明Ceph 14.2.10極有可能失敗,將會提供本地安裝Ceph 12.2.8版本,請看下述信息:
3.4.1.2 安裝ceph-deploy
僅管理節(jié)點ceph-100需要安裝,后續(xù)服務(wù)部署依賴此軟件。
[root@ceph-100~]# pip install ceph-deploy
# 備注:該步驟可能因網(wǎng)絡(luò)問題而失敗,一旦失敗請嘗試其他辦法# 修改配置,增加 'openeuler': fedora, 使得ceph-deploy適配openEuler系統(tǒng)
[root@ceph-100~]# vi /lib/python2.7/site-packages/ceph_deploy/hosts/__init__.py
3.4.1.3 查看Ceph版本
ceph -v
ceph version 12.2.8 (ae699615bac534ea496ee965ac6192cb7e0e07c0) luminous (stable)
3.4.2 部署MON服務(wù)
僅需在管理節(jié)點ceph-100執(zhí)行。
# 創(chuàng)建集群
[root@ceph-100~]# cd /etc/ceph
[root@ceph-100 ceph]# ceph-deploy new ceph-100 ceph-101# 修改ceph.conf配置
[root@ceph-100 ceph]# cat /etc/ceph/ceph.conf
[global]
fsid = 7dea53e4-4760-4207-925c-e895720d667a
mon_initial_members = ceph-100, ceph-101
mon_host = 192.168.122.100,192.168.122.101
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephxpublic_network = 192.168.100.0/24
cluster_network = 192.168.100.0/24[mon]
mon_allow_pool_delete = true# 初始化MON服務(wù)
[root@ceph-100 ceph]# ceph-deploy mon create-initial
# 將“ceph.client.admin.keyring”拷貝到各個節(jié)點上
[root@ceph-100 ceph]# ceph-deploy --overwrite-conf admin ceph-100 ceph-101# 校驗是否配置成功
[root@ceph-100 ceph]# ceph -s
cluster:
id: 7dea53e4-4760-4207-925c-e895720d667a
health: HEALTH_OKservices:
mon: 2 daemons, quorum ceph1,ceph2 (age 1h)
3.4.3 部署MGR服務(wù)
僅需在管理節(jié)點ceph-100執(zhí)行。
ceph-deploy mgr create ceph1 ceph2 ceph3# 驗證是否部署成功
ceph -s
cluster:
id: 7dea53e4-4760-4207-925c-e895720d667a
health: HEALTH_OKservices:
mon: 2 daemons, quorum ceph-100,ceph-101 (age 1h)
mgr: ceph-100(active, since 1d), standbys: ceph-101
3.4.4 部署OSD服務(wù)
僅需在管理節(jié)點ceph-100執(zhí)行。