简单的介绍一下SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。
FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。
存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列,主要厂商EMC、日立等。
下面配置IP-SAN存储实战
服务名称 | 服务器地址 |
服务端 :node01 | 192.168.137.101 |
客户端 :node02 | 192.168.137.102 |
客户端 :node03 | 192.168.137.103 |
一、服务端安装
1.1 IPSAN 是C/S模式 服务端口3260
点击(此处)折叠或打开
1. [root@node01 ~]# yum -y install scsi-target-utils #yum 安装
2. [root@node01 ~]# ll /etc/tgt/targets.conf #主要配置文件
-rw------- 1 root root 6945 Sep 4 2013 /etc/tgt/targets.conf
[root@node01 ~]# chkconfig tgtd on
[root@node01 ~]# netstat -antup |grep 3260 #检查服务端口
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 2106/tgtd
tcp6 0 0 :::3260 :::* LISTEN 2106/tgtd
[root@node01 ~]#
1.2 新建存储分区,在这里我们通过在vmvare新增加一个块10G大小的磁盘 /dev/sdb,重启服务器
点击(此处)折叠或打开
1. [root@node01 ~]# fdisk -l |grep "Disk"
2. Disk /dev/sda: 21.5 GB, 21474836480 bytes
3. Disk identifier: 0x0004a1ec
4. Disk /dev/sdb: 10.7 GB, 10737418240 bytes
5. Disk identifier: 0x00000000
6. [root@node01 ~]#
7. [root@node01 ~]# fdisk /dev/sdb #分区 ,大小5G
1.3 共享存储分区,修改/etc/tgt/targets.conf 文件
点击(此处)折叠或打开
1. [root@node01 ~]#.conf # 增加以下内容,以下是iscsi的格式
2.
3. <target iqn.2016-08.cn.node01.www:target4_scan> #命名
4. -store /dev/sdb1 #共享的分区
5. -address 192.168.137.102 #允许访问的地址
6. -address 192.168.137.103
7. vendor_id node #标示
8. product_id target4 #产品编号
9. </target>
10. [root@node01 ~]# tgt-admin -show #查看状态
1. Target 1: iqn.2016-08.cn.node01.www:target4_scan
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: 5379 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sdb1
Backing store flags:
Account information:
ACL information:
192.168.137.102
192.168.137.103
[root@node01 ~]#
二、客户端配置
2.1 安装iscsi-initiator-utils,并配置服务信息
点击(此处)折叠或打开
1. [root@node02 ~]# yum -y install iscsi-initiator-utils
2. [root@node02 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.137.101 #发现target存储
3. Starting iscsid: [ OK ]
4. 192.168.137.101:3260,1 iqn.2016-08.cn.node01.www:target4_scan
5. [root@node02 ~]#
6. [root@node02 ~]# /etc/init.d/iscsid status #查看客户端服务
7. iscsid (pid 1153) is running...
8. [root@node02 ~]#
9. [root@node02 ~]# tree /var/lib/iscsi/ #发现target服务,信息会写入/var/lib/iscsi 目录下
10. /var/lib/iscsi/
11. ├── ifaces
12. ├── isns
13. ├── nodes
14. │ └── iqn.2016-08.cn.node01.www:target4_scan
15. │ └── 192.168.137.101,3260,1
16. │ └── default
17. ├── send_targets
18. │ └── 192.168.137.101,3260
19. │ ├──
iqn.2016-08.cn.node01.www:target4_scan,192.168.137.101,3260,1,default
->
/var/lib/iscsi/nodes/iqn.2016-08.cn.node01.www:target4_scan/192.168.137.101,3260,1
20. │ └── st_config
21. ├── slp
22. └── static
23.
24. 10 directories, 2 files
25. [root@node02 ~]#
26. [root@node02 ~]# /etc/init.d/iscsid start #先启动iscsid 服务
[root@node02 ~]# /etc/init.d/iscsi start #在启动iscsi服务 该服务是根据iscsid服务信息/var/lib/iscsi/ 来识别设备的
Starting iscsi: [ OK ]
[root@node02 ~]#
2.2 检查是否发现磁盘, 以及卸载和登录scsi设备
点击(此处)折叠或打开
1. [root@node02 ~]# ll /dev/sdb
2. brw-rw---- 1 root disk 8, 16 Aug 12 00:48 /dev/sdb
3. [root@node02 ~]# lsblk #lsblk查看块信息的命令
4. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media
sdb 8:16 0 5G 0 disk 5.
6. [root@node02 ~]#
7. [root@node02 ~]# tree /var/lib/iscsi/
8. /var/lib/iscsi/
├── ifaces
├── isns
├── nodes
│ └── iqn.2016-08.cn.node01.www:target4_scan
│ └── 192.168.137.101,3260,1
│ └── default
├── send_targets
│ └── 192.168.137.101,3260
│ ├──
iqn.2016-08.cn.node01.www:target4_scan,192.168.137.101,3260,1,default
->
/var/lib/iscsi/nodes/iqn.2016-08.cn.node01.www:target4_scan/192.168.137.101,3260,1
│ └── st_config
├── slp
└── static
10 directories, 2 files
9. [root@node02 ~]# iscsiadm -m node -T iqn.2016-08.cn.node01.www:target4_scan -u #卸载scsi设备
10. Logging out of session [sid: 1, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260]
11. Logout of [sid: 1, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] successful.
12. [root@node02 ~]# lsblk
13. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media
14. [root@node02 ~]# iscsiadm -m node -T iqn.2016-08.cn.node01.www:target4_scan -l #登录scsi设备
15. Logging in to [iface: default, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] (multiple)
16. Login to [iface: default, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] successful.
17. [root@node02 ~]# lsblk
18. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media
sdb 8:16 0 5G 0 disk
19. [root@node02 ~]#
2.3 使用scsi设备,并做写入操作
点击(此处)折叠或打开
1. [root@node02 ~]# df -h
2. Filesystem Size Used Avail Use% Mounted on
3. /dev/sda2 9.9G 869M 8.5G 10% /
4. tmpfs 238M 0 238M 0% /dev/shm
5. /dev/sda1 194M 27M 158M 15% /boot
6. /dev/sr0 3.6G 3.6G 0 100% /media
7.
8. [root@node02 ~]#
9. [root@node02 ~]# fdisk /dev/sdb #分区
10.
11. [root@node02 ~]# lsblk #查看分区块
12. NNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 5G 0 part 13.
14. [root@node02 ~]# mkfs.ext4 /dev/sdb1 #格式化分区
15. mke2fs 1.41.12 (17-May-2010)
16. Filesystem label=
17. OS type: Linux
18. Block size=4096 (log=2)
19. Fragment size=4096 (log=2)
20. Stride=0 blocks, Stripe width=0 blocks
21. 328656 inodes, 1312222 blocks
22. 65611 blocks (5.00%) reserved for the super user
23. First data block=0
24. Maximum filesystem blocks=1346371584
25. 41 block groups
26. 32768 blocks per group, 32768 fragments per group
27. 8016 inodes per group
28. Superblock backups stored on blocks:
29. 32768, 98304, 163840, 229376, 294912, 819200, 884736
30.
31. Writing inode tables: done
32. Creating journal (32768 blocks): done
33. Writing superblocks and filesystem accounting information: done
34.
35. This filesystem will be automatically checked every 21 mounts or
36. 180 days, whichever comes first. Use tune2fs -c or -i to override.
37. [root@node02 ~]# mkdir /scsi #挂载分区 到新建目录/scsi
38. [root@node02 ~]# mount /dev/sdb1 /scsi/
39. [root@node02 ~]# df -h
40. Filesystem Size Used Avail Use% Mounted on
41. /dev/sda2 9.9G 869M 8.5G 10% /
42. tmpfs 238M 0 238M 0% /dev/shm
43. /dev/sda1 194M 27M 158M 15% /boot
44. /dev/sr0 3.6G 3.6G 0 100% /media
45. /dev/sdb1 5.0G 139M 4.6G 3% /scsi
46. [root@node02 ~]# cp -r /root/* /scsi/ #写入验证
47. [root@node02 ~]# ll /scsi/
48. total 36
49. -rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
50. -rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
51. -rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
52. drwx------ 2 root root 16384 Aug 12 00:58 lost+found
53. [root@node02 ~]# df -h /scsi/
54. Filesystem Size Used Avail Use% Mounted on
55. /dev/sdb1 5.0G 139M 4.6G 3% /scsi
56. [root@node02 ~]#
三、添加另外客户端192.168.137.103。操作同192.168.137.102基本类似,只是本次不再需要格式化分区
点击(此处)折叠或打开
1. [root@node03 ~]# yum -y install iscsi-initiator-utils
2. [root@node03 ~]#
3. [root@node03 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.137.101
4. Starting iscsid: [ OK ]
5. 192.168.137.101:3260,1 iqn.2016-08.cn.node01.www:target4_scan
6. [root@node03 ~]# yum -y install tree
7.
8. [root@node03 ~]# tree /var/lib/iscsi/
9. /var/lib/iscsi/
10. ├── ifaces
11. ├── isns
12. ├── nodes
13. │ └── iqn.2016-08.cn.node01.www:target4_scan
14. │ └── 192.168.137.101,3260,1
15. │ └── default
16. ├── send_targets
17. │ └── 192.168.137.101,3260
18. │ ├──
iqn.2016-08.cn.node01.www:target4_scan,192.168.137.101,3260,1,default
->
/var/lib/iscsi/nodes/iqn.2016-08.cn.node01.www:target4_scan/192.168.137.101,3260,1
19. │ └── st_config
20. ├── slp
21. └── static
22.
23. 10 directories, 2 files
24.
25. [root@node03 ~]# /etc/init.d/iscsid restart
26. Stopping iscsid:
27. Starting iscsid: [ OK ]
28. [root@node03 ~]# lsblk
29. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media30.
31. [root@node03 ~]# /etc/init.d/iscsi restart
32. Stopping iscsi: [ OK ]
33. Starting iscsi: [ OK ]
34. [root@node03 ~]# lsblk #可以看到设备sdb1 了
35. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 10G 0 part /
└─sda3 8:3 0 1G 0 part [SWAP]
sr0 11:0 1 3.6G 0 rom /media
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 5G 0 part 36.
37. [root@node03 ~]#
38. [root@node03 ~]#
39. [root@node03 ~]# mkdir /scsi
40. [root@node03 ~]# mount /dev/sdb1 /scsi/ #挂载
41. [root@node03 ~]# cd !$
42. cd /scsi/
43. [root@node03 scsi]# ll #可以可看到在node02中写入的内容
44. total 36
45. -rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
46. -rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
47. -rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
48. drwx------ 2 root root 16384 Aug 12 00:58 lost+found
49. [root@node03 scsi]# cp /etc/passwd /scsi/ #在node03上写入新文件passwd,在node02验证
50. [root@node03 scsi]# ll
51. total 40
52. -rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
53. -rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
54. -rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
55. drwx------ 2 root root 16384 Aug 12 00:58 lost+found
56. -rw-r--r-- 1 root root 901 Aug 12 01:11 passwd
57. [root@node03 scsi]#
58. #在node02 未能识别node03写入的passwd文件, 没有同步,是因为我们使用ext4文件系统 不支持,使用GFS可以保持同步
59. [root@node02 scsi]# ll
total 36
-rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
-rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
-rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
drwx------ 2 root root 16384 Aug 12 00:58 lost+found
[root@node02 scsi]#
四、思考
4.1 验证GFS文件系统 ,支持多节点同时写入。
4.2 ISCSI在多路径方面的应用。
4.3 需要优化的参数都有哪些