存储
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
#永久删除