中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過Ceph-RBD和ISCSI-target實現硬盤共享

發布時間:2021-11-15 23:57:43 來源:億速云 閱讀:303 作者:柒染 欄目:云計算

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

1 問題提出

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

2 可行性分析

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

3 實現過程

3.1 環境說明

實驗平臺:ubuntu14.04 server,內核: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 創建RBD

在ceph-admin節點執行下面命令:

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

比如創建大小為1GB,名為ceph-rbd1的RBD:

rbd create --size 1024 ceph-rbd1

未指定pool-name則默認創建到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

創建好的RBD需要映射到客戶機才能使用,客戶機需要內核支持Ceph塊設備和文件系統,推薦內核2.6.34或更高版本。

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

modprobe rbd

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

在ceph-osd節點執行下面命令:

rbd map rbd/ceph-rbd1

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

查看映射后的RBD在操作系統中的設備名:

rbd showmapped

可以看到創建的RBD在操作系統的設備名是/dev/rbd1

fdisk –l /dev/rbd1#參看分區情況

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

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

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

3.4 配置rbdmap

根據網絡文檔了解到,創建rbd塊設備并rbd map后,如果不及時rbd unmap,關機的時候系統會停留在umount此rbd設備上。所以要配置rbdmap。官方文檔無rbdmap的介紹,而且這個腳本也不是官方發布的,為避免遇到這種問題先下載并設置開機啟動rbdmap,將來再嘗試不加入這個腳本會不會出現問題。

sudo wget https://raw.github.com/ceph/ceph/a4ddf704868832e119d7949e96fe35ab1920f06a/src/init-rbdmap -O /etc/init.d/rbdmap #獲得腳本文件
sudo chmod +x /etc/init.d/rbdmap #增加執行權限
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 系統仿真成為 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:主要配置文件,設定要分享的磁盤格式與哪幾顆;

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

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

/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

單位網域名的反轉寫法  :這個分享的target名稱

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

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

vim /etc/tgt/targets.conf

# 此檔案的語法如下:

<target iqn.相關裝置的target名稱>
    backing-store 存儲設備名 -1
    backing-store 存儲設備名 -2
</target>
<target iqn.2015-9.localhost:iscsi>
    driver iscsi #驅動
    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 (實際的裝置): 設定裝置時,如果你的整個磁盤是全部被拿來當 iSCSI 分享之用,那么才能夠使用 direct-store 。不過,根據網絡上的其他文件, 似乎說明這個設定值有點危險的樣子。所以,基本上還是建議單純使用模擬的 backing-store 較佳。

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

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

參看端口是否開啟:netstat -tlunp | grep tgt 默認3260端口

觀察一下target 相關信息,以及提供的 LUN 數據內容:

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就已經配置好了。

3.6 windows客戶端掛載

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

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

打開控制面板—》系統與安全—》管理工具 iSCSI 發起程序

點發現門戶然后填入你的服務端IP或DNS

可以看到當前的狀態是不活動的,可以點擊連接:

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

3.7 linux客戶端掛載

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

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

看完上述內容,你們對如何通過Ceph-RBD和ISCSI-target實現硬盤共享有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郁南县| 太白县| 大宁县| 紫阳县| 塔河县| 明溪县| 云阳县| 长沙市| 边坝县| 海南省| 资阳市| 芦溪县| 酉阳| 黔江区| 湖南省| 阜新市| 隆子县| 福鼎市| 积石山| 阿克| 林周县| 长乐市| 大足县| 二连浩特市| 临泽县| 华宁县| 政和县| 惠安县| 新民市| 宜城市| 合川市| 大渡口区| 鹰潭市| 绥化市| 光泽县| 龙南县| 兴山县| 柏乡县| 孟村| 思南县| 龙泉市|