linux 配置SAN存储-IPSAN

简单的介绍一下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 ~]# service tgtd restart            #启动服务
    [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 ~]# vim /etc/tgt/targets.conf   # 增加以下内容,以下是iscsi的格式

  2. <target iqn.2016-08.cn.node01.www:target4_scan>    #命名 
  3.         backing-store /dev/sdb1                    #共享的分区
  4.         initiator-address 192.168.137.102          #允许访问的地址
  5.         initiator-address 192.168.137.103
  6.         vendor_id node                             #标示
  7.         product_id target4                         #产品编号
  8. </target>
  9. [root@node01 ~]# tgt-admin  -show             #查看状态
    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. 10 directories, 2 files
  24. [root@node02 ~]#
  25. [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. [root@node02 ~]#
  6. [root@node02 ~]# tree /var/lib/iscsi/
  7. /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
  8. [root@node02 ~]# iscsiadm -m node -T iqn.2016-08.cn.node01.www:target4_scan -u              #卸载scsi设备
  9. Logging out of session [sid: 1, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260]
  10. Logout of [sid: 1, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] successful.
  11. [root@node02 ~]# lsblk
  12. 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
  13. [root@node02 ~]# iscsiadm -m node -T iqn.2016-08.cn.node01.www:target4_scan -l               #登录scsi设备
  14. Logging in to [iface: default, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] (multiple)
  15. Login to [iface: default, target: iqn.2016-08.cn.node01.www:target4_scan, portal: 192.168.137.101,3260] successful.
  16. [root@node02 ~]# lsblk
  17. 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 
  18. [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. [root@node02 ~]#
  8. [root@node02 ~]# fdisk /dev/sdb                 #分区
  9.  
  10. [root@node02 ~]# lsblk                          #查看分区块
  11. 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 
  12. [root@node02 ~]# mkfs.ext4 /dev/sdb1             #格式化分区
  13. mke2fs 1.41.12 (17-May-2010)
  14. Filesystem label=
  15. OS type: Linux
  16. Block size=4096 (log=2)
  17. Fragment size=4096 (log=2)
  18. Stride=0 blocks, Stripe width=0 blocks
  19. 328656 inodes, 1312222 blocks
  20. 65611 blocks (5.00%) reserved for the super user
  21. First data block=0
  22. Maximum filesystem blocks=1346371584
  23. 41 block groups
  24. 32768 blocks per group, 32768 fragments per group
  25. 8016 inodes per group
  26. Superblock backups stored on blocks:
  27. 32768, 98304, 163840, 229376, 294912, 819200, 884736
  28. Writing inode tables: done
  29. Creating journal (32768 blocks): done
  30. Writing superblocks and filesystem accounting information: done
  31. This filesystem will be automatically checked every 21 mounts or
  32. 180 days, whichever comes first. Use tune2fs -c or -i to override.
  33. [root@node02 ~]# mkdir /scsi               #挂载分区 到新建目录/scsi
  34. [root@node02 ~]# mount /dev/sdb1 /scsi/
  35. [root@node02 ~]# df -h
  36. Filesystem Size Used Avail Use% Mounted on
  37. /dev/sda2 9.9G 869M 8.5G 10% /
  38. tmpfs 238M 0 238M 0% /dev/shm
  39. /dev/sda1 194M 27M 158M 15% /boot
  40. /dev/sr0 3.6G 3.6G 0 100% /media
  41. /dev/sdb1 5.0G 139M 4.6G 3% /scsi
  42. [root@node02 ~]# cp -r /root/* /scsi/    #写入验证
  43. [root@node02 ~]# ll /scsi/
  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@node02 ~]# df -h /scsi/
  50. Filesystem Size Used Avail Use% Mounted on
  51. /dev/sdb1 5.0G 139M 4.6G 3% /scsi
  52. [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. [root@node03 ~]# tree /var/lib/iscsi/
  8. /var/lib/iscsi/
  9. ├── ifaces
  10. ├── isns
  11. ├── nodes
  12. │   └── iqn.2016-08.cn.node01.www:target4_scan
  13. │   └── 192.168.137.101,3260,1
  14. │   └── default
  15. ├── send_targets
  16. │   └── 192.168.137.101,3260
  17. │   ├── 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
  18. │   └── st_config
  19. ├── slp
  20. └── static
  21. 10 directories, 2 files

  22. [root@node03 ~]# /etc/init.d/iscsid restart
  23. Stopping iscsid:
  24. Starting iscsid: [ OK ]
  25. [root@node03 ~]# lsblk
  26. 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
  27. [root@node03 ~]# /etc/init.d/iscsi restart
  28. Stopping iscsi: [ OK ]
  29. Starting iscsi: [ OK ]
  30. [root@node03 ~]# lsblk                      #可以看到设备sdb1 了
  31. 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 
  32. [root@node03 ~]#
  33. [root@node03 ~]#
  34. [root@node03 ~]# mkdir /scsi           
  35. [root@node03 ~]# mount /dev/sdb1 /scsi/              #挂载
  36. [root@node03 ~]# cd !$
  37. cd /scsi/
  38. [root@node03 scsi]# ll                               #可以可看到在node02中写入的内容
  39. total 36
  40. -rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
  41. -rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
  42. -rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
  43. drwx------ 2 root root 16384 Aug 12 00:58 lost+found
  44. [root@node03 scsi]# cp /etc/passwd /scsi/            #在node03上写入新文件passwd,在node02验证
  45. [root@node03 scsi]# ll
  46. total 40
  47. -rw------- 1 root root 980 Aug 12 00:59 anaconda-ks.cfg
  48. -rw-r--r-- 1 root root 10197 Aug 12 00:59 install.log
  49. -rw-r--r-- 1 root root 3161 Aug 12 00:59 install.log.syslog
  50. drwx------ 2 root root 16384 Aug 12 00:58 lost+found
  51. -rw-r--r-- 1 root root 901 Aug 12 01:11 passwd
  52. [root@node03 scsi]#
  53. #在node02 未能识别node03写入的passwd文件, 没有同步,是因为我们使用ext4文件系统 不支持,使用GFS可以保持同步
  54. [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 需要优化的参数都有哪些

posted on 2018-10-08 14:53  Anwar¢  阅读(720)  评论(0编辑  收藏  举报