歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux安裝管理ISCSI卷(initiator端)

Linux安裝管理ISCSI卷(initiator端)

日期:2017/2/28 16:18:40   编辑:Linux教程

Internet SCSI(iSCSI)是一種網絡協議,使用TCP/IP網絡來傳輸SCSI協議。它是代替FC(Fibre Channel-based,光纖通道?) SAN的很好選擇。你可以在Linux下方便的管理、掛載、格式化iSCSI卷,它允許通過網絡訪問SAN存儲設備。

Open-iSCSI 項目

Open-iSCSI項目實現了一個高性能、獨立傳輸、支持多平台的iSCSI應用。Open-iSCSI分為應用層(user)和內核層(kernel)兩部分。

以下的說明基於:

[a] RHEL 5

[b] CentOS 5

[c] Fedora 7

[d] Debian / Ubuntu Linux

安裝所需的包

RHEL/CentOS/Febra

iscsi-initiator-utils ——這個安裝包由一個iSCSI協議的服務端程序,和管理這個服務端的工具組成。iSCSI通過網絡層協議傳輸SCSI命令來讀取分布的磁盤。安裝這個包可以通過如下命令:

# yum install iscsi-initiator-utils

Debian/Ubuntu Linux

如果使用的是Debian或者Ubuntu操作系統,可以通過如下命令:

$ sudo apt-get install open-iscsi

ISCSI設置

使用iSCSI存儲需要配置如下步驟:

1.通過init.d下的腳本或者手動啟動iSCSI。需要修改/etc/iscsi/iscsid.conf配置文件。

2.尋找網絡上的targets(存儲的服務端,通常是SAN)。

3.當下次重啟系統時,自動登錄target。

4.獲得iSCSI taget端的用戶名、密碼和存儲服務器的IP地址或者主機名。

Step # 1:配置iSCSI

通過vi打開/etc/iscsi/iscsid.conf:

# vi /etc/iscsi/iscsid.conf

設置用戶名和密碼(當target端設置CHAP驗證時必需,如果target端沒有設置CHAP驗證,可以跳過):

node.session.auth.username = My_ISCSI_USR_NAME
node.session.auth.password = MyPassword
discovery.sendtargets.auth.username = My_ISCSI_USR_NAME
discovery.sendtargets.auth.password = MyPassword

這裡:

node.session.* target端設置的CHAP權限驗證中的用戶名和密碼
discovery.sendtargets.* is used to set a discovery session CHAP username and password for the initiator authentication by the target(s) 搜索過程中使用的CHAP權限驗證用戶名和密碼
也可以設置其它的選項,可以參考man下面的說明。現在開始運行iSCSI服務程序:

# /etc/init.d/iscsi start

Step # 2:搜索targets

現在就可以通過iscsiadm命令,來搜索和登錄到iSCSI的targets,同時它也可以讀取和訪問open-iscsi提供的數據庫。如果你的存儲服務器的ip地址為 192.168.1.5,輸入:

# iscsiadm -m discovery -t sendtargets -p 192.168.1.5
# /etc/init.d/iscsi restart

實際搜索、登錄targets端的過程可能比這復雜,可以參考Ubuntu 下iscsi initiator的安裝與使用

現在,就可以看到在/dev/目錄下多出了一個塊設備,要獲得這個設備的名稱,輸入:

# fdisk -l

或者

# tail -f /var/log/messages

會看到如下輸出:

Oct 10 12:42:20 ora9is2 kernel: Vendor: EQLOGIC Model: 100E-00 Rev: 3.2
Oct 10 12:42:20 ora9is2 kernel: Type: Direct-Access ANSI SCSI revision: 05
Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd


: 41963520 512-byte hdwr sectors (21485 MB)
Oct 10 12:42:20 ora9is2 kernel: sdd: Write Protect is off
Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: drive cache: write through
Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: 41963520 512-byte hdwr sectors (21485 MB)
Oct 10 12:42:20 ora9is2 kernel: sdd: Write Protect is off
Oct 10 12:42:20 ora9is2 kernel: SCSI device sdd: drive cache: write through
Oct 10 12:42:20 ora9is2 kernel: sdd: unknown partition table
Oct 10 12:42:20 ora9is2 kernel: sd 3:0:0:0: Attached scsi disk sdd
Oct 10 12:42:20 ora9is2 kernel: sd 3:0:0:0: Attached scsi generic sg3 type 0
Oct 10 12:42:20 ora9is2 kernel: rtc: lost some interrupts at 2048Hz.
Oct 10 12:42:20 ora9is2 iscsid: connection0:0 is operational now/dev/sdd 就是新加入的塊設備

Step # 3:格式化並掛載iSCSI卷

可以使用fdisk對/dev/sdd進行分區,再用mkfs.ext3在/dev/sdd上創建文件系統,命令如下:

# fdisk /dev/sdd

......
# mke2fs -j -m 0 -O dir_index /dev/sdd1 #格式化


或者

# mkfs.ext3 /dev/sdd1 #格式化

提示:如果卷大於1TB,則可以使用nohup在後台運行mkfs.ext3:

# nohup mkfs.ext3 /dev/sdd1 &

掛載新分區:

# mkdir /mnt/iscsi
# mount /dev/sdd1 /mnt/iscsi

Step # 4:當下次啟動系統時自動掛載iSCSI設備

首先,確定iscsi服務能夠在系統啟動時運行:

# chkconfig iscsi on

再打開/etc/fstab文件,增加如下設置:

/dev/sdd1 /mnt/iscsi ext3 _netdev 0 0

保存後退出

如果想深入了解,可以參考以下文檔

Official Open iSCSI documentation
Read iscsiadm and related man pages

Copyright © Linux教程網 All Rights Reserved