共享存儲方式
1.Das直接附加存儲 (直接連接到主機)
2.Nas網絡附加存儲 (提供共享機制nfs samba)
--Windows 共享 cifs
簡化操作系統 nfs cifs smb 文件級別共享
效率低 安全性不高
3.san 存儲區域網絡
Scsi總線分爲:
窄帶8 (7個可用控制器)
寬帶 16 (15個可用的控制器)
--是塊共享,代價高昂,需要光纖交換機,解決這樣的問題採用iscsi基於ip的scsi機制
相當於在兩端安裝scsi協議封裝要傳輸的數據
San的分類:
Fc san
Ip san scsi
本地文件系統(ext2 ext3 ext4)不能做羣集共享。
--drbd通過網絡把兩個主機對接,保持兩臺主機的數據同步
--Active/active 需要兩個流動ip
羣集文件系統
Jfs1和2版本文件系統,有推送的能力,
Ocfs1和2版本文件系統
Ip san存儲的實現
59-1
1.Server-arget
增加一塊硬盤
[root@director2 ha.d]# yum list all |grep scsi
scsi-target-utils.i386 0.0-5.20080917snap.el5
--服務器端需要安裝的軟件
[root@director2 ha.d]# yum install scsi-target-utils.i386 –y -–有依賴的包
[root@director2 ha.d]# service tgtd start
--端口是3260
[root@director2 ~]# chkconfig tgtd on
[root@director2 ~]# tgtadm --lld iscsi --op new --mode target --tid=1
--targetname=iqn.2011-10.com.test.drector2:target
-------增加一個target tid不能爲零,0是禁用的,窄帶1-7,寬帶1-15,target名是以iqn命名的。
[root@director2 ~]# fdisk /dev/hda
[root@director2 ~]# partprobe /dev/hda
--和內核同步,但不能格式化,要在client端格式化
[root@director2 ~]# tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/hda1
--在target上新增邏輯單元
認證方法
1.基於ip地址的認證
2.賬號的認證(chap)
--acl定義initiator的網段
[root@director2 ~]# tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=192.168.2.0/24
如果開機要啓動
可以寫入開機啓動的文件裏/etc/rc.d/rc.local
[root@director2 ~]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2011-10.com.test.drector2: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: 1001 MB
Online: Yes
Removable media: No
Backing store: /dev/hda1
Account information:
ACL information:
192.168.2.0/24
[root@director2 ~]#
Client-initiator
作用 發出發現targetserver的指令
[root@server2 ~]# yum list all |grep scsi
This system is not registered with RHN.
RHN support will be disabled.
iscsi-initiator-utils.i386 .868-0.18.el5 rhel-server
lsscsi.i386 0.17-3.el5 rhel-server
scsi-target-utils.i386 0.0-5.20080917snap.el5
[root@server2 ~]# yum install iscsi-initiator-utils.i386 –y
給客戶端起名
[root@server2 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-10.com.a.server2:init1
[root@server2 ~]# 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@server2 ~]# chkconfig iscsi on
--發現target服務器
[root@server2 ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.
2.11
192.168.2.11:3260,1 iqn.2011-10.com.test.drector2:target
[root@server2 ~]#
[root@server2 ~]# iscsiadm --mode node --targetname=iqn.2011-10.com.test.drector2:target --portal 192.168.2.11 --login
Logging in to [iface: default, target: iqn.2011-10.com.test.drector2:target, portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2011-10.com.test.drector2:target, portal: 192.168.2.11,3260]: successful
[root@server2 ~]#
[root@server2 ~]# fdisk -l
Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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 3837 30716280 83 Linux
/dev/sda3 3838 3968 1052257+ 82 Linux swap / Solaris
Disk /dev/sdb: 1000 MB, 1000548864 bytes
31 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 1922 * 512 = 984064 bytes
Disk /dev/sdb doesn't contain a valid partition table
[root@server2 ~]#
[root@server2 ~]# fdisk /dev/sdb
[root@server2 ~]# mkfs -t ext3 /dev/sdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
122112 inodes, 244086 blocks
12204 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
15264 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@server2 ~]#
[root@server2 ~]# mkdir /mnt/sdb1
[root@server2 ~]# mount /dev/sdb1 /mnt/sdb1/
[root@server2 ~]#
[root@server2 sdb1]# mkdir ll
[root@server2 sdb1]# touch lwy.old
這個格式化的分區類型,只有本用戶可以訪問自己的文件,看不到其他用戶的文件
其他客戶端無法訪問本地文件分區的類型所以
存儲需要使用羣集的分區類型
Client2
[root@localhost ~]#
[root@localhost ~]# yum install iscsi-initiator-utils -y
[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-10.com.test.server1:init2
[root@localhost ~]# 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@localhost ~]# chkconfig iscsi on
[root@localhost ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.2.11
192.168.2.11:3260,1 iqn.2011-10.com.test.drector2:target
[root@localhost ~]# iscsiadm --mode node --targetname iqn.2011-10.com.test.drector2:target --portal 192.168.2.11 --login
Logging in to [iface: default, target: iqn.2011-10.com.test.drector2:target, portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2011-10.com.test.drector2:target, portal: 192.168.2.11,3260]: successful
[root@localhost ~]#
[root@localhost ~]# fdisk -l
Disk /dev/sda: 107.3 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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 3837 30716280 83 Linux
/dev/sda3 3838 3968 1052257+ 82 Linux swap / Solaris
Disk /dev/sdb: 1000 MB, 1000548864 bytes
31 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 1922 * 512 = 984064 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1016 976345 83 Linux
[root@localhost ~]# mkdir /mnt/sdb1
[root@localhost ~]# mount /dev/sdb1 /mnt/sdb1/
[root@localhost ~]# cd /mnt/sdb1/
[root@localhost sdb1]# ll
total 20
drwxr-xr-x 2 root root 4096 Oct 19 16:43 ll
drwx------ 2 root root 16384 Oct 19 16:42 lost+found
-rw-r--r-- 1 root root 0 Oct 19 16:43 lwy.old
[root@localhost sdb1]# mkdir ww
[root@localhost sdb1]# ll
total 24
drwxr-xr-x 2 root root 4096 Oct 19 16:43 ll
drwx------ 2 root root 16384 Oct 19 16:42 lost+found
-rw-r--r-- 1 root root 0 Oct 19 16:43 lwy.old
drwxr-xr-x 2 root root 4096 Oct 19 16:52 ww
[root@localhost sdb1]#
--只需要在一個client上格式化就可以,其他客戶端只需要登陸到target server掛載本地就可以了,但是這種有缺陷,本地用戶除了第一次掛載能看到初始的其他用戶在磁盤上的信息,其他再更改的信息看不到,別人也看不到自己更改的信息。
[root@server2 sdb1]# ll
total 20
drwxr-xr-x 2 root root 4096 Oct 19 16:43 ll
drwx------ 2 root root 16384 Oct 19 16:42 lost+found
-rw-r--r-- 1 root root 0 Oct 19 16:43 lwy.old
[root@server2 sdb1]#
--server2上的用戶在server1更改數據以後不會看到server1的更改
解決辦法:需要用羣集文件系統格式化磁盤。