紅帽企業存儲管理之iscsi簡單應用

共享存儲:

? das :direct attached storage 直接附加存儲

n IDE

n scsi 磁盤櫃 7 15

? nas : network attached storage網絡附加存儲 (帶有自己的操作系統)

n samba nfs 文件級的共享

n 效率低 帶有加鎖機制,和推送功能

? san : 存儲區域網絡

n fc-san(fiber channer storage area network光纖)fc-switch

u scsi格式 價格昂貴

n ip-san(iscsi:ip)設備爲普通設備

u target initiator 認證(ip—賬號 --cheap)

n 效率高

羣集文件系統 redhat:gfs2 oracle:ocfs2

DRBD:廉價文件同步方案

HA

Active---standby

Active---active

羣集腦裂:split-brain portioned cluster

解決方法: stonith (也叫fence)

硬件:(電源交換機,ssh,meatware)

模塊:hp,ibm,sun 機器模塊設備

塊存儲:ext2,ext3(本地文件系統 沒有鎖機制,沒有推送機制)

羣集文件系統:有鎖機制和推送機制-- redhat:gfs(1-2) oracle:(ocfs2)

iscsi存儲管理:

target (tgtd)(服務器)

scsi-target-utils.i386 3260 認證(ip-chanper)

? target id 號碼

? 邏輯單元號

iqn格式名字(iqn.日期(年-月).域名反寫.string:substring)

如:iqn.2012-05.com.a.node1:target

管理:tgtadm --lld [driver] --op [operation] --mode [mode] [OPTION]...

--lld [driver] --op new --mode target --tid=[id] --targetname [name]

--lld [driver] --op show --mode target

--lld [driver] --op new --mode=logicalunit --tid=[id] --lun=[lun]

--backing-store [path]

initiator (客戶端)

紅帽企業存儲管理之iscsi簡單應用案例:

應用拓撲圖:

應用實現步驟:

一.Target-server服務器配置

配置本地yum數據庫

[root@target-server ~]# hostname

target-server.junjie.com

[root@target-server ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:1B:F1:BA

inet addr:192.168.101.210 Bcast:192.168.101.255 Mask:255.255.255.0

[root@target-server ~]# vim /etc/yum.repos.d/server.repo

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-clusterstorage]

name=Red Hat Enterprise Linux clusterstorage

baseurl=file:///mnt/cdrom/ClusterStorage/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[root@target-server ~]# yum list all

安裝scsi-target軟件包:

[root@target-server ~]# yum list all |grep scsi-target

This system is not registered with RHN.

RHN support will be disabled.

scsi-target-utils.i386 0.0-5.20080917snap.el5

[root@target-server ~]# yum install scsi-target-utils

[root@target-server ~]# rpm -ql scsi-target-utils

/etc/rc.d/init.d/tgtd #服務器控制腳本

/etc/sysconfig/tgtd

/etc/tgt/targets.conf

/usr/sbin/tgt-admin

/usr/sbin/tgt-setup-lun

/usr/sbin/tgtadm #target管理工具

/usr/sbin/tgtd

#設置target開機啓動,並啓動tgtd服務

[root@target-server ~]# chkconfig tgtd on

[root@target-server ~]# chkconfig --list tgtd

tgtd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@target-server ~]# service tgtd start

Starting SCSI target daemon: [ OK ]

[root@target-server ~]# netstat -tupln |grep tgtd

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

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

新建磁盤:(這裏使用磁盤分區)

[root@target-server ~]# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes

255 heads, 63 sectors/track, 1566 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1033 8193150 83 Linux

/dev/sda3 1034 1224 1534207+ 82 Linux swap / Solaris

[root@target-server ~]# fdisk /dev/sda

p/n/p//+1000M/p/w

[root@target-server ~]# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes

255 heads, 63 sectors/track, 1566 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1033 8193150 83 Linux

/dev/sda3 1034 1224 1534207+ 82 Linux swap / Solaris

/dev/sda4 1225 1347 987997+ 83 Linux

重新識別分區:(此處不需要格式化掛載)

[root@target-server ~]# cat /proc/partitions

8 0 12582912 sda

8 1 104391 sda1

8 2 8193150 sda2

8 3 1534207 sda3

[root@target-server ~]# partprobe /dev/sda

[root@target-server ~]# cat /proc/partitions

8 0 12582912 sda

8 1 104391 sda1

8 2 8193150 sda2

8 3 1534207 sda3

8 4 987997 sda4

#配置target,新建target設備和邏輯單元設備

[root@target-server ~]# tgtadm --lld iscsi --op new --mode target --tid 1 --targetname iqn.2012-05-22.com.junjie.node1:target

[root@target-server ~]# tgtadm --lld iscsi --op show --mode target

Target 1: iqn.2012-05-22.com.junjie.node1:target

System information:

Driver: iscsi

State: ready

I_T nexus information:

LUN information:

LUN: 0

Type: controller

SCSI ID: deadbeaf1:0

SCSI SN: beaf10

Size: 0 MB

Online: Yes

Removable media: No

Backing store: No backing store

Account information:

ACL information:

