集群:HPC/LB/HA
LB:nginx / lvs / haproxy / F5
HA:keepalived / RHCS
LVS:Linux虛擬服務(wù)器
LVS工作模式:NAT / TUN / DR
存儲:
1、塊存儲,如iSCSI、 FC SAN
2、文件存儲,如NFS,CIFS
3、對象存儲
Ceph:
1、它是一個分布式文件系統(tǒng),可以提供塊存儲、文件系統(tǒng)存儲和對象存儲。但是文件存儲還不非常成熟,不建議在生產(chǎn)環(huán)境中使用。應(yīng)用的最多的形式是塊存儲。
2、Ceph主要組件
OSD:對象存儲設(shè)備,它是ceph中唯一的真正進(jìn)行數(shù)據(jù)存儲的組件。通常情況下,一個OSD進(jìn)程綁定到一塊物理磁盤。
MON:Monitor監(jiān)視器,跟蹤整個集群的健康狀態(tài)。它為每個ceph組件維護(hù)一個映射表。MON進(jìn)程數(shù)目是奇數(shù),如3、5、7……
MDS:元數(shù)據(jù)服務(wù)器。為ceph文件系統(tǒng)存儲提供元數(shù)據(jù),如果不是文件系統(tǒng)存儲則不需要。
元數(shù)據(jù):描述數(shù)據(jù)的數(shù)據(jù)。如一本書的出版社、頁數(shù)、作者、出版時間等都是元數(shù)據(jù)。
RADOS:可靠自主的分存式對象存儲。RADOS保證CEPH中的各種數(shù)據(jù)都是對象形式,操持CEPH的一致性。
RBD:為客戶端提供塊存儲接口
RADOS GW:為客戶端提供對象存儲接口
CEPH FS:為客戶端提供文件系統(tǒng)存儲接口
CEPH環(huán)境搭建
1、創(chuàng)建5臺虛擬機(jī)
node1.tedu.cn 192.168.4.1
node2.tedu.cn 192.168.4.2
node3.tedu.cn 192.168.4.3
node4.tedu.cn 192.168.4.4
client.tedu.cn 192.168.4.10
2、啟動虛機(jī)
[root@room8pc16 kvms_ansi]# for vm in rh7_node{1..5}
do
virsh start $vm
done
3、在物理主機(jī)上配置CEPH的YUM源
[root@room8pc16 cluster]# mkdir /var/ftp/ceph/
[root@room8pc16 cluster]# tail -1 /etc/fstab
/ISO/rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph iso9660 defaults 0 0
[root@room8pc16 cluster]# mount -a
[root@room8pc16 ~]# vim server.repo
[rhel7.4]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7.4
enabled=1
gpgcheck=0
[mon]
name=mon
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON
enabled=1
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD
enabled=1
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools
enabled=1
gpgcheck=0
4、CEPH集群中有很多節(jié)點,逐臺管理效率低下,還可能出現(xiàn)錯誤,所以可以找一臺主機(jī)當(dāng)作管理節(jié)點,由它統(tǒng)一管理所有主機(jī)。我們保用node1作為管理節(jié)點。
5、為了使得管理節(jié)點能夠方便的管理,先創(chuàng)建免密登陸
(1)通過名稱訪問各臺主機(jī),配置名稱解析
[root@node1 ~]# for i in {1..4}
do
echo -e "192.168.4.$i\tnode$i.tedu.cn\tnode$i" >> /etc/hosts
done
[root@node1 ~]# echo -e "192.168.4.10\tclient.tedu.cn\tclient" >> /etc/hosts
(2)生成密鑰對,非交互模式生成
[root@node1 ~]# ssh-keygen -f /root/.ssh/id_rsa -N ""
(3)第一交ssh到遠(yuǎn)程主機(jī)會被詢問(yes/no)???梢韵葘⑦h(yuǎn)程主機(jī)的身份信息,保存到本地
[root@node1 ~]# ssh-keyscan 192.168.4.{1..4} >> /root/.ssh/known_hosts
[root@node1 ~]# ssh-keyscan 192.168.4.10 >> /root/.ssh/known_hosts
[root@node1 ~]# ssh-keyscan node{1..4} >> /root/.ssh/known_hosts
[root@node1 ~]# ssh-keyscan client >> /root/.ssh/known_hosts
(4)拷貝密鑰到遠(yuǎn)程主機(jī)
[root@node1 ~]# for ip in 192.168.4.{1..4}
do
ssh-copy-id -i $ip
done
[root@node1 ~]# ssh-copy-id -i 192.168.4.10
(5)把hosts文件拷貝到各臺主機(jī)
[root@node1 ~]# for host in node{2..4}
do
scp /etc/hosts $host:/etc/
done
[root@node1 ~]# scp /etc/hosts client:/etc
6、將client作為NTP服務(wù)器
NTP:網(wǎng)絡(luò)時間協(xié)議,udp123端口。用于同步時間。
精確時間的確定:原子鐘。全球時間不是一樣的,因為地球是圓的,所以將地球按經(jīng)度,每隔15度角劃分一個時區(qū),一共24時區(qū)。中國采用東八區(qū)時間。
(1)在client上安裝軟件包
[root@client ~]# yum install -y chrony
(2)修改配置
[root@client ~]# vim /etc/chrony.conf
allow 192.168.4.0/24
local stratum 10
(3)啟動服務(wù)
[root@client ~]# systemctl restart chronyd; systemctl enable chronyd
(4)將其他主機(jī)作為客戶端
[root@node1 ~]# vim /etc/chrony.conf
server 192.168.4.10 iburst #其他3行server開頭的刪除
[root@node1 ~]# for ip in 192.168.4.{2..4}
do
scp /etc/chrony.conf $ip:/etc/
done
[root@node1 ~]# for ip in 192.168.4.{1..4}
do
ssh $ip systemctl restart chronyd
done
(5)測試
[root@node1 ~]# date -s "2018-06-20 12:00:00"
[root@node1 ~]# ntpdate 192.168.4.10 跟192.168.4.10同步時鐘
[root@node1 ~]# date 時間已同步
7、在node1~node3上各添加3塊硬盤
8、在node1節(jié)點上安裝ceph部署工具
[root@node1 ~]# yum install -y ceph-deploy
9、在node1節(jié)點上為ceph創(chuàng)建工作目錄,目錄名自定義
[root@node1 ~]# mkdir ceph_conf
[root@node1 ~]# cd ceph_conf
10、生成ceph安裝所必須的配置文件
[root@node1 ceph_conf]# ceph-deploy new node1 node2 node3
[root@node1 ceph_conf]# ls
11、安裝ceph集群
[root@node1 ceph_conf]# ceph-deploy install node1 node2 node3
12、初始化所有節(jié)點的MON服務(wù)
[root@node1 ceph_conf]# ceph-deploy mon create-initial
配置CEPH集群
1、在node1~node3節(jié)點上對vdb進(jìn)行分區(qū),將vdb的分區(qū)用于日志
[root@node1 ceph_conf]# for host in node{1..3}
do
ssh $host parted /dev/vdb mklabel gpt
done
[root@node1 ceph_conf]# for host in node{1..3}; do ssh $host parted /dev/vdb mkpart primary 1024kB 50%; done
[root@node1 ceph_conf]# for host in node{1..3}; do ssh $host parted /dev/vdb mkpart primary 50% 100%; done
[root@node1 ceph_conf]# for host in node{1..3}; do ssh $host lsblk; done
[root@node1 ceph_conf]# for host in node{1..3}; do ssh $host chown ceph.ceph /dev/vdb?; done # 系統(tǒng)重啟后屬主屬組又變回root.disk了。
配置udev,使得磁盤屬主屬組在reboot后,仍然是ceph
[root@node3 ~]# vim /etc/udev/rules.d/90-mydisk.rules
ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"
2、創(chuàng)建OSD磁盤,在node1上執(zhí)行
(1)初始化磁盤
[root@node1 ceph_conf]# for host in node{1..3}
do
ceph-deploy disk zap $host:vdc $host:vdd
done
(2)創(chuàng)建OSD,將數(shù)據(jù)的日志區(qū)指定為vdb
[root@node1 ceph_conf]# for host in node{1..3}
do
ceph-deploy osd create $host:vdc:/dev/vdb1 $host:vdd:/dev/vdb2
done
如果出現(xiàn)run ‘gatherkeys’的錯誤提示,執(zhí)行以下命令
[root@node1 ceph_conf]# ceph-deploy gatherkeys node1 node2 node3
(3)查看狀態(tài)
[root@node1 ceph_conf]# ceph -s 如果正常將顯示HEATH_OK
如果狀態(tài)是HEALTH_ERR,就重啟服務(wù),如下:
[root@node1 ceph_conf]# for host in node{1..3}; do ssh $host systemctl restart ceph*.service ceph*.target ; done
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。