Linux下實現(xiàn)基于iscsi的存儲服務
本文詳細介紹了Linux下搭建基于iscsi的存儲服務,先簡單介紹一下iscsi。
iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF開發(fā)的網(wǎng)絡存儲標準,目的是為了用IP協(xié)議將存儲設備連接在一起。通過在IP網(wǎng)上傳送SCSI命令和數(shù)據(jù),ISCSI推動了數(shù)據(jù)在網(wǎng)際之 間的傳遞,同時也促進了數(shù)據(jù)的遠距離管理。由于其出色的數(shù)據(jù)傳輸能力,ISCSI協(xié)議被認為是促進存儲區(qū)域網(wǎng)(SAN)市場快速發(fā)展的關鍵因素之一。因為 IP網(wǎng)絡的廣泛應用, ISCSI能夠在LAN、WAN甚至internet上進行數(shù)據(jù)傳送,使得數(shù)據(jù)的存儲不再受地域的現(xiàn)在。
接下來就詳細介紹搭建iscsi的步驟:
創(chuàng)建新的分區(qū):
[root@localhost /]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 13054.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-13054, default 1):
Using default value 1
Last cylinder or size or sizeM or sizeK (1-13054, default 13054):
Using default value 13054
Command (m for help):
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.
[root@localhost /]# fdisk -l
Disk /dev/sda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 26108 209608087 8e Linux LVM
Disk /dev/sdb: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 13054 104856223 83 Linux
2.搭建iscsi服務器
[root@localhost /]# yum -y install scsi-target-utils #安裝軟件包
開啟服務
[root@localhost /]# /etc/init.d/tgtd start # 使用3260端口
Starting SCSI target daemon: Starting target framework daemon
c
[root@localhost /]# chkconfig tgtd on
詳細信息可以man 一下 man tgtadm
下面創(chuàng)建一個存儲(server)
# Create a target
tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2007-03:virtual-dvd:'hostname'
# Create the SMC device and give it a nice name
tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 2 --backing-store /dev/sdb1
# Allow ALL initiators to connect to this target
tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ALL
# Show all our good work.
tgtadm --lld iscsi --mode target --op show
NOTE : 將上述需要寫到rc.local文件中,開機自啟動
掛載一個存儲(client)
[root@it ~]# yum -y install iscsi-initiator-utils
可以man 一下 man iscsiadm
Discover targets at a given IP address:
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover
Login, must use a node record id found by the discovery:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
Logout:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
List node records:
iscsiadm --mode node
Display all data for a given node record:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
下面繼續(xù)我的實例:
[root@it ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.7.116 --discover
192.168.7.116:3260,1 iqn.2007-03:virtual-dvd:hostname
[root@it ~]# iscsiadm --mode node --targetname iqn.2007-03:virtual-dvd:hostname --portal 192.168.7.116:3260 --login
Logging in to [iface: default, target: iqn.2007-03:virtual-dvd:hostname, portal: 192.168.7.116,3260]
Login to [iface: default, target: iqn.2007-03:virtual-dvd:hostname, portal: 192.168.7.116,3260] successful.
[root@it ~]# iscsiadm --mode node
192.168.7.116:3260,1 iqn.2007-03:virtual-dvd:hostname
[root@it ~]# fdisk -l
Disk /dev/sdc: 107.3 GB, 107372772864 bytes
255 heads, 63 sectors/track, 13053 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
多出來一個100G的硬盤 , 這個就是之前掛載過來的那一快
之后進行格式化,掛載就可以了
【編輯推薦】