Linux——iscsiadm
- 存储介质
-
1)磁盘阵列:磁盘阵列是一种采用RAID技术、冗余技术和在线维护技术制造的一种高性能、高可用的磁盘存储设备。
-
2)IP-SAN存储:SAN (Storage Area Network-存储区域网络):是计算机信息处理技术中的一种架构,它将服务器和远程的计算机存储设备(如磁盘阵列、磁带库)连接起来,使得这些存储设备看起来就像是本地一样。SAN就理解成存储虚拟化,而IP-SAN就是采用iSCSI协议构建成的SAN存储区域网络。
-
rpm –ivh iscsi-initiator-utils-6.2.0.742-0.5.el5.i386.rpm 在服务器上安装了iSCSI initiator以及iscsiadm。
-
iscsiadm是基于命令行的iscsi管理工具,提供了对iSCSI节点、会话、连接以及发现记录的操作。 iscsiadm的使用说明可以查看/usr/share/doc/iscsi-initiator-utils-6.2.0.742/README,也可以运行man iscsiadm或iscsiadm --help使用。
-
下面来讲一下连接iscsi设备的步骤:
-
启动iscsi守护进程 # service iscsi start 默认情况下,系统启动后此进程会自动运行
-
发现目标 默认情况下,iscsi发起方和目标方之间通过端口3260连接。假设已知iscsi的目标方IP是192.168.1.1,运行下列命令: chkconfig iscsi on
-
chkconfig iscsi --list (查看ISCSI启动状态)
-
iscsiadm -m discovery -t sendtargets -p 192.168.1.1:3260 此时找到并拥有了一个目标(target):192.168.1.1:3260,1 iqn.1997-05.com.test:raid 被发现的目标也叫做节点。
-
-
登入节点 以上面被发现的目标为例: iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 -l 其中iqn.1997-05.com.test:raid是目标名。 【如果要在系统启动时自动登入: iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 --op update -n node.startup -v automatic】
-
登入节点后,查看磁盘信息 fdisk –l 应该可以看到目标方的存储设备信息,如: Disk /dev/sdb: 3489.8 GB, 3489862254592 bytes 255 heads, 63 sectors/track, 424284 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table 【/dev/sdb即为连接的iscsi存储设备】
-
登入需验证码的节点:
-
(1)开启认证 iscsiadm -m node -T [装置] -o update --name node.session.auth.authmethod --value=CHAP *.使用-o同--op
-
(2)添加用户 iscsiadm -m node -T [装置] --op update --name node.session.auth.username --value=[用户名]
-
(3)添加密码 iscsiadm –m node –T [装置] –op update –name node.session.auth.password –value=[密码]
-
格式化设备 如欲将设备格式化为 ext3文件系统,运行: # mkfs.ext3 /dev/sdb
-
挂接设备 在/mnt下创建iscsi目录,运行mount命令: # mount -t /dev/sdb /mnt/iscsi 针对iscsi设备的特殊mount选项 运行df –h可以看到: /dev/sdb 3.4T186M 3.4T 1% /mnt/iscsi iscsi设备被成功挂接,可以当作常规存储设备使用了。
-
如果要在系统启动时自动挂接 编辑/etc/fstab 加入一行:/dev/sdb /mnt/iscsi ext3 default 0 0 9. 登出节点 首先解除挂接:# umount /mnt/iscsi 登出:# iscsiadm -m node –T iqn.1997-05.com.test:raid -p 192.168.1.1:3260 –u
《《《==============《《《|||》》》===============》》》
1、如果存储上的Target下新挂载了一个SAN资源,如何在服务器上连接并识别?
如果一个Target下新增了一个SAN资源,在服务器可以使用iscsiadm –m session –R命令刷新(rescan)已连接的iSCSI session以识别新的SAN资源:
[root@pe03 /]# iscsiadm -m session –R
可以使用cat /proc/scsi/scsi或者fdisk -l来查看连接过来的卷,例如下面的scsi7 Channel: 00 Id: 00 Lun: 01即为新连接的SAN卷:
[root@pe03 /]# cat /proc/scsi/scsi
…………………………………
Host: scsi7 Channel: 00 Id: 00 Lun: 00
Vendor: H3C Model: H3C ISCSI DISK Rev: v1.0
Type: Direct-Access ANSI SCSI revision: 04
Host: scsi7 Channel: 00 Id: 00 Lun: 01
Vendor: H3C Model: H3C ISCSI DISK Rev: v1.0
Type: Direct-Access ANSI SCSI revision: 04
2、如何注销到target的连接?
如果要注销到某一个特定的Target的连接,可以使用下列的命令:
[root@pe03 /]# iscsiadm -m node -T iqn.2007-04.acme.com:h3c:200realm.rhel5 -p 200.200.10.200:3260 –u
其中,iqn.2007-04.acme.com:h3c:200realm.rhel5是Target的名称,200.200.10.200是Target服务器的IP,实际使用时请根据实际情况修改。
如果要注销到所有targets的连接,可以使用下列命令:
[root@pe03 /]# iscsiadm -m node --logoutall=all
注意:注销target前请停止对iSCSI磁盘的读写,卸载该磁盘上的文件系统,如果使用了LVM,则还需要去激活使用到该磁盘的VG.
3、如何重启iscsi服务?
停止对iSCSI磁盘的读写,卸载该磁盘上的文件系统,如果使用了LVM,则还需要去激活使用到该磁盘的VG,之后使用service iscsi restart重启iscsi服务。
4、如何停止iscsi服务?
停止对iSCSI磁盘的读写,卸载该磁盘上的文件系统,如果使用了LVM,则还需要去激活使用到该磁盘的VG,之后使用service iscsi stop停止iscsi服务。
5、如何针对不同的target设置不同的CHAP认证?
如果有多个目标服务器启用了CHAP认证,并且它们的用户名和密码不一样,此时需要手动更改node文件。
通过iscsiadm -m node -t sendtargets命令发现Target以后,在/var/lib/iscsi/nodes目录下会生成一个或多个以目的服务器上的Target名命名的文件夹,文件夹中有一个文件。此文件中是initiator登录target要使用到的配置参数,可以通过更改此参数文件来配置登录到每个Target的CHAP认证信息。
可直接编辑该文件,在该文件中添加(或修改)此Target的CHAP认证用户名和密码:
node.session.auth.authmethod = CHAP
node.session.auth.username = xxxxxx ――CHAP认证用户名
node.session.auth.password = xxxxxx ――CHAP认证密码(至少12个字符)
修改完成后重新登录Target即可。
也可以使用iscsiadm命令对登录某个target的CHAP认证参数进行修改
如:
[root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name=node.session.auth.authmethod --value=CHAP
[root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name= node.session.auth.username --value=xxxxxxx
[root@pe03 /]#iscsiadm -m node -T iqn.2000-03.com.h3c:.h3c-1.pe05-61 -p 200.200.10.101:3260 -o update --name= node.session.auth.password --value=xxxxxxx
需要注意的是,发现Target的命令(iscsiadm -m node -t sendtargets)会自动按照/etc/iscsi/iscsi.conf文件中的参数配置刷新/var/lib/iscsi/nodes下initiator登录target要使用的参数文件,所以如果通过修改/var/lib/iscsi/nodes下的文件设置好CHAP认证后又对该存储服务器执行了发现target的操作,则需要再次修改该文件。
6、如何从操作系统中删除一个target的信息?
使用下面的命令:
[root@pe03 /]# iscsiadm -m node -o delete -T iqn.2005-03.com.max -p 192.168.0.4:3260
其中iqn.2005-03.com.max代表target的名称,192.168.0.4代表target的IP地址
7、如何查看就有哪些target记录在了Open-iSCSI数据库中?
使用iscsiadm -m node命令
8、如何在Linux上使用LVM来管理磁盘?
请参见KMS - 12578《在RedHat Linux上使用LVM管理磁盘并创建文件系统》
9、RHEL5上如何创建超过2TB的文件系统?
RedHat宣称RHEL5上ext3文件系统所支持的最大容量为16TB。
当从存储系统上分配来的磁盘大小为超过2TB的时候,此时可以使用LVM来管理该磁盘,创建出超过2TB大小的LV,在LV上创建超过2TB的文件系统。
当从存储系统上分配来的磁盘空间大小小于2TB的时候,可以使用LVM管理磁盘,把多个磁盘加入到一个VG中并在其上创建超过2TB大小的LV,然后在LV上创建超过2TB的文件系统。
注意:使用fdisk对磁盘做的分区为MBR分区,分区最大大小为2TB。
10、对ext3文件系统进行扩容的工具是什么?
以前在RHEL4版本里,在线扩展逻辑卷使用的是ext2online命令,在RHEL5里,ext2online命令已经被resize2fs取代。
resize2fs程序可以用来更改ext2/ext3文件系统的大小。它可以对处于umount状态的ext2/ext3文件系统进行扩容或缩小。如果文件系统是处于mount状态下,那么它只能做到在线扩容,而且前提条件是内核支持在线resize.(linux kernel 2.6支持在mount状态下扩容但仅限于ext3文件系统。)
命令格式:
resize2fs [ -d debug-flags ] [ -S RAID-stride ] [ -f ] [ -F ] [ -p ] device [ size ]
resize2fs工具不带size参数的时候,会自动调整文件系统到分区的新容量。
在运行resize2fs工具对文件系统进行扩容的时候,resize2fs可能会提示要先用e2fsck -f检查文件系统,此时按照提示检查文件系统即可。
扩容的一般过程(假设使用的是LVM管理磁盘):
1、 umount文件系统
2、 用vgextend对VG进行扩展
3、 用lvextend对LV进行扩展
4、 使用resize2fs对文件系统进行扩展
iscsiadm
管理iSCSI连接
补充说明
iscsiadm命令 用于管理 iSCSI(Internet Small Computer System Interface)存储连接。iSCSI 是一种基于网络的存储协议,允许在计算机之间传输块级别的数据。iscsiadm 命令提供了与 iSCSI 存储设备进行连接、配置和管理的功能。
yum install iscsi-initiator-utils #安装iscsiadm
/etc/iscsi/initiatorname.iscsi #iscsi启动器名称配置文件位置
systemctl enable iscsi #设置服务开机启动
systemctl enable iscsid
systemctl restart iscsi #重启iscsi服务
systemctl restart iscsid
语法
iscsiadm [选项] <命令> <参数>
选项
-m,--mode # <模式> 指定工作模式,如discovery(发现模式)、node(管理节点)、session(管理会话)、discoverydb、host、iface(管理 iSCSI 网络接口);
-t,--type # 指定类型,如sendtargets (或st)、isns、fw,仅用于discovery模式;
-T,--targetname # 指定目标名称,仅用于node模式;
-p,--portal # <ip:port> 指定目标IP,不带端口默认使用3260,仅用于discovery、node模式;
-l,--login # 登录一个iSCSI设备,仅用于discovery、node模式;
-u,--logout # 退出一个iSCSI设备,仅用于node、session模式;
-I,--interface # 指定用于iSCSI操作的网络接口;
-P,--print # <0-4> 打印详细,用于discovery、node、session模式;
-s,--stats # 查看会话状态
-h,--help # 显示帮助;
-V,--version # 显示版本信息。
实例
发送iSCSI发现请求,并列出发现的iSCSI设备目标器:
[root@Azroy-s1 ~]# iscsiadm -m discovery -t st -p 10.10.10.10
10.10.10.10:3260,1 iqn.2000-01.com.synology:NAS.default-target.1
登录到发现的iSCSI目标器:
[root@Azroy-s1 ~]# iscsiadm -m node -T iqn.2000-01.com.synology:NAS.target.1 -p 10.10.10.10 -l
Logging in to [iface: default, target: iqn.2000-01.com.synology:NAS.target.1, portal: 10.10.10.10,3260] (multiple)
Login to [iface: default, target: iqn.2000-01.com.synology:NAS.target.1, portal: 10.10.10.10,3260] successful.
查看已登录的设备:
[root@Azroy-s1 ~]# iscsiadm -m session
tcp: [3] 10.10.10.10:3260,1 iqn.2000-01.com.synology:NAS.target.1 (non-flash)
退出已登录的设备:
[root@Azroy-s1 ~]# iscsiadm -m node -T iqn.2000-01.com.synology:NAS.target.1 -p 10.10.10.10 -u
Logging out of session [sid: 11, target: iqn.2000-01.com.synology:NAS.target.1, portal: 10.10.10.10,3260]
或
[root@Azroy-s1 ~]# iscsiadm -m session -u #退出所有iscsi会话
使用lsblk或fdisk查看硬盘,对硬盘分区再格式化后可挂载目录
[root@Azroy-s1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 1.8T 0 part
├─centos-root 253:0 0 1.8T 0 lvm /
└─centos-swap 253:1 0 5.9G 0 lvm [SWAP]
sdb 8:32 0 10G 0 disk
[root@Azroy-s1 ~]# lsblk -S /dev/sd* #可以查看硬盘传输类型
NAME HCTL TYPE VENDOR MODEL REV TRAN
sda 0:1:0:0 disk HP LOGICAL VOLUME 3.00 sas
sdb 12:0:0:1 disk SYNOLOGY Storage 4.0 iscsi
[root@Azroy-s1 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节