今天就跟大家聊聊有關(guān)如何通過Ceph-RBD和ISCSI-target實(shí)現(xiàn)硬盤共享,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比臨淄網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臨淄網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋臨淄地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
1 問題提出
現(xiàn)在要求把機(jī)房的設(shè)備存儲(chǔ)都利用起來,建立一個(gè)存儲(chǔ)池,能滿足用多少創(chuàng)建多少而且能夠跨平臺(tái)掛載創(chuàng)建的硬盤。目前,驗(yàn)室的機(jī)房目前已經(jīng)建立起來了CEPH的集群,存儲(chǔ)池達(dá)到了257TB,于是設(shè)想創(chuàng)建一個(gè)RBD(RADOS block device),然后通過ISCSI-target把創(chuàng)建的RBD導(dǎo)出來用于客戶端的掛載。
2 可行性分析
上述的問題的實(shí)現(xiàn)主要是兩部分,一部分是創(chuàng)建RBD,另一部分是通過安裝ISCSI-target把RBD導(dǎo)出,用于Ceph集群外主機(jī)掛載。目前的實(shí)驗(yàn)環(huán)境已經(jīng)可以成功的創(chuàng)建RBD用于Ceph集群內(nèi)的裝有RBD客戶端的主機(jī)掛載,剩下的就是第二部分的實(shí)現(xiàn)。由于Ceph已經(jīng)支持通過iscsi協(xié)議來使用rbd,所以在理論上是可行的。
3 實(shí)現(xiàn)過程
3.1 環(huán)境說明
實(shí)驗(yàn)平臺(tái):ubuntu14.04 server,內(nèi)核:3.13.0-32-generic
Ceph版本:version 0.94.2
服務(wù)端 ISCSI-target采用Linux SCSI target framework (tgt)(http://stgt.sourceforge.net/)
服務(wù)端IP:172.25.1.55
3.2 創(chuàng)建RBD
在ceph-admin節(jié)點(diǎn)執(zhí)行下面命令:
rbd create --size {megabytes} {pool-name}/{image-name}
比如創(chuàng)建大小為1GB,名為ceph-rbd1的RBD:
rbd create --size 1024 ceph-rbd1
未指定pool-name則默認(rèn)創(chuàng)建到rbd池里面
查看RBD:rbd ls {poolname} 不加poolname默認(rèn)查看rbd池下的RBD
查看RBD詳細(xì)信息:
rbd info {pool-name}/{image-name}
比如查看ceph-rbd1:rbd info ceph-rbd1 不加pool-name默認(rèn)rbd池
3.3 映射RBD
創(chuàng)建好的RBD需要映射到客戶機(jī)才能使用,客戶機(jī)需要內(nèi)核支持Ceph塊設(shè)備和文件系統(tǒng),推薦內(nèi)核2.6.34或更高版本。
檢查Linux版本和對(duì)RBD的支持:
modprobe rbd
Linux哲學(xué),不返回消息就是最好的消息。所以modprobe rbd沒有返回消息說明內(nèi)核對(duì)rbd支持。
在ceph-osd節(jié)點(diǎn)執(zhí)行下面命令:
rbd map rbd/ceph-rbd1
格式是rbd map {pool-name}/{image-name} 不加{pool-name}默認(rèn)rbd
查看映射后的RBD在操作系統(tǒng)中的設(shè)備名:
rbd showmapped
可以看到創(chuàng)建的RBD在操作系統(tǒng)的設(shè)備名是/dev/rbd1
fdisk –l /dev/rbd1#參看分區(qū)情況
如果用于本機(jī)掛載執(zhí)行接下來步驟:
mkfs.xfs /dev/rbd1 #格式化RBD mkdir /mnt/ceph-vol1 #創(chuàng)建掛載點(diǎn) mount /dev/rbd1 /mnt/ceph-vol1 #掛載RBD,可以寫入數(shù)據(jù)測(cè)試一下掛載后的RBD
不過我們的目的是Ceph集群外主機(jī)掛載RBD,所以上面的步驟了解一下即可,集群外主機(jī)掛載RBD需要用到ISCSI-target。
3.4 配置rbdmap
根據(jù)網(wǎng)絡(luò)文檔了解到,創(chuàng)建rbd塊設(shè)備并rbd map后,如果不及時(shí)rbd unmap,關(guān)機(jī)的時(shí)候系統(tǒng)會(huì)停留在umount此rbd設(shè)備上。所以要配置rbdmap。官方文檔無rbdmap的介紹,而且這個(gè)腳本也不是官方發(fā)布的,為避免遇到這種問題先下載并設(shè)置開機(jī)啟動(dòng)rbdmap,將來再嘗試不加入這個(gè)腳本會(huì)不會(huì)出現(xiàn)問題。
sudo wget https://raw.github.com/ceph/ceph/a4ddf704868832e119d7949e96fe35ab1920f06a/src/init-rbdmap -O /etc/init.d/rbdmap #獲得腳本文件 sudo chmod +x /etc/init.d/rbdmap #增加執(zhí)行權(quán)限 sudo update-rc.d rbdmap defaults #添加開機(jī)啟動(dòng)
修改rbdmap的配置文件/etc/ceph/rbdmap將映射好的rbd添加進(jìn)去,注意/etc/ceph/rbdmap路徑是wget時(shí)的當(dāng)前路徑 ,我wget時(shí)是在/etc/ceph路徑下的。
vi /etc/ceph/rbdmap # RbdDevice Parameters #poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring rbd/ceph-rbd1 id=client,keyring=/etc/ceph/ceph.client.keyring
如果使用了cephx那么,keyring=/etc/ceph/ceph.client.keyring就要加上了
3.5 配置ISCSI-target
Linux SCSI target framework (tgt)用來將 Linux 系統(tǒng)仿真成為 iSCSI target 的功能;安裝tgt,并檢查是否支持rbd:
apt-get install tgt tgtadm --lld iscsi --op show --mode system | grep rbd
rbd (bsoflags sync:direct)#返回這個(gè)信息表明支持rbd
文件的了解:
/etc/tgt/targets.conf:主要配置文件,設(shè)定要分享的磁盤格式與哪幾顆;
/usr/sbin/tgt-admin:在線查詢、刪除 target 等功能的設(shè)定工具;
/usr/sbin/tgt-setup-lun:建立 target 以及設(shè)定分享的磁盤與可使用的客戶端等工具軟件。
/usr/sbin/tgtadm:手動(dòng)直接管理的管理員工具 (可使用配置文件取代);
/usr/sbin/tgtd:主要提供 iSCSI target 服務(wù)的主程序;
/usr/sbin/tgtimg:建置預(yù)計(jì)分享的映像文件裝置的工具 (以映像文件仿真磁盤);
SCSI 有一套自己分享 target 檔名的定義,基本上,藉由 iSCSI 分享出來的 target 檔名都是以 iqn 為開頭,意思是:『iSCSI Qualified Name (iSCSI 合格名稱)』的意思。那么在 iqn 后面要接啥檔名呢?通常是這樣的:
iqn.yyyy-mm.<reversed domain name>:identifier
單位網(wǎng)域名的反轉(zhuǎn)寫法 :這個(gè)分享的target名稱
比如:target iqn.2015-9.localhost:iscsi 在接下看的配置中會(huì)用到
我們主要是修改 /etc/tgt/targets.conf,把創(chuàng)建好的RBD信息添加進(jìn)去。
vim /etc/tgt/targets.conf
# 此檔案的語法如下:
<target iqn.相關(guān)裝置的target名稱> backing-store 存儲(chǔ)設(shè)備名 -1 backing-store 存儲(chǔ)設(shè)備名 -2 </target> <target iqn.2015-9.localhost:iscsi> driver iscsi #驅(qū)動(dòng) bs-type rbd # 后端存儲(chǔ)類型 – 默認(rèn) rdwr, 可選 aio, 等...在這里選rbd backing-store rbd/ceph-rbd1 # <==LUN 1 (LUN 的編號(hào)通常照順序)Format is <iscsi-pool>/<iscsi-rbd-image> </target>
backing-store (虛擬的裝置), direct-store (實(shí)際的裝置): 設(shè)定裝置時(shí),如果你的整個(gè)磁盤是全部被拿來當(dāng) iSCSI 分享之用,那么才能夠使用 direct-store 。不過,根據(jù)網(wǎng)絡(luò)上的其他文件, 似乎說明這個(gè)設(shè)定值有點(diǎn)危險(xiǎn)的樣子。所以,基本上還是建議單純使用模擬的 backing-store 較佳。
當(dāng)然,配置文件中還有其他的一些參數(shù)可以參考:/usr/share/doc/tgt/examples/targets.conf.example里面的內(nèi)容。
然后重啟tgt:/etc/init.d/tgt restart
參看端口是否開啟:netstat -tlunp | grep tgt 默認(rèn)3260端口
觀察一下target 相關(guān)信息,以及提供的 LUN 數(shù)據(jù)內(nèi)容:
tgt-admin –show Target 1: iqn.2015-9.localhost:iscsi <==就是我們的 target System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller <==這是個(gè)控制器,并非可以用的 LUN 喔! ……省略中間…….. LUN: 1 Type: disk <==第一個(gè) LUN (Logical Unit Number) SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 10995116 MB, Block size: 512 <==容量 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: rbd Backing store path: rbd/ceph-rbd1 <==磁盤所在的實(shí)際文件名 Backing store flags: Account information: ACL information: ALL
至此ISCSI-target就已經(jīng)配置好了。
3.6 windows客戶端掛載
iSCSI initiator:就是能夠使用 target 的客戶端,通常是服務(wù)器。 也就是說,想要連接到 iSCSI target 的服務(wù)器,也必須要安裝 iSCSI initiator 的相關(guān)功能后才能夠使用 iSCSI target 提供的磁盤。
上面配置都成功的話就可以進(jìn)行正常掛載,我是在windows7上面進(jìn)行的掛載。windows7自帶有iSCSI initiator。
打開控制面板—》系統(tǒng)與安全—》管理工具 iSCSI 發(fā)起程序
點(diǎn)發(fā)現(xiàn)門戶然后填入你的服務(wù)端IP或DNS
可以看到當(dāng)前的狀態(tài)是不活動(dòng)的,可以點(diǎn)擊連接:
連接成功后相當(dāng)于掛載了一個(gè)硬盤,這時(shí)我們可以在磁盤管理中進(jìn)行分區(qū)和格式化等一些操作,格式化成功后可以看到磁盤已經(jīng)在系統(tǒng)中了。
3.7 linux客戶端掛載
本次主要針對(duì)的windows客戶端掛載,成功的掛載說明服務(wù)器端是沒有問題的,如果要在linux上進(jìn)行掛載,只需要安裝iSCSI initiator然后進(jìn)行簡(jiǎn)單的配置。具體的配置方法下面的參考文獻(xiàn)中的鳥哥文章有詳細(xì)介紹,這里只是說明其是具有可行性的,不進(jìn)行實(shí)例驗(yàn)證了。
注意,linux客戶端和windows客戶端都是ceph集群外的主機(jī),集群內(nèi)的不需要用到iscsi就可以進(jìn)行創(chuàng)建掛載。
看完上述內(nèi)容,你們對(duì)如何通過Ceph-RBD和ISCSI-target實(shí)現(xiàn)硬盤共享有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
本文名稱:如何通過Ceph-RBD和ISCSI-target實(shí)現(xiàn)硬盤共享
URL地址:http://www.rwnh.cn/article36/jeppsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信小程序、動(dòng)態(tài)網(wǎng)站、Google、搜索引擎優(yōu)化、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)