天天看點

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

iscsi 是一種塊級别的協定,用于通過tcp/ip網絡共享原始儲存設備,可以用已經存在的ip和以太網如網卡、交換機、路由器等通過iscsi協定共享和通路存儲。iscsi target是一種由遠端iscsi伺服器(target)提供的遠端硬碟。

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

在linux中安裝iscsi target

我們不需要占用很大的資源就可以為用戶端提供穩定的連接配接和性能。iscsi伺服器稱為“target(目标器)”,它提供伺服器上的存儲共享。iscsi用戶端稱為“initiator(發起程式)”,它通路目标器共享的存儲。市場中有賣的用于大型存儲服務如san的iscsi擴充卡。

我們為什麼要在大型存儲領域中使用iscsi擴充卡

以太網擴充卡(nic)被設計用于在系統、伺服器和儲存設備如nas間傳輸分組資料,它不适合在internet中傳輸塊級資料。

<a target="_blank"></a>

可以在一台機器上運作幾個iscsi 目标器

一台機器可以提供多個iscsi 目标器用于iscsi san通路

一個目标器就是一塊存儲,并且可以通過網絡被發起程式(用戶端)通路

把這些存儲彙聚在一起讓它們在網絡中可以通路的是iscsi lun(邏輯單元号)

iscsi支援在同一個會話中使用多個連接配接

iscsi發起程式在網絡中發現目标接着用lun驗證并登入,這樣就可以本地通路遠端存儲。

我們可以在本地挂載的lun上安裝任何作業系統,就像我們安裝我們本地的作業系統一樣。

在虛拟化中,我們需要存儲擁有高度的備援性、穩定性,iscsi以低成本的方式提供了這些特性。與使用光纖通道的san比起來,我們可以使用已經存在的裝置比如nic、以太網交換機等建造一個低成本的san。

現在我開始使用iscsi 目标器安裝并配置安全存儲。本篇中,我們遵循下面的步驟:

我們需要隔離一個系統來設定iscsi 目标器和發起程式(用戶端)。

在大型存儲環境中可以添加多個硬碟,但是這裡我們除了基本的安裝盤之外隻使用了一個額外的驅動器。

這裡我們隻使用了2塊硬碟,一個用于基本的伺服器安裝,另外一個用于存儲(lun),這個我們會在這個系列的第二篇描述。

作業系統 – centos 6.5 (final)

iscsi 目标器 ip – 192.168.0.200

使用的端口 : tcp 860, 3260

配置檔案 : /etc/tgt/targets.conf

打開終端并使用yum指令來搜尋需要在iscsi 目标器上安裝的包名。

# yum search iscsi

輸出示例

========================== n/s matched: iscsi =======================

iscsi-initiator-utils.x86_64 : iscsi daemon and utility programs

iscsi-initiator-utils-devel.x86_64 : development files for iscsi-initiator-utils

lsscsi.x86_64 : list scsi devices (or hosts) and associated information

scsi-target-utils.x86_64 : the scsi target daemon and utility programs

你會的到上面的那些結果,選擇target包來安裝。

# yum install scsi-target-utils -y

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

安裝iscsi工具

列出安裝的包裡面的内容來了解預設的配置、服務和man頁面的位置。

# rpm -ql scsi-target-utils.x86_64

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

列出所有的iscsi包裡面的檔案

讓我們啟動iscsi服務,并檢查服務運作的狀态,iscsi的服務名是tgtd。

# /etc/init.d/tgtd start

# /etc/init.d/tgtd status

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

啟動iscsi服務

現在我們需要配置開機自動啟動。

# chkconfig tgtd on

現在驗證tgtd服務的運作級别是否配置正确。

# chkconfig --list tgtd

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

開機啟動iscsi

現在使用tgtadm來列出在我們的伺服器上已經配置了哪些target和lun。

# tgtadm --mode target --op show

tgtd已經安裝并在運作了,但是上面的指令沒有輸出因為我們還沒有在target伺服器上定義lun。要檢視手冊,可以運作‘man‘指令。

# man tgtadm

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

iscsi man 頁面

如果你的目标器上有iptable的話,那麼我們需要為iscsi添加iptable規則。首先使用netstat指令找出iscsi target的端口号,目标器總是監聽tcp端口3260。

# netstat -tulnp | grep tgtd

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

找出iscsi端口

下面加入如下規則讓iptable允許廣播iscsi 目标器發現包。

# iptables -a input -i eth0 -p tcp --dport 860 -m state --state new,established -j accept

# iptables -a input -i eth0 -p tcp --dport 3260 -m state --state new,established -j accept

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

打開iscsi端口

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

添加iscsi端口到iptable中

注意: 規則可能根據你的預設鍊政策而不同。接着儲存iptable并重新開機該服務。

# iptables-save

# /etc/init.d/iptables restart

使用iSCSI Target建立集中式安全存儲(一)使用iSCSI Target建立集中式安全存儲(一)

重新開機iptable

現在我們已經部署了一個目标器來共享lun給通過tcp/ip認證的發起程式。這也适用于從小到大規模的生産環境。

----------------------------------------------------------------------------------------------------------------------------

繼續閱讀