先说明下,不建议在生产环境使用,写这个只是为了理解ISCSI以及Multipath* I/O 的工作方式;这次测试的操作系统是CENTOS6 ;没别的了懒得装 就先用这个,7系列可能包的名字有些不同, 根据情况百度吧!
iSCSI目标创建
iSCSI目标可以是网络中的专用物理设备,也可以是网络存储服务器上的iSCSI软件配置的逻辑设备。目标是SCSI总线通信的终点。由发起者访问的目标上的存储由LUN定义。
创建iSCSI目标
安装
scsi-target-utils
.yum install scsi-target-utils
打开iptables3260端口
iptables -I INPUT -p tcp -m tcp --dport 3260 -j ACCEPT service iptables save
启动并启用target服务
service tgtd start chkconfig tgtd on
为LUN分配存储空间。
fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x43eb8efd. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): *Enter* Using default response p Partition number (1-4, default 1): *Enter* First sector (2048-2097151, default 2048): *Enter* Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +250M Partition 1 of type Linux and of size 250 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
编辑/etc/tgt/targets.conf创建目标容器
cat /etc/tgt/targets.conf
...
default-driver iscsi
<target iqn.2015-06.com.example.test:target1>
backing-store /dev/sdb1
initiator-address 192.168.10.1
</target>
创建一个backing-store sdb1,允许192.168.10.1启动target,
iqn命名规则:
iqn.*YYYY*-*MM*.*reverse.domain.name*:*OptionalIdentifier*
.
重启target服务.
service tgtd restart Stopping SCSI target daemon: [ OK ] Starting SCSI target daemon: [ OK ]
查看配置.
tgt-admin --show Target 1: iqn.2015.06.com.example.test: server System information: Driver: iscsi State: ready I_T nexus information: LUN information: Lun: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 2147 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/sdb1 Backing store flags: Account information: ACL information: 10.10.1.1
创建 iSCSI Initiator
iSCSI启动器是希望访问目标或服务器上的存储的客户端。该过程需要知道目标的IP地址。
创建 iSCSI Initiator
安装
iscsi-initiator-utils
.yum install iscsi-initiator-utils
发现 target.使用target端ip.
iscsiadm -m discovery -t sendtargets -p 192.168.1.2 Starting iscsid: [ OK ] 192.168.1.2:3260,1 iqn.2015-06.com.example.test:target1
显示了target端的iqn,login时需要此项.
连接到 target.
iscsiadm -m node -T iqn.2015-06.com.example:target1 --login Logging in to [iface: default, target: iqn.2015-06.com.example:target1, portal: 192.168.1.2,3260] (multiple) Login in to [iface: default, target: iqn.2015-06.com.example:target1, portal: 192.168.1.2,3260] successful.
显示ISCSI磁盘名称.
grep "Attached SCSI" /var/log/messages Jun 19 01:30:26 test kernel: sd 7:0:0:1 [sdb] Attached SCSI disk
创建个lvm玩.
pvcreate /dev/sdb && vgcreate test /dev/sdb && lvcreate -n newtest -l 100%FREE test
挂载.
mkdir /mnt/iscsiTest mount /dev/mapper/test-newtest /mnt/iscsiTest
Make it persistent across reboots by editing the
/etc/fstab
file.blkid /dev/mapper/test-newtest /dev/sdb: UUID="b01cd289-0f48-4e7c-bf4b-3b822f0a4332" TYPE="ext4" vim /etc/fstab UUID=b01cd289-0f48-4e7c-bf4b-3b822f0a4332 /mnt/iscsiTest ext4 _netdev 0 0
命令手册
名称
iscsiadm - open-iscsi管理实用程序
概要
SYNOPSIS
iscsiadm -m discovery [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -I
iface -t type -p ip:port [ -l ] ] | [ -o operation ] [ -n name ] [ -v
value ]
iscsiadm -m node [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -L
all,manual,automatic ] [ -U all,manual,automatic ] [ -S ] [ [ -T
targetname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -o
operation ] [ -n name ] [ -v value ] [ -p ip:port ] ]
iscsiadm -m session [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -r
sessionid | sysfsdir [ -R ] [ -u | -s ] ]
iscsiadm -m iface [ -hV ] [ -d debug_level ] [ -P printlevel ] [ -I
ifacename ] [ [ -o operation ] [ -n name ] [ -v value ] ]
iscsiadm -m fw [-l]
iscsiadm -m host [ -P printlevel ] [ -H hostno ]
iscsiadm -k priority
描述
iscsiadm实用程序是一个允许发现的命令行工具
登录到iSCSI目标,以及访问和管理开放源码,
iscsi数据库。
Open-iscsi不使用iSCSI RFC定义的术语节点,
节点是单个iSCSI启动器或目标。Open-iscsi使用
术语节点指向目标上的门户。
对于会话模式,使用会话ID(sid)。一个会话的sid可以
通过运行iscsiadm -m session -P找到。会话ID和sysfs
路径目前不持续,部分由时间决定
会话设置。
请注意,许多节点和发现操作都要求
iSCSI守护进程(iscsid)正在运行。
OPTIONS
-d,-- debug = debug_level
打印调试信息。debug_level的有效值为0
到8。
-h,-- help
显示帮助文本并退出
-I, - 接口[iface]
interface参数指定要用于的iSCSI接口
操作。iSCSI接口(iface)定义在
的/ etc /的iSCSI / ifaces。对于硬件iSCSI(qla4xxx),iface配置
必须具有硬件地址(iface.hwaddress = port的MAC
地址)和driver / transport_name(iface.transport_name)。
iface的名字是iface配置的文件名。对于
软件iSCSI,iface配置必须具有硬件
地址(iface.hwaddress)或网络层的接口名称
(iface.net_ifacename),它必须具有
驱动器/ TRANSPORT_NAME
可用的驱动程序/ iscsi_transports是tcp(软件iSCSI
通过TCP / IP),iser(软件iSCSI over infinniband)或qla4xxx
(Qlogic 4XXXX HBA)。hwaddress是MAC地址或for
软件iSCSI可能是特殊值“默认”
指示启动器不将会话绑定到特定的会话
硬件资源,而是允许网络或infinniband
层决定做什么。没有必要创建一个iface
配置默认行为。如果不指定iface,
那么使用默认行为。
如上所述,有一个特殊的iface名称是默认的。那里
是三个其他 - cxgb3i,bnx2i和iser,它不绑定
会话到一个特定的卡,但会绑定会话
cxgb3i,bnx2i或iser传输。这些是实验和
不支持使用稳定的界面。
在发现模式下,多个接口可以通过传递
在多个I / - 接口实例中。例如,
“iscsiadm -m discovery -t st -p mytarget -I iface0 -I iface2”
将直接使用iscsiadm设置节点数据库以创建记录
这将通过传入的两个内容创建会话。
在节点模式下,每个呼叫中只支持单个接口
到iscsiadm。
此选项对发现,节点和iface模式有效。
-k,-- killiscsid = [priority]
当前优先级必须为零。这将立即停止
iscsid操作和关闭iscsid。它不注销任何
会话。运行此命令与执行“killall”相同
iscsid“,通常不能使用,因为如果iscsid
正在进行错误恢复,或者iscsid是否存在错误
没有运行,系统可能无法恢复。这个
命令和iscsid的SIGTERM处理是实验性的。
-l,-- login
对于节点和fw模式,登录到指定的记录。发现
模式,登录到所有发现的目标。
此选项仅对发现和节点模式有效。
-L,-- loginall == [all | manual | automatic]
对于节点模式,使用节点或连接启动登录所有会话
值得传入或全部运行,除了标记
onboot,如果全部被传入。
此选项仅对节点模式有效(它是有效的但不是
功能用于会话模式)。
-m, -mode op
指定模式。 op必须是发现,节点,fw,主机
iface或会话之一。
如果没有指定其他选项:对于发现和 节点,全部显示各自的记录;
为会议,所有显示活动会话和连接;
对于fw,所有启动显示固件值;
对于主机,所有iSCSI主机都是
显示; 对于iface,所有的ifaces都设置在/ etc / iscsi / ifaces中
被显示。
-n,-- name = name 在记录中
指定字段 名称。用于更新
运营商。
-o,-- op = op
指定数据库操作符op。op必须是新的,删除,
更新或显示之一。
此选项对于除fw以外的所有模式均有效。删除不应该
用于运行会话。如果iscsiadm会停止
会话,然后删除记录。
new为给定的门户(IP地址)创建一个新的数据库记录
和端口号)。在发现模式下,iscsiadm将创建新的
目标返回的门户的记录。
删除删除指定的recid。在发现节点中,如果是iscsiadm
正在执行发现,它将删除门户的记录
不再退回。
更新 将使用名称将recid更新为指定的值。
在发现节点中,如果iscsiadm正在执行发现
不需要recid, name 和 value 参数。更新
操作将对目标返回的门户进行操作,
并将使用配置文件中的info更新节点记录
和命令行。
show是node,discovery和iface的默认行为
模式。当没有传入命令时也会使用它
会话模式和一个运行的sid被传入。 名称和值是
当与show一起使用时,被忽略。
-p,-- portal = ip [:port]
使用ip-address ip和port的目标端口,默认端口
值为3260。
此选项仅对发现或节点操作有效
与新的操作员。
这应该与节点模式下的--target一起使用,以指定
open-iscsi文档被称为节点或节点记录。
注意:open-iscsi使用单词节点,不匹配
iSCSI RFC的iSCSI节点术语。
-P,-- print = printlevel
如果在节点模式下以树形式打印节点。如果在会话模式
以树形式打印会话。如果在发现模式下打印
节点树形式。
-T,--targetname = TARGETNAME
使用目标 TARGETNAME。
这应该与节点模式中的--portal一起使用来指定
open-iscsi文档被称为节点或节点记录。
注意:open-iscsi使用单词节点,不匹配
iSCSI RFC的iSCSI节点术语。
-r, -- sid = sid | sysfsdir
使用会话ID sid。会话的sid可以从中找到
在会话模式下运行iscsiadm和--info参数。
可以使用包含会话的sysfs路径,而不是sid。
例如使用以下之一:
/sys/devices/platform/hostH/sessionS/targetH:B:I/H:B:I:L,
/sys/devices/platform/hostH/sessionS/targetH:B:I, or
/sys/devices/platform/hostH/sessionS,
sid | sysfsdir 仅用于会话模式。
-R,-- rescan
在会话模式下,如果sid也通过重新扫描会话。如果
没有通过重新扫描所有正在运行的会话。
在节点模式下,重新扫描通过目标运行的会话,
门户,iface元组传入。
-s,-- stats
显示会话统计信息
-S,--show
显示记录时,不要隐藏屏蔽值,例如
CHAP密码(密码)。
此选项仅对节点和会话模式有效。
-t,-- type = type
类型必须是sendtargets(或缩写为st), slp, isns 或
fw。目前只支持sendtargets,fw和iSNS,请参阅
DISCOVERY TYPES部分。
此选项仅对发现模式有效。
-u,-- logout
注销指定的记录。
此选项仅对节点和会话模式有效。
-U,-- logoutall == [全部,手动,自动]
注销所有会话与节点或conn启动值传递
在或所有运行的sesssion,除了标记在启动,如果一切都是
传入
此选项仅对节点模式有效(它是有效的但不是
功能用于会话模式)。
-v,-- value = value
指定与更新运算符一起使用的值。
此选项仅对节点模式有效。
-V,-- version
显示版本并退出
发现 类型
iSCSI定义了3种发现类型:SendTargets,SLP和iSNS。
发送目标
一种本地iSCSI协议,允许每个iSCSI目标发送一个
启动器的可用目标列表。
SLP( 可选)iSCSI目标可以使用服务定位协议
(SLP)宣布可用的目标。发起者可以
可以直接实现SLP查询,也可以使用单独的工具
获取有关可用目标的信息。
iSNS iSNS(Internet存储名称服务)记录有关信息
较大网络中的存储卷。利用iSNS,
使用iSNS服务器的地址必须在iscsid.conf中设置
“isns.address”值,iscsiadm必须在发现模式下运行
与“isns”发现类型。
open-iscsi中的iSNS支持是实验性的。iscsid.conf
设置,iscsiadm语法和节点DB布局可能会改变。
fw 几个NIC和系统包含一个迷你iSCSI启动器
可用于启动。获取用于启动fw的值
选项可以使用。做fw发现,不存储
持久记录在节点或发现DB中,因为
值存储在系统或NIC的资源中。
执行fw发现将打印门户,像其他
发现方法。查看其他设置,如CHAP值和
启动器设置,就像在节点模式下一样,运行“iscsiadm”
-m fw“。
open-iscsi中的fw支持是实验性的。设置和
iscsiadm语法和输出格式可能会改变。
iscsiadm支持iSNS (isns)或SendTargets (st) 发现类型。
SLP实施正在开发中。
例子
发现给定IP地址的目标:
iscsiadm - 模式发现--type sendtargets --portal 192.168.1.10
登录,必须使用发现找到的节点记录ID:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
登出:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
列表节点记录:
iscsiadm --mode node
显示给定节点记录的所有数据:
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
FILES
/etc/iscsi/iscsid.conf
启动时由iscsid和iscsiadm读取的配置文件。
/etc/iscsi/initiatorname.iscsi
启动时由iscsid和iscsiadm读取的包含iSCSI InitiatorName和InitiatorAlias的文件。
/var/lib/iscsi/nodes/
此目录包含具有目标的节点。
/var/lib/iscsi/send_targets
此目录包含门户。