先來介紹一下網絡實驗環境linux-1版本是RHEL 6.5 64位操做系統,是做爲iscsi服務器使用,而且生成了LVM邏輯卷和RAID5卷,用於做爲網絡存儲空間。node
linux-2版本是RHEL6.2 64位操做系統,做爲iscsi客戶端,並接收服務器端提供的LVM邏輯卷網絡存儲空間。linux
首先給linux-1添加四塊硬盤,空間大小本身定義。vim
下面來生成一塊LVM邏輯卷,此處爲後面分配給linux-2虛擬機的準備空間。服務器
[root@linux-1 ~]# fdisk /dev/sdb //編輯sdb硬盤網絡
Command (m for help): n //生成分區tcp
Command actionide
e extendedoop
p primary partition (1-4)spa
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 查看系統邏輯卷狀況以下。
下面再來生成一組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網絡存儲的所有操做,實驗完成,謝謝你們!
經驗總結:實驗不難,比較難的是原理,因此注意須要多多練習。