在Fedora 10(启动器和目标)上使用iSCSI

在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.100server1.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链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