在Fedora 10(启动器和目标)上使用iSCSI
版本1.0
作者:Falko Timme
本指南介绍如何设置运行Fedora 10的iSCSI目标和iSCSI启动器(客户端)。iSCSI协议是一种存储区域网络(SAN)协议,允许iSCSI启动器在(远程)iSCSI上使用存储设备目标使用普通的以太网布线。 对于iSCSI启动器,远程存储器看起来像一个正常的本地连接的硬盘驱动器。
我不会保证这将为您工作!
1初步说明
我在这里使用两台Fedora 10服务器:
-
server1.example.com
(Initiator):IP地址192.168.0.100
-
server2.example.com
(目标):IP地址192.168.0.101
2设置目标(server2)
server2:
首先我们设置目标( server2
)。 因为必需的软件包仅在RPMFusion存储库中可用,所以我们必须先启用它:
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
然后我们可以安装iSCSI目标软件包:
yum install iscsitarget kmod-iscsitarget
这可能会更新您的内核。 如果是这种情况,请重新启动系统:
reboot
我们可以使用未使用的逻辑卷,映像文件,硬盘驱动器(例如/ dev / sdb
),硬盘驱动器分区(例如/ dev / sdb1
)或RAID设备(例如/ dev / md0
)作为存储。 在本例中,我将在卷组VolGroup00
中创建一个名为storage_lun1
的20GB的逻辑卷:
lvcreate -L20G -n storage_lun1 VolGroup00
(如果要使用图像文件,可以按如下方式创建它:
mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000
这将创建大小为20GB的映像文件/storage/lun1.img
。
)
接下来我们编辑/etc/ietd.conf
...
vi /etc/ietd.conf
...并注释掉该文件中的所有内容。 最后我们添加以下节:
[...] Target iqn.2001-04.com.example:storage.lun1 IncomingUser someuser secret OutgoingUser Lun 0 Path=/dev/VolGroup00/storage_lun1,Type=fileio Alias LUN1 #MaxConnections 6 |
目标名称必须是全局唯一的名称,iSCSI标准定义了“iSCSI合格名称”,如下所示: iqn.yyyy-mm。<reverse domain name> [:identifier]
; yyyy-mm
是域有效的日期; 标识符可以自由选择。 IncomingUser
行包含用户名和密码,只有提供此用户名和密码的发起者(客户端)才能登录并使用存储设备; 如果您不需要身份验证,请勿在IncomingUser
行中指定用户名和密码。 在Lun
行中,我们必须指定存储设备的完整路径(例如/ dev / VolGroup00 / storage_lun1
, /storage/
lun1.img
, / dev / sdb
等)。
现在我们告诉目标,我们想允许连接设备iqn.2001-04.com.example:storage.lun1
从IP地址192.168.0.100
( server1.example.com
):
vi /etc/initiators.allow
[...] iqn.2001-04.com.example:storage.lun1 192.168.0.100 |
接下来,我们为iscsi-target
创建系统启动链接并启动它:
chkconfig --levels 235 iscsi-target on
/etc/init.d/iscsi-target start
3设置启动器(server1)
server1:
在server1上
,我们安装启动器:
yum install iscsi-initiator-utils
接下来我们打开/etc/iscsi/iscsid.conf
...
vi /etc/iscsi/iscsid.conf
...并确保将node.startup
设置为自动
:
[...] node.startup = automatic [...] |
现在我们连接到目标( server2
),并检查它提供的存储设备:
iscsiadm -m discovery -t st -p 192.168.0.101
[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Starting iscsid: [ OK ]
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
iscsiadm -m node
[root@server1 init.d]# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#
存储设备iqn.2001-04.com.example:192.168.0.101:3260,1
上的storage.lun1的
设置存储在/var/lib/iscsi/nodes/iqn.2001-04.com.example
文件中:storage.lun1 / 192.168.0.101,3260,1 / default
。 我们需要在该文件中设置目标的用户名和密码; 而不是手动编辑该文件,我们可以使用iscsiadm
命令为我们做这个:
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.username --value=someuser
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.password --value=secret
现在我们可以登录:
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login
[root@server1 init.d]# iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: successful
[root@server1 init.d]#
(如果要注销,可以运行
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout
)
在输出中
fdisk -l
你现在应该找到一个新的硬盘驱动器(在这个例子中是/ dev / sdb
); 这是我们的iSCSI存储设备:
[root@server1 init.d]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
[root@server1 init.d]#
要使用该设备,我们必须格式化它:
fdisk /dev/sdb
[root @ server1 init.d]#fdisk / dev / sdb
设备既不包含有效的DOS分区表,也不包含Sun,SGI或OSF disklabel
构建一个新的DOS磁盘标签,磁盘标识符为0xa1870fdd。
更改将仅保留在内存中,直到您决定编写它们。
之后,当然,以前的内容将无法恢复。
此磁盘的柱面数设置为20480。
没有什么问题,但是这大于1024,
并且在某些设置中可能会导致以下问题:
1)在引导时运行的软件(例如,LILO的旧版本)
2)从其他操作系统启动和分区软件
(例如DOS FDISK,OS / 2 FDISK)
警告:分区表4的无效标志0x0000将被w(rite)修正
命令(m帮助):
< - n
命令行动
e扩展
p主分区(1-4)
< - p
分区号(1-4):
< - 1
第一个圆筒(1-20480,默认为1):
< - ENTER
使用默认值1
最后一个圆柱体,+圆柱体或+大小{K,M,G}(1-20480,默认值20480):
< - ENTER
使用默认值20480
命令(m为帮助):
< - t
所选分区1
十六进制代码(L型列表代码):
< - L
0空1e隐藏W95 FAT1 80旧Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS / sec(FAT-
2 XENIX root 39计划9 82 Linux交换/ So c4 DRDOS / sec(FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS / sec(FAT-
4 FAT16 <32M 40 Venix 80286 84 OS / 2隐藏C:c7 Syrinx
5扩展41 PPC PReP引导85 Linux扩展da非FS数据
6 FAT16 42 SFS 86 NTFS卷集db CP / M / CTOS /。
7 HPFS / NTFS 4d QNX4.x 87 NTFS卷集戴尔实用程序
8 AIX 4e QNX4.x第二部分88 Linux明文df BootIt
9 AIX可启动4f QNX4.x第3部分8e Linux LVM e1 DOS访问
一个OS / 2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R / O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32(LBA)52 CP / M 9f BSD / OS eb BeOS fs
e W95 FAT16(LBA)53 OnTrack DM6 Aux a0 IBM Thinkpad Hi ee GPT
f W95 Ext'd(LBA)54 OnTrackDM6 a5 FreeBSD ef EFI(FAT-12/16 /
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux / PA-RISC b
11隐藏FAT12 56金弓a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnostics 5c Priam Edisk a8达尔文UFS f4 SpeedStor
14隐藏FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS辅助
16隐藏FAT16 63 GNU HURD或Sys ab Darwin启动fb VMware VMFS
17 Hidden HPFS / NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI交换fd Linux raid auto
1b隐藏W95 FAT3 70 DiskSecure多bb启动向导隐藏在局域网
1c隐藏W95 FAT3 75 PC / IX是Solaris启动ff BBT
十六进制代码(类型L列出代码):
< - 83
命令(m为帮助):
< - w
分区表已被更改!
调用ioctl()重新读取分区表。
同步磁盘
[root @ server1 init.d]#
之后,输出
fdisk -l
应该看起来如下:
[root@server1 init.d]# fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 3916 31254457+ 8e Linux LVM
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0xa1870fdd
Device Boot Start End Blocks Id System
/dev/sdb1 1 20480 20971504 83 Linux
[root@server1 init.d]#
现在我们在/ dev / sdb1
上创建一个文件系统
mkfs.ext3 /dev/sdb1
...并安装它用于测试目的:
mount /dev/sdb1 /mnt
您现在应该在...的输出中看到新设备
mount
[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt type ext3 (rw)
[root@server1 ~]#
...和
df -h
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /mnt
[root@server1 ~]#
你可以这样卸载它:
umount /mnt
要使设备在启动时自动安装,例如在目录/存储中
,我们创建该目录...
mkdir /storage
...并将以下行添加到/ etc / fstab中
:
vi /etc/fstab
[...] /dev/sdb1 /storage ext3 defaults,auto,_netdev 0 0 |
出于测试目的,您现在可以重新启动系统:
reboot
重新启动后,应安装设备:
mount
[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /storage type ext3 (rw,_netdev)
[root@server1 ~]#
df -h
[root@server1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G 2.2G 25G 9% /
/dev/sda1 190M 13M 168M 8% /boot
tmpfs 251M 0 251M 0% /dev/shm
/dev/sdb1 20G 173M 19G 1% /storage
[root@server1 ~]#
4链接
- Open-iSCSI: http : //www.open-iscsi.org/
- iSCSI企业目标: http : //iscsitarget.sourceforge.net/
- Fedora: http : //fedoraproject.org/