[root@target-server ~]# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --backing-store /dev/sda4

[root@target-server ~]# tgtadm --lld iscsi --op show --mode target

Target 1: iqn.2012-05-22.com.junjie.node1:target

System information:

Driver: iscsi

State: ready

I_T nexus information:

LUN information:

LUN: 0

Type: controller

SCSI ID: deadbeaf1:0

SCSI SN: beaf10

Size: 0 MB

Online: Yes

Removable media: No

Backing store: No backing store

LUN: 1

Type: disk

SCSI ID: deadbeaf1:1

SCSI SN: beaf11

Size: 1012 MB

Online: Yes

Removable media: No

Backing store: /dev/sda4

Account information:

ACL information:

配置身份驗證機制:

[root@target-server ~]# tgtadm --lld iscsi --op bind --mode target --tid 1 --initiator-address 192.168.101.0/24

[root@target-server ~]# tgtadm --lld iscsi --op show --mode target

Target 1: iqn.2012-05-22.com.junjie.node1:target

System information:

Driver: iscsi

State: ready

I_T nexus information:

LUN information:

LUN: 0

Type: controller

SCSI ID: deadbeaf1:0

SCSI SN: beaf10

Size: 0 MB

Online: Yes

Removable media: No

Backing store: No backing store

LUN: 1

Type: disk

SCSI ID: deadbeaf1:1

SCSI SN: beaf11

Size: 1012 MB

Online: Yes

Removable media: No

Backing store: /dev/sda4

Account information:

ACL information:

192.168.101.0/24

此時的所有配置爲臨時配置,開機重啓會丟失的,若要永久保持,又如下:2中方法

方法1:將以上腳本寫到開機啓動腳本中:/etc/rc.d/rc.local

方法2:開機啓動

[root@target-server ~]# vim /etc/tgt/targets.conf

二.Initiator-1(存儲的客戶端)配置

Initiator-1(存儲的客戶端)

配置本地yum數據庫:

[root@initiator-1 ~]# hostname

initiator-1.junjie.com

[root@initiator-1 ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:66:E1:DA

inet addr:192.168.101.211 Bcast:192.168.101.255 Mask:255.255.255.0

[root@initiator-1 ~]# vim /etc/yum.repos.d/server.repo

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-vt]

name=Red Hat Enterprise Linux vt

baseurl=file:///mnt/cdrom/VT/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-cluster]

name=Red Hat Enterprise Linux cluster

baseurl=file:///mnt/cdrom/Cluster/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-clusterstorage]

name=Red Hat Enterprise Linux clusterstorage

baseurl=file:///mnt/cdrom/ClusterStorage/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[root@initiator-1 ~]#

安裝配置

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

