Linux下实现基于iscsi的存储服务

运维 系统运维
iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之 间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为 IP网络的广泛应用, ISCSI能够在LAN、WAN甚至internet上进行数据传送,使得数据的存储不再受地域的现在。

 本文详细介绍了Linux下搭建基于iscsi的存储服务,先简单介绍一下iscsi。

iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之 间的传递,同时也促进了数据的远距离管理。由于其出色的数据传输能力,ISCSI协议被认为是促进存储区域网(SAN)市场快速发展的关键因素之一。因为 IP网络的广泛应用, ISCSI能够在LAN、WAN甚至internet上进行数据传送,使得数据的存储不再受地域的现在。

接下来就详细介绍搭建iscsi的步骤:

创建新的分区:

[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

下面创建一个存储(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

 

下面继续我的实例:

[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的硬盘 , 这个就是之前挂载过来的那一快

之后进行格式化,挂载就可以了

【编辑推荐】

  1. 如何在RHEL5.7下搭建和配置DHCP服务器
  2. Linux服务器的16个监控命令
  3. 服务器性能指标:拨开服务器评测体系迷雾
责任编辑:赵宁宁
相关推荐

2018-05-16 09:08:40

ISCSI网络存储

2017-11-13 10:04:08

IP存储iSCSI

2011-03-16 09:05:33

2021-07-05 09:40:25

iSCSI存储协议以太网

2021-12-15 08:29:46

Starwind ISCSI 共享存储

2019-09-20 08:17:15

Windows软件脚本语言

2009-08-02 17:44:18

服务器虚拟化iSCSIFC

2013-07-25 10:42:52

2012-05-22 15:55:41

AIXiSCSI

2009-07-20 09:18:38

存储虚拟化服务器虚拟化iSCSI

2009-09-11 08:49:09

linuxNIS服务linux配置

2010-08-02 14:29:46

LinuxPingICMP

2019-05-08 11:10:05

Linux进程语言

2012-10-30 09:59:04

RackspaceOpenStack

2011-12-23 10:45:34

虚拟化桌面虚拟化SRM

2018-04-28 09:20:19

DASNASSAN

2019-04-09 11:24:20

存储

2009-02-12 09:55:22

AjaxMVCDojo

2023-04-06 10:08:58

2018-06-04 09:43:53

分层存储Linux
点赞
收藏

51CTO技术栈公众号