先来介绍一下网络实验环境linux-1版本是RHEL 6.5 64位操作系统,是作为iscsi服务器使用,并且生成了LVM逻辑卷和RAID5卷,用于作为网络存储空间。

linux-2版本是RHEL6.2 64位操作系统,作为iscsi客户端,并接收服务器端提供的LVM逻辑卷网络存储空间。

wKiom1XRYqGA4WlAAACuCXFeHwU523.jpg

首先给linux-1添加四块硬盘,空间大小自己定义。

wKioL1XRZKug-n8BAAKYdT2dY5c418.jpg

下面来生成一块LVM逻辑卷,此处为后面分配给linux-2虚拟机的准备空间。

[root@linux-1 ~]# fdisk /dev/sdb  //编辑sdb硬盘

Command (m for help): n   //生成分区

Command action

   e   extended

   p   primary partition (1-4)

P   //生成主分区

Partition number (1-4): 1  //主分区编号1

First cylinder (1-652, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): 

Using default value 652   //分区为磁盘默认大小(所有)

 

Command (m for help): t  //修改分区格式

Hex code (type L to list codes): 8e  //输入8e代表LVM逻辑卷

Changed system type of partition 1 to 8e (Linux LVM)

 

Command (m for help): p  //查看当前磁盘的分区情况

……

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         652     5237158+  8e  Linux LVM

 

Command (m for help): w  //保存并退出

下面是把刚才的sdb磁盘创建为逻辑卷。

[root@linux-1 ~]# pvcreate /dev/sdb1  //sdb1生成物理卷

[root@linux-1 ~]# vgcreate benet /dev/sdb1  //生成为卷组benet

[root@linux-1 ~]# lvcreate -L 3G -n benet01 benet  //然后生成benet01逻辑卷“-L”指定逻辑卷大小为3G

[root@linux-1 ~]# lvdisplay  查看系统逻辑卷情况如下。

wKiom1XRYqLSFfa5AAH7tC8BWxs367.jpg

下面再来生成一组RAID5卷。如下所示。

[root@linux-1 ~]# mdadm -Cv /dev/md0 -a yes -n3 -l5 /dev/sd[cde] //-Cv指定RAID5卷文件名;-a yes表示激活;-n3表示使用3块磁盘;-l5表示类型为RAID5卷;然后后面是指定cde三块磁盘。

[root@linux-1 ~]# mdadm -Q /dev/md0  //查看创建的RAID5卷空间

/dev/md0: 9.99GiB raid5 3 devices, 0 spares. Use mdadm --detail for more detail.

下面使用yum仓库安装服务端程序。

[root@linux-1 ~]# yum install scsi-target-utils -y

[root@linux-1 ~]# service tgtd start  //直接可以启动服务

Starting SCSI target daemon:                           [  OK  ]

[root@linux-1 ~]# netstat -natp | grep tgtd  //查看tgtd服务的控制端口

tcp        0   0 0.0.0.0:3260  0.0.0.0:*  LISTEN      2176/tgtd           

tcp        0      0    :::3260  :::*    LISTEN      2176/tgtd  

下面创建两个新的iscsi磁盘标识。一个是LVM逻辑卷,一个是RAID

[root@linux-1 ~]# tgtadm -L iscsi -o new -m target -t 1 -T iqn.2015-08.com.benet.store:lvm

[root@linux-1 ~]# tgtadm -L iscsi -o new -m target -t 2 -T iqn.2015-08.com.benet.store:raid

[root@linux-1 ~]# tgtadm -L iscsi -o show -m target  //查看新建的iscsi磁盘

Target 1: iqn.2015-08.com.benet.store:lvm

…………

        LUN: 0

Target 2: iqn.2015-08.com.benet.store:raid

…………

        LUN: 0

为两个iscsi磁盘标识创建物理磁盘关联。

[root@linux-1 ~]# tgtadm --lld iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/benet/benet01  //关联LVM逻辑卷

[root@linux-1 ~]# tgtadm --lld iscsi -o new -m logicalunit -t 2 -l 1 -b /dev/md0   //关联RAID

[root@linux-1 ~]# tgtadm -L iscsi -o show -m target  //此时再次进行查看iscsi磁盘标识

