天天看點

CentOS 6.3下配置iSCSI網絡存儲

一、簡介

iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬體裝置使用的、可以在IP協定的上層運作的SCSI指令集,這種指令集合可以實作在IP網絡上運作SCSI協定,使其能夠在諸如高速千兆以太網上進行路由選擇。iSCSI技術是一種新儲存技術,該技術是将現有SCSI接口與以太網絡(Ethernet)技術結合,使伺服器可與使用IP網絡的儲存裝置互相交換資料。

iSCSI是一種基于TCP/IP 的協定,用來建立和管理IP儲存設備、主機和客戶機等之間的互相連接配接,并建立存儲區域網絡(SAN)。SAN 使得SCSI 協定應用于高速資料傳輸網絡成為可能,這種傳輸以資料塊級别(block-level)在多個資料存儲網絡間進行。SCSI 結構基于C/S模式,其通常應用環境是:裝置互相靠近,并且這些裝置由SCSI 總線連接配接。

iSCSI 的主要功能是在TCP/IP 網絡上的主機系統(啟動器 initiator)和儲存設備(目标器 target)之間進行大量資料的封裝和可靠傳輸過程。

完整的iSCSI系統的拓撲結構如下:

CentOS 6.3下配置iSCSI網絡存儲

二、實驗環境

作業系統:CentOS release 6.3 (Final)

iSCSI Target:192.168.1.21 / scsi-target-utils-1.0.24-12.el6_5.i686

iSCSI Initiator:192.168.1.22 / iscsi-initiator-utils-6.2.0.873-10.el6.i686

防火牆已關閉/iptables: Firewall is not running.

SELINUX=disabled

三、準備工作

iSCSI可分享的裝置類型有很多,包括鏡像檔案(*.img)、分區(partition)、實體硬碟、raid裝置、邏輯卷等,下面我們将準備其中的幾種來測試,其他類型大家可以自行測試。

3.1 模拟鏡像

在iSCSI Target的/srv目錄下建立一個200M大小的鏡像檔案。

# mkdir /srv/iscsi

# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=200

# ll -lh /srv/iscsi/disk1.img

CentOS 6.3下配置iSCSI網絡存儲

3.2 建立分區

建立一個500M大小的分區/dev/sdb1.

# fdisk /dev/sdb

CentOS 6.3下配置iSCSI網絡存儲

3.3 建立邏輯卷

建立一個800M大小的LV.

# pvcreate /dev/sdc

# vgcreate vg0 /dev/sdc

# lvcreate -L 800M -n lv1 vg0

CentOS 6.3下配置iSCSI網絡存儲

四、配置iSCSI Target

4.1 安裝tgt

CentOS 自帶了scsi-target-utils 軟體,我們使用該軟體進行target設定。

# yum -y install scsi-target-utils

4.2 配置tgt

tgt的主配置檔案為/etc/tgt/targets.conf,下面我們來設定改檔案。

在該檔案最後新增以下設定:

說明:

iqn = iSCSI Qualified Name

iSCSI target的名稱規則如下:

iqn.2014-07.dev.iscsi-target:iscsidisk

iqn.年份-月份.域名反寫.裝置識别

每個在同一個target上的backing-store 稱為邏輯單元号(Logical Unit Number,LUN),這個實驗中有4個LUN。

其他進階設定如initiator-address、incominguser,大家自行查資料。

4.3 啟動iSCSI target

# /etc/init.d/tgtd start

# chkconfig tgtd on

# netstat -tulnp|grep tgt

CentOS 6.3下配置iSCSI網絡存儲

4.4 檢視iSCSI target

# tgt-admin --show

CentOS 6.3下配置iSCSI網絡存儲
CentOS 6.3下配置iSCSI網絡存儲

LUN0 是控制器,可以看到各個LUN的大小和磁盤路徑。

至此,iSCSI Target 設定完畢。

五、配置iSCSI Initiator

5.1 安裝initiator

# yum -y install iscsi-initiator-utils

5.2 設定開機啟動

# chkconfig iscsid on

# chkconfig iscsi on

5.3 配置文檔

initiator的配置文檔位于/etc/iscsi/,該目錄下有兩個檔案,initiatorname.iscsi 和iscsid.conf,

其中iscsid.conf 是其配置檔案,initiatorname.iscsi 是标記了initiator的名稱,它的預設名稱是InitiatorName=iqn.1994-05.com.redhat:b45be5af6021,我們可以根據實際情況進行更改,比較好區分,這裡我們修改為InitiatorName=iqn.2014-07.dev.iscsi-initiator:initiator。

CentOS 6.3下配置iSCSI網絡存儲

因為在target裡面,我們并沒有設定通路限制,是以iscsid.conf 檔案并不需要修改。

5.4 偵測target

如果我們事先不知道目标主機的target名稱,我們就需要進行偵測,下面來講解。

# iscsiadm -m discovery -t sendtargets -p 192.168.1.21

CentOS 6.3下配置iSCSI網絡存儲

5.5 檢視nodes

iscsiadm 偵測到的結果會寫入/var/lib/iscsi/nodes/ 中,是以隻需啟動/etc/init.d/iscsi 就能夠在下次開機時,自動連接配接到正确的target了。

# ll -R /var/lib/iscsi/nodes/

CentOS 6.3下配置iSCSI網絡存儲

偵測資訊都寫入了/var/lib/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.1.21,3260,1/default 檔案中了。

5.6 連接配接target

檢視目前系統上面所有的target

# iscsiadm -m node

登入target

# iscsiadm -m node -T iqn.2014-07.dev.iscsi-target:iscsidisk –login

CentOS 6.3下配置iSCSI網絡存儲

5.7 檢視磁盤情況

# fdisk –l

CentOS 6.3下配置iSCSI網絡存儲

可以看到,initiator 上面多了四塊硬碟,大小和target上的LUN一緻。這時你就可以像使用本地磁盤一樣使用這些iSCSI裝置了,下面我們來測試。

5.8 将/dev/sdb 和/dev/sdc 建立成LV挂載使用

建立LV

# pvcreate /dev/sdb /dev/sdc

# vgcreate iscsi /dev/sdb /dev/sdc

# lvcreate -L 1G -n iscsilv iscsi

CentOS 6.3下配置iSCSI網絡存儲

格式化并挂載

# mkfs.ext4 /dev/iscsi/iscsilv

# mkdir /mnt/iscsi

# vi /etc/fstab

CentOS 6.3下配置iSCSI網絡存儲

建立測試檔案

CentOS 6.3下配置iSCSI網絡存儲

挂載成功,建立測試檔案成功。

5.9 重新開機測試

CentOS 6.3下配置iSCSI網絡存儲

測試成功。

5.10 檢視target資訊

CentOS 6.3下配置iSCSI網絡存儲

可以看到,此時使用該target的initiator 為iqn.2014-07.dev.iscsi-initiator:initiator,也就是我們上面更改的initiatorname,IP位址為192.168.1.22。

至此,iSCSI 置完畢。

本文轉自 dengaosky 51CTO部落格,原文連結:http://blog.51cto.com/dengaosky/1864876,如需轉載請自行聯系原作者

繼續閱讀