[root@initiator-1 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2012-05-22.com.junjie.initiator1

[root@initiator-1 ~]# chkconfig iscsi on

[root@initiator-1 ~]# service iscsi start

iscsid is stopped

Turning off network shutdown. Starting iSCSI daemon: [ OK ]

[ OK ]

Setting up iSCSI targets: iscsiadm: No records found!

[ OK ]

[root@initiator-1 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.101.210

192.168.101.210:3260,1 iqn.2012-05-22.com.junjie.node1:target

[root@initiator-1 ~]# iscsiadm --mode node --targetname iqn.2012-05-22.com.junjie.node1:target --portal 192.168.101.210:3260 --login

Logging in to [iface: default, target: iqn.2012-05-22.com.junjie.node1:target, portal: 192.168.101.210,3260]

Login to [iface: default, target: iqn.2012-05-22.com.junjie.node1:target, portal: 192.168.101.210,3260]: successful

[root@initiator-1 ~]# fdisk -l

Disk /dev/sda: 12.8 GB, 12884901888 bytes

255 heads, 63 sectors/track, 1566 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 1033 8193150 83 Linux

/dev/sda3 1034 1224 1534207+ 82 Linux swap / Solaris

Disk /dev/sdb: 1011 MB, 1011709440 bytes

32 heads, 61 sectors/track, 1012 cylinders

Units = cylinders of 1952 * 512 = 999424 bytes

Disk /dev/sdb doesn't contain a valid partition table

此時就相當於本地磁盤(可以隨意使用,可以格式化,掛載等)

[root@initiator-1 ~]# fdisk /dev/sdb

p/n/p/1///p/w

[root@initiator-1 ~]# fdisk -l

……

Disk /dev/sdb: 1011 MB, 1011709440 bytes

32 heads, 61 sectors/track, 1012 cylinders

Units = cylinders of 1952 * 512 = 999424 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 1012 987681+ 83 Linux

[root@initiator-1 ~]# partprobe /dev/sdb

[root@initiator-1 ~]# mkfs -t ext3 /dev/sdb1

[root@initiator-1 ~]# mkdir /mnt/1

[root@initiator-1 ~]# mount /dev/sdb1 /mnt/1/

[root@initiator-1 ~]# cd /mnt/1/

[root@initiator-1 1]# mkdir d1 d2 d3

[root@initiator-1 1]# touch f1 f2 f3

[root@initiator-1 1]# ll

total 28

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d1

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d2

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d3

-rw-r--r-- 1 root root 0 Apr 1 11:37 f1

-rw-r--r-- 1 root root 0 Apr 1 11:37 f2

-rw-r--r-- 1 root root 0 Apr 1 11:37 f3

drwx------ 2 root root 16384 Apr 1 11:34 lost+found

三.Initiator-2(存儲的客戶端)配置

Initiator-2(存儲的客戶端)

配置本地yum數據庫:

[root@initiator-2~]# hostname

initiator-2.junjie.com

[root@initiator-2 ~]# ifconfig eth0

eth0 Link encap:Ethernet HWaddr 00:0C:29:79:F8:F7

inet addr:192.168.101.212 Bcast:192.168.101.255 Mask:255.255.255.0

[root@initiator-2 ~]# vim /etc/yum.repos.d/server.repo

[rhel-server]

name=Red Hat Enterprise Linux server

baseurl=file:///mnt/cdrom/Server/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-vt]

name=Red Hat Enterprise Linux vt

baseurl=file:///mnt/cdrom/VT/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-cluster]

name=Red Hat Enterprise Linux cluster

baseurl=file:///mnt/cdrom/Cluster/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[rhel-clusterstorage]

name=Red Hat Enterprise Linux clusterstorage

baseurl=file:///mnt/cdrom/ClusterStorage/

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

[root@initiator-2 ~]#

安裝配置

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

[root@initiator-2 ~]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2012-05-22.com.junjie.initiator2

[root@initiator-2 ~]# service iscsi start

iscsid is stopped

Turning off network shutdown. Starting iSCSI daemon: [ OK ]

[ OK ]

Setting up iSCSI targets: iscsiadm: No records found!

[ OK ]

[root@initiator-2 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.101.210

192.168.101.210:3260,1 iqn.2012-05-22.com.junjie.node1:target

[root@initiator-2 ~]# iscsiadm --mode node --targetname iqn.2012-05-22.com.junjie.node1:target --portal 192.168.101.210:3260 --login

Logging in to [iface: default, target: iqn.2012-05-22.com.junjie.node1:target, portal: 192.168.101.210,3260]

Login to [iface: default, target: iqn.2012-05-22.com.junjie.node1:target, portal: 192.168.101.210,3260]: successful

[root@initiator-2 ~]# fdisk -l

………….

Disk /dev/sdb: 1011 MB, 1011709440 bytes

32 heads, 61 sectors/track, 1012 cylinders

Units = cylinders of 1952 * 512 = 999424 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 1012 987681+ 83 Linux

[root@initiator-2 ~]#

此時就相當於本地磁盤(可以隨意使用,可以格式化,掛載等)

[root@initiator-2 ~]# mkdir /mnt/1

[root@initiator-2 ~]# mount /dev/sdb1 /mnt/1/

[root@initiator-2 ~]# cd /mnt/1/

[root@initiator-2 1]# ll

total 28

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d1

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d2

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d3

-rw-r--r-- 1 root root 0 Apr 1 11:37 f1

-rw-r--r-- 1 root root 0 Apr 1 11:37 f2

-rw-r--r-- 1 root root 0 Apr 1 11:37 f3

drwx------ 2 root root 16384 Apr 1 11:34 lost+found

(發現存儲設備上的文件信息應經存在)

四.測試文件的鎖機制和推送機制

由於該文件系統是塊存儲:ext2ext3本地文件系統,故沒有鎖機制,也沒有推送機制

4.1測試推送功能

initiator-2上創建qq文件

[root@initiator-2 1]# echo "01" >f1

[root@initiator-2 1]# touch qq

[root@initiator-2 1]# ll

total 32

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d1

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d2

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d3

-rw-r--r-- 1 root root 3 Apr 1 12:03 f1

-rw-r--r-- 1 root root 0 Apr 1 11:37 f2

-rw-r--r-- 1 root root 0 Apr 1 11:37 f3

drwx------ 2 root root 16384 Apr 1 11:34 lost+found

-rw-r--r-- 1 root root 0 Apr 1 12:03 qq

initiator-1上沒有發現qq文件

[root@initiator-1 1]# ll

total 28

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d1

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d2

drwxr-xr-x 2 root root 4096 Apr 1 11:37 d3

-rw-r--r-- 1 root root 0 Apr 1 11:37 f1

-rw-r--r-- 1 root root 0 Apr 1 11:37 f2

-rw-r--r-- 1 root root 0 Apr 1 11:37 f3

drwx------ 2 root root 16384 Apr 1 11:34 lost+found

[root@initiator-1 1]#

4.2測試鎖機制功能

經過測試可以知道:塊存儲:ext2ext3本地文件系統,故沒有鎖機制,也沒有推送機制

附錄:

initiator卸載遠端存儲設備:

iscsiadm --mode node -T iqn.2011-09-28:disk1 -p 192.168.0.254:3260 --logout(service iscsi restart後又會註冊)

iscsiadm --mode node -T iqn.2011-09-28:disk1 -p 192.168.0.254:3260 -o delete

 

轉載自http://xjzhujunjie.blog.51cto.com/3582724/855117

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章