ISCSI用法及简单配置

ISCSI(Internet Small Computer System Interface) 是一种 SAN(Storage Area network) 的实现

环境:

OS: CentOS6.7
node1: 10.11.8.187 (target)
node2: 10.11.8.186 (initiator)
node3: 10.11.8.200 (initiator)

安装:

target(即服务端, 提供存储): scsi-target-utils

initiator(即使用端): iscsi-initiator-utils

target 端:

服务脚本: /etc/init.d/tgtd

管理命令: tgtadm

tgtadm模式化的命令
-m, --mode [target、logicalunit、account]

  1. target --op [new、delete、show、update、bind、unbind]

  2. logicalunit --op [new、delete]

  3. account --op [new、delete、bind、unbind]

-L, --lld
-t, --tid
-l, --lun
-b, --backing-store
-I, --initiator-address
-T, --targetname

initiator 端:

服务脚本: /etc/init.d/iscsid

管理命令: iscsiadm

iscsiadm模式化的命令
-m {discovery|node|session|iface}

  1. discovery: 发现某服务器是否有target输出,以及输出了哪些target;

  2. node: 管理跟某target的关联关系;

  3. session: 会话管理

  4. iface: 接口管理

iscsiadm -m discovery [ -d debug_level ] [ -P printlevel ] [ -I iface -t type -p ip:port [ -l ] ]

  1. -d: 0-8

  2. -I: Network interface

  3. -t type: SendTargets(st), SLP, and iSNS

  4. -p: IP:port

对所有的操作
iscsiadm -m node [ -d debug_level ] [ -L all,manual,automatic ] | [ -U all,manual,automatic ]
对单个的操作
iscsiadm -m node [ -d debug_level ] [ [ -T targetname -p ip:port -I ifaceN ] [ -l | -u ] ] [ [ -o operation ] [ -n name ] [ -v value ] ]

iscsi-initiator-utils:
不支持discovery认证;
如果使用基于用户的认证,必须首先开放基于IP的认证;

node1 配置 target 服务:

1.创建一个控制器

[root@node1 ~]# tgtadm --lld iscsi --mode target --op new --targetname iqn.2016.com.shiina:storage.disk1 --tid 1[root@node1 ~]# tgtadm --lld iscsi --mode target --op showTarget 1: iqn.2016.com.shiina:storage.disk1    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:    Account information:    ACL information:

2.创建一块存储设备

[root@node1 ~]# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sdb[root@node1 ~]# tgtadm --lld iscsi --mode target --op showTarget 1: iqn.2016.com.shiina:storage.disk1    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: 8590 MB, Block size: 512            Online: Yes            Removable media: No            Prevent removal: No            Readonly: No            Backing store type: rdwr            Backing store path: /dev/sdb            Backing store flags:    Account information:    ACL information:

3.添加访问控制

[root@node1 ~]# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 10.11.0.0/16[root@node1 ~]# tgtadm --lld iscsi --mode target --op showTarget 1: iqn.2016.com.shiina:storage.disk1    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: 8590 MB, Block size: 512            Online: Yes            Removable media: No            Prevent removal: No            Readonly: No            Backing store type: rdwr            Backing store path: /dev/sdb            Backing store flags:    Account information:    ACL information:        10.11.0.0/16

tgtadm 所做的修改全都是在内核中保存的, 重启服务器后所有记录将会消失, 若想自动生效, 需要将配置写在 /etc/tgt/target.conf中, 以上的简单配置在文件中可以这样定义:

    backing-store /dev/sdb    initiator-address 10.11.0.0/16

详细配置文件内有事例

node2 配置 initiator:

iscsi-iname 命令: 生成initiator-name

-p: 指定名前缀

1.生成InitiatorName

[root@node2 ~]# echo "InitiatorName=`iscsi-iname -p iqn.2016.com.shiina`" > /etc/iscsi/initiatorname.iscsi[root@node2 ~]# cat /etc/iscsi/initiatorname.iscsiInitiatorName=iqn.2016.com.shiina:60362cc811e4

2.搜索发现 target:

[root@node2 ~]# iscsiadm -m discovery -t sendtargets -p 10.11.8.18710.11.8.187:3260,1 iqn.2016.com.shiina:storage.disk1[root@node2 ~]# ll /var/lib/iscsi/send_targets/10.11.8.187,3260/total 8lrwxrwxrwx 1 root root  73 May 28 20:44 iqn.2016.com.shiina:storage.disk1,10.11.8.187,3260,1,default -> /var/lib/iscsi/nodes/iqn.2016.com.shiina:storage.disk1/10.11.8.187,3260,1-rw------- 1 root root 554 May 28 20:44 st_config

3.登录: 表示将远程主机target对应的lun关联到本机

[root@node2 ~]# iscsiadm -m node -T iqn.2016.com.shiina:storage.disk1 -p 10.11.8.187 -lLogging in to [iface: default, target: iqn.2016.com.shiina:storage.disk1, portal: 10.11.8.187,3260] (multiple)Login to [iface: default, target: iqn.2016.com.shiina:storage.disk1, portal: 10.11.8.187,3260] successful.[root@node2 ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x0000bfe1   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *           1          26      204800   83  LinuxPartition 1 does not end on cylinder boundary./dev/sda2              26         157     1048576   82  Linux swap / SolarisPartition 2 does not end on cylinder boundary./dev/sda3             157        2611    19717120   8e  Linux LVMDisk /dev/mapper/vol0-root: 5242 MB, 5242880000 bytes255 heads, 63 sectors/track, 637 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/mapper/vol0-usr: 14.9 GB, 14944305152 bytes255 heads, 63 sectors/track, 1816 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdb: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0xfa870733   Device Boot      Start         End      Blocks   Id  System/dev/sdb1               1        1044     8385898+  83  LinuxPS: sdb1 是 node1 上一个尚未格式化的分区

4.格式化并写入数据

[root@node2 ~]# mke2fs -j /dev/sdb1mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks524288 inodes, 2096474 blocks104823 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=214748364864 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Writing inode tables: done                          Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 22 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.[root@node2 ~]# mount /dev/sdb1 /mnt[root@node2 ~]# cp /etc/fstab /mnt/

node3 配置initiator并登录:

[root@node3 ~]# iscsiadm -m discovery -t sendtargets -p 10.11.8.187Starting iscsid:                                           [  OK  ]10.11.8.187:3260,1 iqn.2016.com.shiina:storage.disk1[root@node3 ~]# iscsiadm -m node -T iqn.2016.com.shiina:storage.disk1 -p 10.11.8.187 -lLogging in to [iface: default, target: iqn.2016.com.shiina:storage.disk1, portal: 10.11.8.187,3260] (multiple)Login to [iface: default, target: iqn.2016.com.shiina:storage.disk1, portal: 10.11.8.187,3260] successful.[root@node3 ~]# mount /dev/sdb1 /mnt[root@node3 ~]# ls /mnt/fstab  lost+found # 此时fatab文件存在

在 node2 和 node3 同时挂载的情况下,在 node3 写入数据:

[root@node3 ~]# cp /etc/inittab /mnt/[root@node3 ~]# ls /mnt/fstab  inittab  lost+found[root@node2 ~]# ls /mnt/fstab  lost+found

此时查看 node2 却发现并无 inittab 文件, 说明 node3 的数据写入依然停留在内存中, 尚未同步到硬盘

此种情况下容易造成文件系统崩溃, 因此只允许一台设备挂载, 若希望同时挂载, 则需安装集群文件系统

关键字:iscsi, linux

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部