基于Ubuntu 14.04的iSCSI存储配置--Target创建,Initiator连接
2015-11-28 14:27
701 查看
http://blog.onos.top/%E8%BF%90%E7%BB%B4/2014/07/28/iSCSI-on-ubuntu14.04/
主机Win7 32位系统,Virtual Box 虚拟机Ubuntu 14.04 32位,SSH登录操作。环境问题Target和Initiator都是在同一台机器上,实际环境是可以完全分开独立分布于多个服务器。
安装Target软件
创建Target
tgtadmin中关于target命令如 下
为Target新增逻辑单元
安装客户端软件
iSCSI客户端连接Target
iSCSI 端口号
上述只是简单介绍了iSCSI的使用,方便快速建立一个基于网络的存储服务,但个Target是可以供多个Initiator连接的。更多更详细的操作大家可以自己实践。
主机Win7 32位系统,Virtual Box 虚拟机Ubuntu 14.04 32位,SSH登录操作。环境问题Target和Initiator都是在同一台机器上,实际环境是可以完全分开独立分布于多个服务器。
安装Target软件
root@king:~# apt-cache search tgt ... ... nagios-plugins-basic - Plugins for nagios compatible monitoring systems tgt - Linux SCSI target user-space tools epiphany-browser - Intuitive GNOME web browser ... python-webkit-dev - WebKit/Gtk Python bindings: development files #当系统update后可通过search查看tgt软件 root@king:~# apt-get install tgt Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libboost-system1.54.0 libboost-thread1.54.0 libconfig-general-perl libibverbs1 libnspr4 libnss3 libnss3-nssdb librados2 librbd1 librdmacm1 libsgutils2-2 sg3-utils The following NEW packages will be installed: libboost-system1.54.0 libboost-thread1.54.0 libconfig-general-perl libibverbs1 libnspr4 libnss3 libnss3-nssdb librados2 librbd1 librdmacm1 libsgutils2-2 sg3-utils tgt 0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded. Need to get 3,858 kB of archives. After this operation, 13.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y #安装完毕后检查tgt运行状态 Processing triggers for libc-bin (2.19-0ubuntu6) ... Processing triggers for ureadahead (0.100.0-16) ... root@king:~# service tgt status tgt start/running, process 1690 #tgt服务正在运行进程号1690 root@king:~# ps aux |grep 1690 root 1690 0.0 0.3 16764 3140 ? Ss 21:47 0:00 tgtd root 1716 0.0 0.0 4676 824 pts/0 S+ 21:54 0:00 grep --color=auto 1690 #tgtadmin help查看tgtadmin 命令参数 root@king:~# tgtadm --help Linux SCSI Target administration utility, version 1.0.43 Usage: tgtadm [OPTION] --lld <driver> --mode target --op new --tid <id> --targetname <name> add a new target with <id> and <name>. <id> must not be zero. --lld <driver> --mode target --op delete [--force] --tid <id> delete the specific target with <id>. With force option, the specific target is deleted even if there is an activity. --lld <driver> --mode target --op show show all the targets. --lld <driver> --mode target --op show --tid <id> show the specific target's parameters. --lld <driver> --mode target --op update --tid <id> --name <param> --value <value> change the target parameters of the target with <id>. --lld <driver> --mode target --op bind --tid <id> --initiator-address <address> --lld <driver> --mode target --op bind --tid <id> --initiator-name <name> enable the target to accept the specific initiators. --lld <driver> --mode target --op unbind --tid <id> --initiator-address <address> --lld <driver> --mode target --op unbind --tid <id> --initiator-name <name> disable the specific permitted initiators. --lld <driver> --mode logicalunit --op new --tid <id> --lun <lun> --backing-store <path> --bstype <type> --bsopts <bs options> --bsoflags <options> add a new logical unit with <lun> to the specific target with <id>. The logical unit is offered to the initiators. <path> must be block device files (including LVM and RAID devices) or regular files. bstype option is optional. bsopts are specific to the bstype. bsoflags supported options are sync and direct (sync:direct for both). --lld <driver> --mode logicalunit --op delete --tid <id> --lun <lun> delete the specific logical unit with <lun> that the target with <id> has. --lld <driver> --mode account --op new --user <name> --password <pass> add a new account with <name> and <pass>. --lld <driver> --mode account --op delete --user <name> delete the specific account having <name>. --lld <driver> --mode account --op bind --tid <id> --user <name> [--outgoing] add the specific account having <name> to the specific target with <id>. <user> could be <IncomingUser> or <OutgoingUser>. If you use --outgoing option, the account will be added as an outgoing account. --lld <driver> --mode account --op unbind --tid <id> --user <name> [--outgoing] delete the specific account having <name> from specific target. The --outgoing option must be added if you delete an outgoing account. --lld <driver> --mode lld --op start Start the specified lld without restarting the tgtd process. --control-port <port> use control port <port> --help display this help and exit Report bugs to <stgt@vger.kernel.org>.
创建Target
tgtadmin中关于target命令如 下
--lld <driver> --mode target --op new --tid <id> --targetname <name> add a new target with <id> and <name>. <id> must not be zero. --lld <driver> --mode target --op delete [--force] --tid <id> delete the specific target with <id>.With force option, the specific target is deleted even if there is an activity. --lld <driver> --mode target --op show show all the targets. #创建target root@king:~# tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2014-0728.com:longtang #--lld iscsi 固定参数驱动iscsi #--mode target 模式target #--op new 操作new新创建 #--tid 1 target id号 #--targetname ...target名称 #查看Target记录</span> root@king:~# tgtadm --lld iscsi --mode target --op show Target 1: iqn.2014-0728.com:longtang System information: Driver: iscsi State: ready I_T nexus information: <span style="color:#000099;">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 SWP: No Thin-provisioning: No Backing store type: null Backing store path: None Backing store flags:</span> Account information: ACL information: #相关参数会列出,会默认创建LUN号为0的逻辑单元。 #绑定initiator name,如果不操作后续Initiator可能无法发现target。 root@king:~# tgtadm --lld iscsi --mode target --op bind --tid 1 -I ALL #上述命令为任何initiator都可以连接该target。
为Target新增逻辑单元
--lld <driver> --mode logicalunit --op new --tid <id> --lun <lun> --backing-store <path> --bstype <type> --bsopts <bs options> --bsoflags <options> add a new logical unit with <lun> to the specific target with <id>. The logical unit is offered to the initiators. <path> must be block device files <span style="color:#ff0000;">(including LVM and RAID devices)</span> or<span style="color:#ff0000;"> regular files</span>. bstype option is optional. bsopts are specific to the bstype. bsoflags supported options are sync and direct (sync:direct for both). --lld <driver> --mode logicalunit --op delete --tid <id> --lun <lun> delete the specific logical unit with <lun> that the target with <id> has. 命令规范如上 root@king:~# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/my_volume_group/kinglv root@king:~# tgtadm --lld iscsi --mode target --op show Target 1: iqn.2014-0728.com:longtang System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 <span style="white-space:pre"> </span> ... Backing store flags: <span style="color:#000099;"> LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 105 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: rdwr Backing store path: /dev/my_volume_group/kinglv Backing store flags:</span> Account information: ACL information: # 创建逻辑单元号为1的逻辑单元,路径可以为LVM设备或者RAID设备,或者是文件。有时利用dd创建模拟文件可以作为path。
安装客户端软件
root@king:~# apt-get install open-iscsi Reading package lists... Done Building dependency tree ... #检查客户端运行状态,如果未运行则开启 root@king:~# service open-iscsi status Current active iSCSI sessions: iscsiadm: No active sessions. root@king:~# service open-iscsi start * Starting iSCSI initiator service iscsid iSCSI daemon already running
iSCSI客户端连接Target
发现Target root@king:~# iscsiadm -m discovery -t sendtargets -p 192.168.1.120 192.168.1.120:3260,1 iqn.2014-0728.com:longtang # 如果上述target 的initiator name不绑定为all此处会无法发现target。 #显示已发现target root@king:~# iscsiadm -m node 192.168.1.120:3260,1 iqn.2014-0728.com:longtang #连接Target root@king:~# iscsiadm -m node -p 192.168.1.120 --login Logging in to [iface: default, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] (multiple) Login to [iface: default, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] successful. #查看磁盘设备 root@king:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 /dev/sdc root@king:~# fdisk -l /dev/sdc Disk /dev/sdc: 104 MB, 104857600 bytes 4 heads, 50 sectors/track, 1024 cylinders, total 204800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdc doesn't contain a valid partition table #断开Target root@king:~# iscsiadm -m node -p 192.168.1.120 --logout Logging out of session [sid: 1, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] Logout of [sid: 1, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] successful. root@king:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 #发现连接和断开之间设备相差一个/dev/sdc 大小在104MB。我们底层实际存储设备LVM逻辑卷kinglv大小相近。 root@king:~# lvdisplay /dev/my_volume_group/kinglv --- Logical volume --- LV Path /dev/my_volume_group/kinglv LV Name kinglv VG Name my_volume_group LV UUID lAT5Te-obE1-Q3dY-pU4r-YYDt-rSRu-hgmKQP LV Write Access read/write LV Creation host, time king, 2014-07-27 14:43:41 +0800 LV Status available # open 1 <span style="color:#ff0000;">LV Size 100.00 MiB</span> Current LE 25 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:1 如果怕指定IP什么太烦,直接连接所有Target root@king:~# iscsiadm -m node --login all Logging in to [iface: default, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] (multiple) Login to [iface: default, target: iqn.2014-0728.com:longtang, portal: 192.168.1.120,3260] successful.
iSCSI 端口号
root@king:~# netstat -anl | grep 3260 tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN tcp6 0 0 :::3260 :::* LISTEN #/etc/service 中也存在默认端口号 ... icpv2 3130/tcp icp # Internet Cache Protocol icpv2 3130/udp icp iscsi-target 3260/tcp mysql 3306/tcp mysql 3306/udp ...
上述只是简单介绍了iSCSI的使用,方便快速建立一个基于网络的存储服务,但个Target是可以供多个Initiator连接的。更多更详细的操作大家可以自己实践。
相关文章推荐
- uid_t gid_t等的定义
- Android开发 本地与在线音乐播放器(基于Service实现)
- printf,sprintf,vsprintf 区别
- ServletContextListener,各种获取servletContext对象的方法
- CentOS 6.5 安装使用iSCSI-Target
- 将16进制字符转换成10进制
- char * const cp | const char * p | char const * p 区别
- va_start和va_end使用详解
- ThinkPHP3.2.3生成多张缩略图
- MR调度算法
- 164 Using the LIST command in Recovery Manager (RMAN), which two pieces of information from the RMAN
- ActionBar的TabListener与Fragment
- android 5.X之使用Palette
- 代码整洁之道(五)---------------------数据结构与对象
- 警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
- android之GridView实现九宫格布局
- 安装fedora后要安装的软件
- LeetCode---Multiply Strings
- Nginx (一) 基础入门
- nyoj 36 最长公共子序列【lcs&&dp】