Target 1: iqn.2015-08.com.benet.store:lvm  //iscsi磁盘标识1信息

    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: 3221 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/benet/benet01

            Backing store flags: 

    Account information:

    ACL information:

Target 2: iqn.2015-08.com.benet.store:raid  //iscsi磁盘标识2信息

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00020000

            SCSI SN: beaf20

            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     00020001

            SCSI SN: beaf21

            Size: 10728 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/md0

            Backing store flags: 

    Account information:

ACL information:

发布设备并指定访问权限

[root@linux-1 ~]# tgtadm --lld iscsi -o bind -m target -t 1 -I 192.168.100.60  //-o bind就是绑定,后面跟设备文件也就是LVM,并指定为哪台IP地址使用

[root@linux-1 ~]# tgtadm --lld iscsi -o bind -m target -t 2 -I 192.168.100.70  //这个地址是不存在的,这里只是作为解释一下

[root@linux-1 ~]# vim /etc/tgt/targets.conf   //编辑主配置文件然后在最后一行添加以下内容

<target iqn.2015-08.com.benet.store:lvm>

     backing-store /dev/benet/benet01

     initiator-address 192.168.100.60  //客户机IP地址

</target>

<target iqn.2015-08.com.benet.store:raid>

     backing-store /dev/md0

     initiator-address 192.168.100.70

</target>

[root@linux-1 ~]# chkconfig --level 35 tgtd on //添加至chkconfig管理

[root@linux-1 ~]# service tgtd restart  //再次进行重启服务

Stopping SCSI target daemon:                         [  OK  ]

Starting SCSI target daemon:                          [  OK  ]

[root@linux-1 ~]# service iptables stop  //关闭防火墙

iptables: Setting chains to policy ACCEPT: filter           [  OK  ]

iptables: Flushing firewall rules:                        [  OK  ]

iptables: Unloading modules:                          [  OK  ]

[root@linux-1 ~]# setenforce 0  //关闭SElinux

 

下面设置iscsi客户端的配置-----安装iscsi设备发现客户端软件-----

[root@linux-2 ~]# yum -y install iscsi-initiator-utils

[root@linux-2 ~]# service iscsi start  //启动服务

[root@linux-2 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.100.50  //指定iscsi服务器IP地址

[root@linux-2 ~]# iscsiadm -m node -T iqn.2015-08.com.benet.store:lvm --login lsscsi  //指定设备文件LVM逻辑卷

[root@linux-2 ~]# ls /dev  //此时查看dev目录下面的所有内容。此时会显示

…………

loop2            sda                 tty33   vcs1

loop3            sda1                tty34   vcs2

loop4            sda2                tty35   vcs3

loop5            sda3                tty36   vcs4

loop6            sda4                tty37   vcs5

loop7            sda5                tty38   vcs6

lp0              sdb                 tty39   vcsa

…………

[root@linux-2 ~]# fdisk /dev/sdb  //此时再进行分区并挂载使用

 

Command (m for help): n  //创建分区

Command action

   e   extended

   p   primary partition (1-4)

P   //创建主分区

Partition number (1-4): 1  //主分区编号1

First cylinder (1-1014, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-1014, default 1014): 

Using default value 1014  //空间为默认的所有

 

Command (m for help): p  //查看分区情况

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        1014     3143369   83  Linux

 

Command (m for help): w   //保存并退出

[root@linux-2 ~]# mkfs -t ext4 /dev/sdb1  //格式化分区

[root@linux-2 ~]# vim /etc/fstab   //设置自动挂载,添加如下语句

/dev/sdb1        /opt              ext4    defaults        0 0

[root@linux-2 ~]# mount -a    //重新识别设备挂载

[root@linux-2 ~]# df -h  //查看设备挂载情况

Filesystem            Size  Used Avail Use% Mounted on 

/dev/sda5             9.7G  2.7G  6.6G  29% /

tmpfs                 996M   88K  996M   1% /dev/shm

/dev/sda1             194M   28M  157M  15% /boot

/dev/sda3              15G  165M   14G   2% /home

/dev/sr0              3.4G  3.4G     0 100% /mnt

/dev/sdb1             3.0G   69M  2.8G   3% /opt

OK以上就是iscsi网络存储的全部操作,实验完成,谢谢大家!

经验总结:实验不难,比较难的是原理,所以注意需要多多练习。