存储

   DAS (direct attachedstorage,直接附加存储),也就是在机箱中直接添加硬盘,ide接口的可以添加2块硬盘,scsi接口的窄带可以添加7块硬盘,宽带可以添加15块硬盘。

   NAS (network  attached  storage,网络附加存储),它是基于文件级别共享,例如: samba nfs freenas  openfilter,它简化os 减轻了前端服务器负担,但是,         效率低

san storage  areas  network ,存储区域网络),它是快级别共享 (就是像本地磁盘一样),存储放在后方,常见的有: fc-san (fiber channel,光纤通道),它是将数据封装在scsi中,再封装成光纤帧,直接发送;效率高 代价高。而ip-san,它将数据封装在scsi中,再封装在ipscsi中,再封装tcp/ip效率低 费用低

下面我们看一下ipsan实现。

拓扑图:

target 的配置

[root@zlj ~]# mkdir /mnt/cdrom #创建挂载点

[root@zlj ~]# mount /dev/cdrom /mnt/cdrom #挂载光盘

[root@zlj ~]# cd /mnt/cdrom/ClusterStorage/ #切换到存储目录

[root@zlj ClusterStorage]# rpm -ivh perl-Config-General-2.40-1.el5.noarch.rpm

#安装scsi-target的依赖包

[root@zlj ClusterStorage]# rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm

#安装target主程序

添加一块新的分区

[root@zlj ClusterStorage]# fdisk /dev/sda

Command (m for help): n  #添加

Last cylinder or +size or +sizeM or +sizeK (1481-2610, default 2610): +2g #大小为2g

Command (m for help): w #保存

Calling ioctl() to re-read partition table.

发出警告:

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table.

The new table will be used at the next reboot.

Syncing disks.

提示我们,分区表在下次启动时才会被启用,查看

[root@zlj ClusterStorage]# cat /proc/partitions

让系统立即加载

[root@zlj ClusterStorage]# partprobe /dev/sda

查看

[root@zlj ClusterStorage]# cat /proc/partitions

启动

[root@zlj ClusterStorage]# service tgtd start

Starting SCSI target daemon:                               [  OK  ]

设置开机启动

[root@zlj ClusterStorage]# chkconfig tgtd on

创建控制器

[root@zlj ClusterStorage]# tgtadm --lld iscsi --op new --mode target --tid=1 --targetname iqn.2013-06.com.a.target:disk

查看

[root@zlj ClusterStorage]# tgtadm --lld iscsi --op show --mode target

指定我们的磁盘

[root@zlj ClusterStorage]# tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/sda6

认证有两种:一、基于地址的;二、基于用户的。

一、基于地址认证

[root@zlj ClusterStorage]# tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=192.168.1.0/24

查看

[root@zlj ClusterStorage]# tgtadm --lld iscsi --op show --mode target

将数据写到配置文件中

[root@zlj ClusterStorage]# vim /etc/tgt/targets.conf

realserver1的配置

[root@zlj ~]# mkdir /mnt/cdrom #创建挂载点

[root@zlj ~]# mount /dev/cdrom /mnt/cdrom #挂载光盘

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@zlj ~]# cd /mnt/cdrom/Server/#切换目录

[root@zlj Server]#

[root@zlj Server]# rpm -ivh iscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm

#安装isxsi的主程序

启动

[root@zlj Server]# 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@zlj Server]# chkconfig iscsi on

设置自己iscsi名字

[root@zlj Server]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2013-06.com.a.realserver1

要连到target上必须1、发现;2、登陆

发现

[root@zlj Server]# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.100

登陆

[root@zlj Server]# iscsiadm --mode node targetname 192.168.1.100:3260,1 iqn.2013-06.com.a.target:disk --portal 192.168.1.100:3260 --login

创建分区

[root@zlj Server]# fdisk /dev/sdb

Command (m for help): n #添加

Command action

  e   extended

  p   primary partition (1-4)

P #主分区

Partition number (1-4): 1

Command (m for help): w

格式化

[root@zlj Server]# mkfs -t ext3 /dev/sdb1

创建挂载点

[root@zlj Server]# mkdir /mnt/1

[root@zlj Server]# mount /dev/sdb1 /mnt/1

realserver2同样

[root@zlj ~]# mkdir /mnt/cdrom

[root@zlj ~]# mount /dev/cdrom /mnt/cdrom

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@zlj ~]# cd /mnt/cdrom/Server/

[root@zlj Server]# rpm -ivh iscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm

[root@zlj Server]# vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2013-06.com.a.realserver2

[root@zlj Server]# service iscsi start

[root@zlj Server]# chkconfig iscsi on

[root@zlj Server]#  iscsiadm --mode discovery --type sendtargets --portal 192.168.1.100

192.168.1.100:3260,1 iqn.2013-06.com.a.target:disk

[root@zlj Server]#  iscsiadm --mode node targetname 192.168.1.100:3260,1 iqn.2013-06.com.a.target:disk --portal 192.168.1.100:3260 --login

Logging in to [iface: default, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]

Login to [iface: default, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]: successful

[root@zlj Server]#

挂载

[root@zlj Server]# mkdir /mnt/1

[root@zlj Server]# mount /dev/sdb1 /mnt/1

target上查看

[root@zlj ~]# tgtadm --lld iscsi --op show --mode target 查询

二、基于用户的认证

Target配置

[root@zlj ~]# vim /etc/tgt/targets.conf

[root@zlj ~]# service tgtd restart

提示:连接无效

Stopping SCSI target daemon: tgtadm: invalid request

Failed to shutdown target

删除锁文件

[root@zlj ~]# rm /var/lock/subsys/tgtd

杀掉进程

[root@zlj ~]# killall -9 tgtd

再启动

[root@zlj ~]# service tgtd start

Initiator的配置

[root@zlj ~]# vim /etc/iscsi/iscsid.conf

node.session.auth.authmethod = CHAP #开启chap认证

node.session.auth.username = user1 #设置用户名

node.session.auth.password = secret #设置密码

iscsiadm --mode discovery -t sendtargets -p 192.168.1.100:3260 #向存储发送发现包

iscsiadm --mode node --targetname iqn.2013-06.com.a.target:disk --portal 192.168.1.100:3260 --login        #得到target名称进行连接

重启

[root@zlj ~]# service iscsi restart

Logging out of session [sid: 1, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]

Logout of [sid: 1, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]: successful

Stopping iSCSI daemon:

iscsid dead but pid file exists                            [  OK  ]

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

                                                          [  OK  ]

Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]

iscsiadm: Could not login to [iface: default, target: iqn.2013-06.com.a.target:disk, portal: 192.168.1.100,3260]:

iscsiadm: initiator reported error (8 - connection timed out)

iscsiadm: Could not log into all portals. Err 8.

提示错误

删除以前的文件

[root@zlj ~]# rm -rf /var/lib/iscsi/nodes/

再重启

[root@zlj ~]# service iscsi restart

发现

[root@zlj ~]# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.100向存储发送发现包

登陆

[root@zlj ~]# iscsiadm --mode node --targetname iqn.2013-06.com.a.target:disk --portal 192.168.1.100:3260 --login

就可以了

退出链接

[root@zlj ~]# iscsiadm -m node --targetname iqn.2013-06.com.a.target:disk --logout #注销

[root@zlj ~]# iscsiadm -m node -o delete -T iqn.2013-06.com.a.target:disk -p 192.168.1.100:3260

#永久删除