您好,登錄后才能下訂單哦!
我們繼續上一小節的配置,進行ceph塊存儲客戶端的安裝以及塊設備映射
首先在ceph2管理節點上創建ceph塊客戶端用戶名和認證密鑰
ceph auth get-or-create client.rbd(用戶名稱) mon 'allow r'(對mon組件進行授權) osd 'allow class-read object_prefix rbd_children,allow rwx pool=rbd(默認的存儲池)' | tee /etc/ceph/ceph.client.rbd.keyring //將認證密鑰保存到 /etc/ceph目錄下的ceph.client.rbd.keyring文件中
將客戶端用戶的認證密鑰及配置文件拷貝到客戶端主機
scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.rbd.keyring root@client:/etc/ceph/
檢查客戶端主機內核是否支持rbd模塊
modprobe rbd //這里要注意linux內核在3.11版本以后默認才支持rbd模塊
在客戶端主機上支持以下命令
wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo 下載ceph.repo鏡像源
yum install -y ceph //下載ceph需要使用epel源
ceph -s --name client.rbd //查看集群的整體情況
塊設備的創建及映射
ceph集群中默認創建的塊設備會在rbd池中創建,但是使用deploy的安裝方式部署的集群,rbd池默認不創建
在ceph2控制節點上創建存儲池跟塊設備
ceph osd lspools //查看集群存儲池信息
ceph osd pool create rbd 512 //512為(pg num值)
確定pg num取值是強制性的,因為不能自動計算。下面是幾個常用的值:
少于5個OSD時可以把pg num設置為128
OSD數量在5到10個時,可把pg num設置為512
OSD數量在10到50個時,可把pg num設置為4096
OSD數量大于50時,你得理解權衡方法,以及如何自己計算pg num取值
在客戶端主機上執行以下命令
rbd create rbd1 --size 10240 --name client.rbd
rbd ls -p rbd --name client.rbd //查看存儲池的信息
rbd --image rbd1 info --name client.rbd //查看存儲塊的信息
映射塊設備
rbd map --image rbd1 --name client.rbd
在執行此命令時會出現如下的錯誤
這是因為Linux3.11版本的內核不支持對象映射(object-map)、深平(deep-flatten)和快速diff(fast-diff).為了解決這個問題,這里禁用不支持的特性
有三種方式可以禁用這些功能特性
1)動態禁用
在客戶端主機上執行此命令
rbd feature disable rbd1 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
2)創建RBD鏡像時,只啟動分層特性
rbd create rbd2 --size 10240 --images-feature layering --name client.rbd
3)ceph配置文件中禁用
rbd_default_features=1
這里我們使用第一種方式進行臨時禁用
rbd feature disable rbd1 exclusive-lock object-map deep-flatten fast-diff --name client.rbd
繼續在客戶端上進行映射
rbd map --image rbd1 --name client.rbd
顯示:/dev/rbd0
rbd showmapped --name client.rbd //查看客戶端rbd信息
fdisk -l /dev/rbd0 //查看塊存儲設備磁盤
mkfs.xfs /dev/rbd0
mkdir /mnt/ceph-disk1
mount /dev/rbd0 /mnt/ceph-disk1
df -h /mnt/ceph-disk1
寫入數據測試
dd if=/dev/zero of=/mnt/ceph-disk1/file1 count=100 bs=1M
做成服務,開機自動掛載
wget -O /usr/local/bin/rbd-mount https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount
chmod +x /usr/local/bin/rbd-mount
更改腳本的配置信息
在下載的腳本中找到如下信息并將/etc/ceph后面的用戶認證密鑰改成自己的認證密鑰
rbd map $rbdimage --id rbd --keyring /etc/ceph/ceph.client.rbd.krying
下載服務自動啟動腳本
wget -O /etc/systemd/system/rbd-mount.service https://raw.githubusercontent.com/aishangwei/ceph-demo/master/client/rbd-mount.service
systemctl daemon-reload
systemctl enable rbd-mount
umount /mnt/ceph-disk1 //卸載掛載的塊存儲
systemctl start rbd-mount //啟動自動掛載服務進行驗證
ll /mnt/ceph-disk1 //查看是否掛載成功
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。