前言
最近公司的平台进行了升级,每天都产生很多的日志文件与数据文件,之前的服务器磁盘大小不符合最新的平台要求,磁盘空间一直处于90%左右,我也一直收到磁盘空间的报警邮件(由于我对磁盘做了脚本的监控,如果磁盘空间使用达到90%就发送报警),所以我提出了一个建议,使用“基于IP SAN的ISCSI的存储系统”,这样可以在不改变现有的架构下、不花费钱(如果你不买HBA卡的话)、最简单的搭建存储系统。
下面是iscsi的介绍(从网上找的)
一、Linux网络环境iSCSI技术的实现主要有三种方式:
- [root@test2 src]# wget http://sourceforge.net/projects/iscsitarget/files/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz
解压
- [root@test2 src]# tar zxvf iscsitarget-1.4.20.2.tar.gz
- [root@test2 src]# cd iscsitarget-1.4.20.2
编译与安装
- [root@test2 iscsitarget-1.4.20.2]# make
- [root@test2 iscsitarget-1.4.20.2]# make install
启动服务
- [root@test2 iet]# service iscsi-target start
加入开机启动
- [root@test2 iet]# chkconfig --level 35 iscsi-target on
修改/etc/iet/ietd.conf的第35与52行
- 35#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
- 52#Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
修改为
- 35 Target iqn.2012-02.com.test:storage.disk2.sys1.xyz
- 52 Lun 0 Path=/dev/sda10,Type=fileio,ScsiId=xyz,ScsiSN=xyz
重启服务
- [root@test2 iet]# service iscsi-target start
下图是当前的磁盘空间情况
2、客户端(比如安装在各省的引擎服务器上),安装iscsi软件
- [root@test5 ~]# yum install iscsi*
启动服务
- [root@test5 ~]# service iscsi start
可以使用如下命令查看下iscsi-target主机划分了那些的lun
- [root@test5 send_targets]# iscsiadm -m discovery -t sendtargets -p 10.1.88.178:3260
- 10.1.88.178:3260,1 iqn.2012-02.com.test:storage.disk2.sys1.xyz
使用iscsiadm与iscsi target建立连接
- [root@test5 send_targets]# iscsiadm -m node -T iqn.2012-02.com.test:storage.disk2.sys1.xyz -p 10.1.88.178 -l
- Logging in to [iface: default, target: iqn.2012-02.com.test:storage.disk2.sys1.xyz, portal: 10.1.88.178,3260]
- Login to [iface: default, target: iqn.2012-02.com.test:storage.disk2.sys1.xyz, portal: 10.1.88.178,3260] successful.
从fisk可以看出,iscsi的共享磁盘为sdb,大小为10.4GB,接下来就可以通过fdisk命令对整个磁盘进行重新分区、格式化、创建文件系统了等操作了。
- [root@test5 send_targets]# iscsiadm -m session --print=2
- Target: iqn.2012-02.com.test:storage.disk2.sys1.xyz
- Current Portal: 10.1.88.178:3260,1
- Persistent Portal: 10.1.88.178:3260,1
- **********
- Interface:
- **********
- Iface Name: default
- Iface Transport: tcp
- Iface Initiatorname: iqn.1994-05.com.redhat:babeb593b5af
- Iface IPaddress: 10.1.88.177
- Iface HWaddress: <empty>
- Iface Netdev: <empty>
- SID: 1
- iSCSI Connection State: LOGGED IN
- iSCSI Session State: LOGGED_IN
- Internal iscsid Session State: NO CHANGE
- ************************
- Negotiated iSCSI params:
- ************************
- HeaderDigest: None
- DataDigest: None
- MaxRecvDataSegmentLength: 262144
- MaxXmitDataSegmentLength: 8192
- FirstBurstLength: 65536
- MaxBurstLength: 262144
- ImmediateData: Yes
- InitialR2T: Yes
- MaxOutstandingR2T: 1
BTW:在测试环境里部署之后没有发现问题,目前已经在生产环境了进行了部署,如果各位对iscsi有建议的话,请不吝赐教,谢谢!