Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2080624
  • 博文数量: 354
  • 博客积分: 4955
  • 博客等级: 上校
  • 技术积分: 4579
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-21 11:46
文章分类

全部博文(354)

文章存档

2015年(1)

2013年(4)

2012年(86)

2011年(115)

2010年(67)

2009年(81)

我的朋友

分类:

2011-06-08 11:09:52

ISCSI

操作系统:麒麟linux2.6.18-1.std
Iscsi包:  iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpmOpen-iSCS提供[url][/url]
注意:以下操作仅针对以上版本内核和iscsi
      并且仅保证可用,不保证最优。

rpm

iscsicp到本地盘,并在该包所在的目录下运行命令
[root@linux ~]# rpm –ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm
运行此命令后,会生成一个目录/etc/iscsi,该目录下有两个文件:
Initiatorname.iscsiiscsid.conf

ISCSI服务

安装完iscsi服务默认是关闭的,需要手工启动
[root@linux ~]# cd /etc/init.d
[root@linux ~]# ./iscsi start

运行以下命令搜寻target,即目标端:7612i存储
[root@linux ~]#iscsiadm --mode discovery --type sendtargets --portal 192.168.1.221
以上IP即是7612iiscsi口的IP,其它固定。

显示存储端target name
[root@linux ~]# iscsiadm --mode node
显示结果与在7612i串口 iscsi managementiscsi node名字相同

target登陆
[root@linux ~]#iscsiadm --mode node --targetname targetname --portal 192.168.1.221:3260 --login
    其中targetname即是步骤4中结果。(注:横杆是中杠)
(注:345实施中是在/etc/iscsi下运行,是否可以在别的路径执行,可自行测试。以上3个命令格式是从man iscsiadm查出)

经过以上几步,fdisk –l就可以看到所挂接分区了,为确保重启后也能看到,再修改一下/etc/iscsi/iscsid.conf,将第5步的命令iscsiadm --mode node --targetname targetname --portal 192.168.1.221:3260 --login
[root@linux ~]# vi /etc/iscsi/iscsid.conf
iscsiadm --mode node --targetname targetname --portal 192.168.1.221:3260 –login
添加到该文件中的开始部分
*****************
# Startup settings
#*****************   这个栏下面即可。
其实这个文件大多数内容处于被注释状态,该命令添加位置应该影响不大.然后重启电脑后直接fdisk –l 依然可以看到所挂接的分区。至此iscsi所有操作完成,但挂载的分区不是linux所识别,必须使用FDISK进行磁盘分区。

fdisk命令进行磁盘分区

fdisk是各种Linux发行版本中最常用的分区工具,是被定义为Expert级别的分区工具。我们可以通过fdisk来分区使用iscsi设备。它还包括一个二级选单,首先输入命令,然后出现问答式界面,用户通过在这个界面中输入命令参数来操作fdisk
fdisk /dev/hdb
运行后出现fdiak的命令提示符:
Command (m for help):
使用n命令创建一个分区,会出现选择主分区(p primary partition)还是扩展分区(l logical)的提示,通常选用主分区。然后按照提示输入分区号(Partion number(14):)、新分区起始的磁盘块数(First Cylinder)和分区的大小,可以是以MB为单位的数字(Last cylindet or +siza or +sizeM or +sizeK:)。例如:
[root@linux ~]#fdisk /dev/sdb
查看分区,如果是第一次操作时,显示为无。
Command (m for help):p
 
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
 
Device Boot    Start       End    Blocks   Id  System
建立分区
Command (m for help):n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):
Using default value 4427
保存分区信息
Command (m for help)w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

[root@linux ~]# fdisk /dev/sdb
 
The number of cylinders for this disk is set to 4427.
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)
Command (m for help):p
 
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
 
Device Boot    Start       End    Blocks   Id  System
/dev/sdb1             1      4427  35559846   83  Linux
 
Command (m for help):q

[root@localhost ~]# mkfs -t ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
214761472 inodes, 429495759 blocks
21474787 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
13108 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
            102400000, 214990848
 
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 

文件系统必须有一个挂载点,它只是一个空的目录,新文件系统在这里与系统目录树相连经过以上的操作,我的 Linux服务器已经连接到 iSCSI 储存设备, 并且如同Linux 本机上面的一个 SCSI 硬盘一样。 使用的方式几乎一模一样。
假设iSCSI 主机挂载到 /cluster/raid 目录下:
[root@linux ~]# mkdir /cluster/raid
[root@linux ~]# mount  /dev/sda1 /cluster/raid
[root@linux ~]# df
Filesystem       1K-blocks          Used    Available  Use%  Mounted on
/dev/hda1         10080488       2950408     6618012   31%   /
tmpfs              5036316         81172     4699312   0%    /dev/shm
/dev/sda1       1914788196      27040372  1790482212   2%    /cluster/raid

在机器重新启动后自动加载分区,你必须在/etc/fstab中加入相应分区,但分区类型必须市"_netdev".例如加载的分区sdb1:
 
[root@linux ~]# vi /etc/fstab
/dev/sdb1   /cluster/raid   ext3    ­_netdev     0   0
/dev/sdc1   /data/sdc1      ext3    _netdev     0   0
/dev/sdd1   /data/sdd1      ext3    _netdev     0   0

