如何通過Ceph-RBD和ISCSI-target實現(xiàn)硬盤共享

今天就跟大家聊聊有關(guān)如何通過Ceph-RBD和ISCSI-target實現(xiàn)硬盤共享,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比臨淄網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式臨淄網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋臨淄地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

1 問題提出

   現(xiàn)在要求把機房的設(shè)備存儲都利用起來,建立一個存儲池,能滿足用多少創(chuàng)建多少而且能夠跨平臺掛載創(chuàng)建的硬盤。目前,驗室的機房目前已經(jīng)建立起來了CEPH的集群,存儲池達到了257TB,于是設(shè)想創(chuàng)建一個RBD(RADOS block device),然后通過ISCSI-target把創(chuàng)建的RBD導出來用于客戶端的掛載。

2 可行性分析

   上述的問題的實現(xiàn)主要是兩部分,一部分是創(chuàng)建RBD,另一部分是通過安裝ISCSI-target把RBD導出,用于Ceph集群外主機掛載。目前的實驗環(huán)境已經(jīng)可以成功的創(chuàng)建RBD用于Ceph集群內(nèi)的裝有RBD客戶端的主機掛載,剩下的就是第二部分的實現(xiàn)。由于Ceph已經(jīng)支持通過iscsi協(xié)議來使用rbd,所以在理論上是可行的。

3 實現(xiàn)過程

3.1 環(huán)境說明

實驗平臺:ubuntu14.04 server,內(nèi)核:3.13.0-32-generic

Ceph版本:version 0.94.2

