目錄
一、概述
特點(diǎn)
1、統(tǒng)一存儲(chǔ)
2、高擴(kuò)展性
3、可靠性強(qiáng)
4、高性能
組件
1、Monitor
2、OSD
3、MOD
4、Objet
5、PG
6、RADOS
7. Libradio
8. CRUSH
9. RBD
10. RGW
11. CephFS
架構(gòu)圖
二、準(zhǔn)備工作
三、ceph安裝
創(chuàng)建集群目錄
修改配置文件
安裝
初始化monitor
同步管理信息
?編輯
安裝mgr(管理守護(hù)進(jìn)程)
安裝rgw
創(chuàng)建mds服務(wù)
OSD安裝,創(chuàng)建OSD
查看集群狀態(tài)
三、dashboard安裝
開(kāi)啟dashboard模塊
生成簽名
創(chuàng)建目錄
啟動(dòng)服務(wù)
設(shè)置訪問(wèn)地址與端口
關(guān)閉https
查看ceph地址
設(shè)置用戶和密碼
訪問(wèn)測(cè)試
在ceph文件系統(tǒng)創(chuàng)建存儲(chǔ)池
查看存儲(chǔ)池
創(chuàng)建文件系統(tǒng)
查看文件系統(tǒng)
查看mds狀態(tài)
四、客戶掛載
centos1操作
centos4操作
一、概述
????????是一個(gè)統(tǒng)一的分布式存儲(chǔ)系統(tǒng),設(shè)計(jì)初衷是提供較好的性能、可靠性和可擴(kuò)展性。
特點(diǎn)
1、統(tǒng)一存儲(chǔ)
????????雖然 ceph 底層是一個(gè)分布式文件系統(tǒng),但由于在上層開(kāi)發(fā)了支持對(duì)象和塊的接口。所以在開(kāi)源存儲(chǔ)軟件中,能夠一統(tǒng)江湖。至于能不能千秋萬(wàn)代,就不知了。
2、高擴(kuò)展性
? ? ? ? 擴(kuò)容方便、容量大。能夠管理上千臺(tái)服務(wù)器、EB 級(jí)的容量。
3、可靠性強(qiáng)
? ? ? ? 支持多份強(qiáng)一致性副本,EC。副本能夠垮主機(jī)、機(jī)架、機(jī)房、數(shù)據(jù)中心存放。所以安全可靠。存儲(chǔ)節(jié)點(diǎn)可以自動(dòng)管理、自動(dòng)修復(fù)。無(wú)單點(diǎn)故障,容錯(cuò)性強(qiáng)。
4、高性能
? ? ? ? 因?yàn)槭嵌鄠€(gè)副本,因此在讀寫(xiě)操作時(shí)候能夠做到高度并行化。理論上,節(jié)點(diǎn)越多,整個(gè)集群的 IOPS和吞吐量越高。另外一點(diǎn) ceph 客戶端讀寫(xiě)數(shù)據(jù)直接與存儲(chǔ)設(shè)備(osd) 交互。
組件
1、Monitor
一個(gè)Ceph集群需要多個(gè)Monitor組成的小集群,它們通過(guò)Paxos同步數(shù)據(jù),用來(lái)保存OSD的元數(shù)據(jù)。
2、OSD
OSD全稱Object Storage Device,也就是負(fù)責(zé)響應(yīng)客戶端請(qǐng)求返回具體數(shù)據(jù)的進(jìn)程。一個(gè)Ceph集群一般都有很多個(gè)OSD。
3、MOD
MDS全稱Ceph Metadata Server,是CephFS服務(wù)依賴的元數(shù)據(jù)服務(wù)。
4、Objet
Ceph最底層的存儲(chǔ)單元是Object對(duì)象,每個(gè)Object包含元數(shù)據(jù)和原始數(shù)據(jù)。
5、PG
PG全稱Placement Grouops,是一個(gè)邏輯的概念,一個(gè)PG包含多個(gè)OSD。引入PG這一層其實(shí)是為了更好的分配數(shù)據(jù)和定位數(shù)據(jù)。
6、RADOS
RADOS全稱Reliable Autonomic Distributed Object Store,是Ceph集群的精華,用戶實(shí)現(xiàn)數(shù)據(jù)分配、Failover等集群操作。
7. Libradio
Librados是Rados提供庫(kù),因?yàn)镽ADOS是協(xié)議很難直接訪問(wèn),因此上層的RBD、RGW和CephFS都是通過(guò)librados訪問(wèn)的,目前提供PHP、Ruby、Java、Python、C和C++支持。
8. CRUSH
CRUSH是Ceph使用的數(shù)據(jù)分布算法,類似一致性哈希,讓數(shù)據(jù)分配到預(yù)期的地方。
9. RBD
RBD全稱RADOS block device,是Ceph對(duì)外提供的塊設(shè)備服務(wù)。
10. RGW
RGW全稱RADOS gateway,是Ceph對(duì)外提供的對(duì)象存儲(chǔ)服務(wù),接口與S3和Swift兼容。
11. CephFS
CephFS全稱Ceph File System,是Ceph對(duì)外提供的文件系統(tǒng)服務(wù)。
架構(gòu)圖
1:文件上傳,先將文件切片成N個(gè)object(如果開(kāi)啟了cephFS,可以使用MDS緩存)
2:切片后的文件object會(huì)存入到Ceph中
3:文件存儲(chǔ)前,會(huì)經(jīng)過(guò)CRUSH算法,計(jì)算當(dāng)前文件存儲(chǔ)歸結(jié)于哪個(gè)PG
4:PG是邏輯概念上對(duì)文件存儲(chǔ)范圍劃分的索引
5:根據(jù)PG索引將文件存儲(chǔ)到指定服務(wù)器的OSD中
二、準(zhǔn)備工作
centos1? ? monitor? ? osd? ? ? ? ?192.168.100.3
centos2? ????????????????? osd? ? ? ? ?192.168.100.4
centos3? ????????????????? osd? ? ? ? ?192.168.100.5
centos4? ????????????????? Client? ? ? 192.168.100.6
1、關(guān)閉防火墻
systemctl stop firewalld.service?
systemctl disable firewalld.service?
2、關(guān)閉圖形網(wǎng)絡(luò)管理器
systemctl stop NetworkManager
systemctl disable NetworkManager
3、配置靜態(tài)ip
sed -i "s/ONBOOT=no/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
4、關(guān)閉selinux
setenforce 0
5、修改主機(jī)名
hostnamectl set-hostname centos{1..4}
6、修改設(shè)置
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
systemctl restart sshd
7、ssh免密設(shè)置
centos1
?? ?ssh-keygen
?? ?for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos2
?? ?ssh-keygen
?? for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos3
?? ?ssh-keygen
?? ?for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
centos4
?? ?ssh-keygen
?? ?for i in 3 4 5 6 ; do ssh-copy-id root@192.168.100.$i;done
8、hosts文件修改
vim /etc/hosts
?? ?192.168.100.3? ?centos1
?? ?192.168.100.4? ? centos2
?? ?192.168.100.5? ? centos3
?? ?192.168.100.6? ? centos4
for i in 3 4 5 6;do scp /etc/hosts 192.168.100.$i:/etc/;done
9、時(shí)間同步
yum install -y ntp
vim /etc/ntp.conf
server 127.127.1.0? ·????????????????? 定義時(shí)間服務(wù)器
fudge 127.127.1.0 stratum 8? ? ? ?定義時(shí)間層次systemctl start ntpd
systemctl enable ntpd
for i in 4 5 6 ;do ssh 192.168.100.$i ?ntpdate 192.168.100.3;done
10、添加磁盤,并熱掃描
cd /sys/class/scsi_host
for i in `ls`;do echo "- - -" > $i/scan;done
lsblk? ? ? ? ? ? ? ? ? ? ? ? centos1 2 3 都需要進(jìn)行
11、磁盤格式化
mkfs.xfs /dev/sdb
三、ceph安裝
yum install epel-release -y
yum install lttng-ust -y
vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc[Ceph-noarch]
name=Ceph noarch packages
# 清華源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
yum -y install ceph ceph-deploy?
創(chuàng)建集群目錄
mkdir -p /usr/local/soft/cephcluster
cd /usr/local/soft/cephclusterceph-deploy new centos1 centos2 centos3
修改配置文件
vim ceph.conf
#對(duì)外開(kāi)放網(wǎng)段
public network = 192.168.100.0/24
# 設(shè)置pool池默認(rèn)分配數(shù)量
osd pool default size = 2
# 容忍更多的時(shí)鐘誤差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允許刪除pool
mon_allow_pool_delete = true
[mgr]
# 開(kāi)啟WEB儀表盤
mgr modules = dashboard
安裝
ceph-deploy install centos1 centos2 centos3(需要良好網(wǎng)絡(luò))
初始化monitor
ceph-deploy mon create-initial?
同步管理信息
ceph-deploy admin ?centos1 centos2 centos3
安裝mgr(管理守護(hù)進(jìn)程)
ceph-deploy mgr create ?centos1 centos2 centos3
安裝rgw
ceph-deploy rgw create centos1 centos2 centos3
創(chuàng)建mds服務(wù)
ceph-deploy mds create centos1 centos2 centos3
OSD安裝,創(chuàng)建OSD
ceph-deploy osd create --data /dev/sdb centos1
ceph-deploy osd create --data /dev/sdb centos2
ceph-deploy osd create --data /dev/sdb centos3
查看集群狀態(tài)
ceph -s
三、dashboard安裝
開(kāi)啟dashboard模塊
ceph mgr module enable dashboard
生成簽名
ceph dashboard create-self-signed-cert
創(chuàng)建目錄
mkdir -p /usr/local/jx/cephcluster/mgr-dashboard
cd /usr/local/jx/cephcluster/mgr-dashboard?
openssl req -new -nodes -x509 ? -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 ? -keyout dashboard.key -out dashboard.crt -extensions v3_ca
啟動(dòng)服務(wù)
ceph mgr module disable dashboard
ceph mgr module enable dashboard
設(shè)置訪問(wèn)地址與端口
ceph config set mgr mgr/dashboard/server_addr 192.168.100.3
ceph config set mgr mgr/dashboard/server_port 9001
關(guān)閉https
ceph config set mgr mgr/dashboard/ssl false
查看ceph地址
ceph mgr services
設(shè)置用戶和密碼
ceph dashboard set-login-credentials jx123 123.com
訪問(wèn)測(cè)試
https://192.168.100.3:8443
在ceph文件系統(tǒng)創(chuàng)建存儲(chǔ)池
少于5個(gè)OSD可把pg_num設(shè)置為128
OSD數(shù)量在5到10,可以設(shè)置pg_num為512
OSD數(shù)量在10到50,可以設(shè)置pg_num為4096
OSD數(shù)量大于50,需要計(jì)算pg_num的值
cd /usr/local/soft/cephcluster
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
查看存儲(chǔ)池
ceph osd lspools
創(chuàng)建文件系統(tǒng)
ceph fs new ?fs_test ?cephfs_metadata cephfs_data
查看文件系統(tǒng)
ceph fs ls
查看mds狀態(tài)
ceph mds stat
四、客戶掛載
centos1操作
安裝
同步管理信息
ceph-deploy install centos4
ceph-deploy admin ?centos4
centos4操作
yum install -y ceph-fuse
查看信息
ls ?/etc/ceph
ceph.client.admin.keyring創(chuàng)建掛載目錄
mkdir /ceph掛載ceph文件系統(tǒng)
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.100.3:6789 /ceph文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-730571.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-730571.html
到了這里,關(guān)于linux————ceph分布式部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!