[root@localhost ~]# df -h
文件系统              容量    已用     可用     已用%      挂载点
/dev/sda1              64G    5.6G      55G     10%         /
tmpfs                 1.7G       0     1.7G      0%         /dev/shm
/dev/sdb1             1.6T    197M     1.5T      1%         /data/sdb1
/dev/sdc1             1.6T    197M     1.5T      1%         /data/sdc1



[root@localhost ~]# df -h
文件系统              容量


参考文档

1、iscsi initiator安装
位置:光盘Sever目录下
RHEL 5已开始在内核中加入了对iSCSI的支持,使用的iSCSI Initiator软件是Open-iSCSI Initiator,支持万兆网卡。
[root@localhost]# cd /mnt/Server/
[root@localhost]# rpm -ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm
warning: iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing…               ########################################### [100%]
1:iscsi-initiator-utils ########################################### [100%]
这个安装将iscsid、iscsiadm安装到/sbin目录下,它还将把默认的配置文件安装到/etc/iscsi目录下:
/etc/iscsi/iscsid.conf所有刚发起的iSCSI session默认都将使用这个文件中的参数设定。
/etc/iscsi/initiatorname.iscsi  软件iSCSI initiator的intiator名称配置文件。
在iscsi启动的时候,iscsid和iscsiadm会读取这两个配置文件。

2、redhat5下initiator配置

2.1、确认iscsi服务随系统启动而启动
用chkconfig检查iscsi和iscsid服务在运行级别3和5中随系统的启动而自动启动
[root@localhost]# chkconfig –list |grep iscsi
iscsi          0:off  1:off  2:off  3:on   4:on   5:on   6:off
iscsid         0:off  1:off  2:off  3:on   4:on   5:on   6:off
如果iscsid和iscsi没有随系统的启动而启动,则用chkconfig设置这两个服务在系统运行级别为3和5时随系统启动而启动
[root@localhost]# chkconfig iscsi –level 35 on
[root@localhost]# chkconfig iscsid –level 35 on

2.2、设置InitiatorName
用vi编辑/etc/iscsi/initiatorname.iscsi文件,文件内容如下
InitiatorName=iqn.2005-03.com.max:pe03

2.3、启动iscsi服务
用service iscsi start启动iSCSI服务。
root@localhost]# service iscsi start
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets:                                                                    [ OK ]
用service iscsi status及service iscsid status查看iscsi相关服务的运行状态
[root@localhost]# service iscsi status
iscsid (pid 3697 3696) is running…
[root@localhost]# service iscsid status
iscsid (pid 3697 3696) is running…

2.4、分配存储资源,在Linux上执行target的发现
[root@localhost]# iscsiadm -m discovery -t sendtargets -p 200.200.10.200:3260

2.5、登录targets
可以使用 登录所有targets
iscsiadm -m node –loginall=all
也可以登录单个targets
[root@localhost]# iscsiadm -m node -T iqn.2007-04.acme.com:h3c:200realm.rhel5 -p 200.200.10.200:3260 -l

2.6、查看session
[root@localhost]# iscsiadm -m node –loginall=all

3、对磁盘的操作

3.1、使用fdisk -l 查看磁盘
[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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        2610    20860402+  8e  Linux LVM

Disk /dev/sdb: 268 MB, 268435456 bytes
9 heads, 57 sectors/track, 1022 cylinders
Units = cylinders of 513 * 512 = 262656 bytes

3.2、分区和格式化
步骤一:进行分区
[root@localhost ~]#fdisk /dev/sdb
输入“m”可以查看磁盘分区的帮助命令
n—————–新建一个分区
p-―――― 选择主分区
1――――― 选择分区号1
回车―――――分区起始柱面,选择默认
回车―――――分区大小,选择默认,全部柱面
w―――――  分区表写入磁盘
步骤二:格式化分区
[root@localhost ~]#mkfs.ext3 /dev/sdb1
步骤三:根据提示,修改可mount次数为“-1”,无限次。
[root@localhost ~]# tune2fs /dev/sdb1 -c -1
步骤四:查看并记录UUID
[root@localhost ~]#blkid
注意:使用设备名“/dev/sdb1”定位磁盘时,可能会出现磁盘漂移现象,所以推荐同UUID方式定位磁盘。UUID在格式化后产生,每一次格式化后产生不一样UUID。

3.3、 设置自动挂载
步骤一:创建挂接点
[root@localhost ~]# mkdir /dev/data
步骤二:编辑/etc/fstab文件
[root@localhost ~]# vi /etc/fstab

/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
UUID=e7d152f5-478b-4945-bb5b-3ed6c9e6278e /data ext3 _netdev 0 0

注意:
挂载选项使用的是“_netdev”
UUID要顶格写。
Linux系统重启后,磁盘设备的名称可能会发生变化,从而引起文件系统不能挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题。
步骤三:测试手动挂载
[root@localhost ~]#mount -a
[root@localhost ~]# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
18156292   2742728  14476400  16% /
/dev/sda1               101086     12165     83702  13% /boot
tmpfs                   517568         0    517568   0% /dev/shm
/dev/sdb1               253839      6176    234558   3% /data
步聚四:测试启动自动挂载
[root@localhost ~]#reboot

   已用     可用     已用%      挂载点
/dev/sda1              64G    5.6G      55G     10%         /
tmpfs                 1.7G       0     1.7G      0%         /dev/shm
/dev/sdb1             1.6T    197M     1.5T      1%         /data/sdb1
/dev/sdc1             1.6T    197M     1.5T      1%         /data/sdc1
阅读(3180) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~