服務端 ISCSI-target采用Linux SCSI target framework (tgt)(http://stgt.sourceforge.net/)

服務端IP:172.25.1.55

3.2 創(chuàng)建RBD

在ceph-admin節(jié)點執(zhí)行下面命令:

rbd create --size {megabytes} {pool-name}/{image-name}

比如創(chuàng)建大小為1GB,名為ceph-rbd1的RBD:

rbd create --size 1024 ceph-rbd1

未指定pool-name則默認創(chuàng)建到rbd池里面

查看RBD:rbd ls {poolname} 不加poolname默認查看rbd池下的RBD

查看RBD詳細信息:

rbd info {pool-name}/{image-name}

比如查看ceph-rbd1:rbd info ceph-rbd1 不加pool-name默認rbd池

3.3 映射RBD

創(chuàng)建好的RBD需要映射到客戶機才能使用,客戶機需要內(nèi)核支持Ceph塊設(shè)備和文件系統(tǒng),推薦內(nèi)核2.6.34或更高版本。

檢查Linux版本和對RBD的支持:

modprobe rbd

Linux哲學,不返回消息就是最好的消息。所以modprobe rbd沒有返回消息說明內(nèi)核對rbd支持。

在ceph-osd節(jié)點執(zhí)行下面命令:

rbd map rbd/ceph-rbd1

格式是rbd map {pool-name}/{image-name} 不加{pool-name}默認rbd

查看映射后的RBD在操作系統(tǒng)中的設(shè)備名:

rbd showmapped

可以看到創(chuàng)建的RBD在操作系統(tǒng)的設(shè)備名是/dev/rbd1

fdisk –l /dev/rbd1#參看分區(qū)情況

如果用于本機掛載執(zhí)行接下來步驟:

mkfs.xfs /dev/rbd1 #格式化RBD
mkdir /mnt/ceph-vol1 #創(chuàng)建掛載點
mount /dev/rbd1 /mnt/ceph-vol1 #掛載RBD,可以寫入數(shù)據(jù)測試一下掛載后的RBD

不過我們的目的是Ceph集群外主機掛載RBD,所以上面的步驟了解一下即可,集群外主機掛載RBD需要用到ISCSI-target。

3.4 配置rbdmap

根據(jù)網(wǎng)絡(luò)文檔了解到,創(chuàng)建rbd塊設(shè)備并rbd map后,如果不及時rbd unmap,關(guān)機的時候系統(tǒng)會停留在umount此rbd設(shè)備上。所以要配置rbdmap。官方文檔無rbdmap的介紹,而且這個腳本也不是官方發(fā)布的,為避免遇到這種問題先下載并設(shè)置開機啟動rbdmap,將來再嘗試不加入這個腳本會不會出現(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 #添加開機啟動

修改rbdmap的配置文件/etc/ceph/rbdmap將映射好的rbd添加進去,注意/etc/ceph/rbdmap路徑是wget時的當前路徑 ,我wget時是在/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)#返回這個信息表明支持rbd

文件的了解:
/etc/tgt/targets.conf:主要配置文件,設(shè)定要分享的磁盤格式與哪幾顆;

/usr/sbin/tgt-admin:在線查詢、刪除 target 等功能的設(shè)定工具;

/usr/sbin/tgt-setup-lun:建立 target 以及設(shè)定分享的磁盤與可使用的客戶端等工具軟件。

/usr/sbin/tgtadm:手動直接管理的管理員工具 (可使用配置文件取代);

/usr/sbin/tgtd:主要提供 iSCSI target 服務的主程序;

/usr/sbin/tgtimg:建置預計分享的映像文件裝置的工具 (以映像文件仿真磁盤);

SCSI 有一套自己分享 target 檔名的定義,基本上,藉由 iSCSI 分享出來的 target 檔名都是以 iqn 為開頭,意思是:『iSCSI Qualified Name (iSCSI 合格名稱)』的意思。那么在 iqn 后面要接啥檔名呢?通常是這樣的:

iqn.yyyy-mm.<reversed domain name>:identifier

單位網(wǎng)域名的反轉(zhuǎn)寫法  :這個分享的target名稱

比如:target iqn.2015-9.localhost:iscsi 在接下看的配置中會用到

我們主要是修改 /etc/tgt/targets.conf,把創(chuàng)建好的RBD信息添加進去。

vim /etc/tgt/targets.conf

# 此檔案的語法如下:

<target iqn.相關(guān)裝置的target名稱>
    backing-store 存儲設(shè)備名 -1
    backing-store 存儲設(shè)備名 -2
</target>
<target iqn.2015-9.localhost:iscsi>
    driver iscsi #驅(qū)動
    bs-type rbd # 后端存儲類型 – 默認 rdwr, 可選 aio, 等...在這里選rbd
backing-store rbd/ceph-rbd1  # <==LUN 1 (LUN 的編號通常照順序)Format is <iscsi-pool>/<iscsi-rbd-image>
</target>

backing-store (虛擬的裝置), direct-store (實際的裝置): 設(shè)定裝置時,如果你的整個磁盤是全部被拿來當 iSCSI 分享之用,那么才能夠使用 direct-store 。不過,根據(jù)網(wǎng)絡(luò)上的其他文件, 似乎說明這個設(shè)定值有點危險的樣子。所以,基本上還是建議單純使用模擬的 backing-store 較佳。

當然,配置文件中還有其他的一些參數(shù)可以參考:/usr/share/doc/tgt/examples/targets.conf.example里面的內(nèi)容。

然后重啟tgt:/etc/init.d/tgt restart

參看端口是否開啟:netstat -tlunp | grep tgt 默認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     <==這是個控制器,并非可以用的 LUN 喔!
  ……省略中間……..
        LUN: 1
            Type: disk    <==第一個 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 <==磁盤所在的實際文件名
            Backing store flags:
    Account information:
    ACL information:
        ALL

至此ISCSI-target就已經(jīng)配置好了。

3.6 windows客戶端掛載

iSCSI initiator:就是能夠使用 target 的客戶端,通常是服務器。 也就是說,想要連接到 iSCSI target 的服務器,也必須要安裝 iSCSI initiator 的相關(guān)功能后才能夠使用 iSCSI target 提供的磁盤。

上面配置都成功的話就可以進行正常掛載,我是在windows7上面進行的掛載。windows7自帶有iSCSI initiator。

打開控制面板—》系統(tǒng)與安全—》管理工具 iSCSI 發(fā)起程序

點發(fā)現(xiàn)門戶然后填入你的服務端IP或DNS

可以看到當前的狀態(tài)是不活動的,可以點擊連接:

 連接成功后相當于掛載了一個硬盤,這時我們可以在磁盤管理中進行分區(qū)和格式化等一些操作,格式化成功后可以看到磁盤已經(jīng)在系統(tǒng)中了。

3.7 linux客戶端掛載

本次主要針對的windows客戶端掛載,成功的掛載說明服務器端是沒有問題的,如果要在linux上進行掛載,只需要安裝iSCSI initiator然后進行簡單的配置。具體的配置方法下面的參考文獻中的鳥哥文章有詳細介紹,這里只是說明其是具有可行性的,不進行實例驗證了。

注意,linux客戶端和windows客戶端都是ceph集群外的主機,集群內(nèi)的不需要用到iscsi就可以進行創(chuàng)建掛載。

看完上述內(nèi)容,你們對如何通過Ceph-RBD和ISCSI-target實現(xiàn)硬盤共享有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

本文名稱:如何通過Ceph-RBD和ISCSI-target實現(xiàn)硬盤共享
URL地址:http://muchs.cn/article36/jeppsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信小程序動態(tài)網(wǎng)站、Google、搜索引擎優(yōu)化、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化