搭建PC架构的ISCSI存储系统
搭建PC架构的ISCSI存储系统
一、架构图:
需求:把iscsi-target 服务器上的/dev/sdc共享出来,分别从windows和linux客户端来进行挂载使用。
iscsi-target服务器IP:192.168.10.50/24
linux客户端IP:192.168.10.10/24
windows server 2003 IP:192.168.10.201/24
二、iSCSI-Target的安装:
1、获取iscsi-target:
http://sourceforge.net/directory/os:windows/freshness:recently-updated/?q=iscsitarget
2、安装必须的软件包,根据系统的不同,可能会有变化:
[root@Target ~]# yum install gcc
[root@Target ~]# yum install kernel-devel
GCC编译器是编译安装一定要的,kernel-devel如果没有安装的话,就会提示:cc: /lib/modules/2.6.18-164.el5/build/include/linux/version.h: No such file or directory
3、将下载的压缩包解压到某个位置(如:/usr/src/):
[root@Target ~]# tar zxf iscsitarget-1.4.20.2.tar.gz -C /usr/src/
[root@Target ~]# cd !$
cd /usr/src/
[root@Target src]# cd iscsitarget-1.4.20.2/
[root@Target iscsitarget-1.4.20.2]# ls
ChangeLog dkms.conf etc iscsitarget.spec Makefile README README.mcs RELEASE_NOTES
COPYING doc include kernel patches README.initiators README.vmware usr
[root@Target iscsitarget-1.4.20.2]# make
[root@Target iscsitarget-1.4.20.2]# make install
4、将iscsi-target服务设置成开机自启动:
编译安装好了以后,就可以使用service iscsi-target start|stop|restart来管理iscsi-target服务。
[root@Target iet]# chkconfig --add iscsi-target
[root@Target iet]# chkconfig --level 35 iscsi-target on
[root@Target iet]# chkconfig --list iscsi-target
iscsi-target 0:off 1:off 2:off 3:on 4:off 5:on 6:off
[root@Target iet]#
要注意的是iscsi-target的后台进程是ietd,不是iscsi-target。ietd我的理解是iscsi enterprise target daemon这样记的话,就容易了。
三、配置iSCSI Target端:
1、修改/etc/iet/下的配置文件。
iscsi-target安装好了以后,在/etc/iet/目录下面就会生成三个文件:ietd.conf initiators.allow targets.allow
/etc/iet/ietd.conf 主要是配置要共享出来的磁盘、分区、以及initiator发现(discovery)和登陆(logon)时要用的密码。也是iscsi-target的主配置文件。
/etc/iet/initiators.allow 是配置基于IP的访问控制的。
/etc/iet/targets.allow 配置允许的共享磁盘,一般不作修改。
对/etc/ietd.conf文件的说明:
#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
注释:本行默认是注释掉的。
Target 说明定义了共享服务器上的共享名称及磁盘。
iqn 表示“iscsi qualified name”,简称iqn
2001-04 表示年、月
com.example 表示的是倒过来的共享服务器的主机名
storage.disk2.sys1.xyz 表示识别代码,也就是你要共享的设备。可以随意写不过为了管理的方便还是写成要共享的那个设备。
设定LUN(Logical Unit Number)找到如下类似行:
#Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
取消当前行的注释,Lun 0 Path=/dev/sdc 表示块设备号为0,映射的磁盘为/dev/sdc
Type=fileio 默认值是fileio,可以用于磁盘、文件和LVM
最终修改好的文件内容如下:
Target iqn.2013-09.com.xfzhou.Target:sdc
Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz
如果还想再共享一块磁盘,则再加上上面的两行就行了。注意Target和Lun是成对出现的!
Target iqn.2013-09.com.xfzhou.Target:sdd
Lun 0 Path=/dev/sdd,Type=fileio,ScsiId=xyz,ScsiSN=xyz
2、启动iscsi target服务:
[root@Target ~]# service iscsi-target restart
Stopping iSCSI Target: [ OK ]
[ OK ] iSCSI Target: [ OK ]
[root@Target ~]#
[root@Target ~]# pgrep ietd
7801
[root@Target ~]#
四、配置windows客户端:
我这里使用的是windows server 2003 sp2
windows上的iscsi initiator可以去http://www.microsoft.com/en-us/download/details.aspx?id=18986下载,Initiator-2.08-build3825-x86fre.exe要根据自已OS的平台下载相应的版本。该软件的安装就不用说了,太简单了!
安装完成后桌面上会有一个Microsoft iSCSI Initiator图标,如图,点击“Discovery”选项卡:
再点击“Add”按钮:把共享存储服务器的IP地址或是主机名填入,如果没有修改过端口号,就是默认的3260.
接下来点击“OK”之后,就会在Targets选项卡中看到如下结果:
这时看到的是一个Inactive的状态,这时可以点击下面的“Log On”来激活共享的磁盘。如下:
再点击”OK“后就会看到状态已经变成了Connected状态:
这时就在“磁盘管理“就可以看到有一块新的硬盘了:
接下来我想怎么做就怎么做了。现在是没有初始化的,可以右键”初始化磁盘“,之后就是分区格式化了。我这里先分了一个5G大小的区,在我的电脑中显示如下:
从上面的图可以看出,通过iscsi共享过来的磁盘,和本地的磁盘没有什么区别,最大的区别就是读写的速度上,共享的磁盘要比本地的慢很多。。
五、配置Linux的iscsi-initiator客户端:
1、在RHEL5.6上配置iscsi-initiator是很容易的,只需要安装iscsi-initiator-utils就行了如下(CD光盘中有):
[root@file ~]# rpm -ihv /mnt/Server/iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm
warning: /mnt/Server/iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:iscsi-initiator-utils ########################################### [100%]
[root@file ~]#
安装完成后,会创建/etc/iscsi/主程序的配置文件。
[root@file iscsi]# service iscsid start 启动iscsi initiator程序。
安装完成后,用户可以通过iscsiadm指令与iscsi target建立关联,iscsiadm是用来管理(更新、删除、插入、查询)iscsi配置数据库文件的命令行工具,用户能够用它对iscsi nodes,sessions,connections和discovery records进行操作。
2、在Linux上执行iscsi targets发现:
[root@file iscsi]# iscsiadm -m discovery -t sendtargets -p 192.168.10.50
192.168.10.50:3260,1 iqn.2013-09.com.xfzhou.Target:sdc
[root@file iscsi]#
从上面可以知道,linux客户端已经能够找到服务器上共享的iscsi磁盘了。
说明:当成功执行一次targets发现后,客户端会将查询到的信息记录到/var/lib/iscsi/send_targets 对应的目录下面,因此Targets发现只需要执行一次即可。
Discovery :在/var/lib/iscsi/send_targets目录下,生成一个target服务器信息文件,文件名为”target服务器的IP,端口号“(如:”202.96.209.133,3260“),此文件用来保存target服务器的相关信息。
Node:在/var/lib/iscsi/send_targets目录下,会生成一个或多个以target存储服务器上的target名命名的文件夹,每个文件夹下有一个用来记录target服务器上特定target信息的文件。
3、登陆iscis target:
[root@file iscsi]# iscsiadm -m node -T iqn.2013-09.com.xfzhou.Target -p 192.168.10.50 -l
这个命令可以在执行的时候提示:iscsiadm:no records found!,这时你查看下你的本地的硬盘,如果已经有了共享的磁盘了,那就对了。如果没有的话,就要重启下iscsid服务。这样你会在重启的过程中看到相关的登陆信息。
4、分区格式化共享磁盘:
[root@file iscsi]# fdisk -l /dev/sde
Disk /dev/sde: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 638 5124703+ 7 HPFS/NTFS
/dev/sde2 639 1305 5357677+ 5 Extended
/dev/sde5 639 1305 5357646 83 Linux
[root@file iscsi]#
以上是我对这个共享的盘进行了分区,分了一个逻辑分区和一个linux分区。前面的那个ntfs是刚才在windows下分的。
格式化:[root@file iscsi]# mkfs.ext3 /dev/sde5
5、调整分区的ext文件系统属性:
要先用tune2fs来修改文件系统的属性,去掉自动检查的属性
[root@file iscsi]# tune2fs -c -1 -i 0 /dev/sde5
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1 把最大挂载次数设置成-1,也就是无穷大
Setting interval between checks to 0 seconds 检查的时间间隔为0,意不检查。
[root@file iscsi]#
因为Linux上的ext文件系统有一个特性,对某个分区mount、umount很多次后或者隔一个固定的时间后,系统会对该分区进行检测,这就会导致硬盘反应速度变慢,影响业务,上面的操作也就是去掉了文件系统自动检查的功能。
6、让其开机就自动挂载到/data目录下面:
要想让某个分区在开机就自动挂载到指定的目录,可以把它写在/etc/fstab文件中,由于这个共享过来的/dev/sde有可能是变的,比如在服务器上增加或是减少了一块磁盘,所以这里为了避免这种情况的出现,可以使用磁盘的UUID来代表,磁盘的UUID查看方法如下:
[root@file iscsi]# tune2fs -l /dev/sde
tune2fs 1.39 (29-May-2006)
tune2fs: Bad magic number in super-block while trying to open /dev/sde
Couldn't find valid filesystem superblock.
[root@file iscsi]# tune2fs -l /dev/sde5
tune2fs 1.39 (29-May-2006)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 5acb3056-dc69-4ae2-92b6-252007002232
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype sparse_super large_file
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 670432
Block count: 1339411
Reserved block count: 66970
Free blocks: 1282938
Free inodes: 670421
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 327
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16352
Inode blocks per group: 511
Filesystem created: Fri Sep 6 22:31:06 2013
Last mount time: n/a
Last write time: Fri Sep 6 22:34:51 2013
Mount count: 0
Maximum mount count: -1
Last checked: Fri Sep 6 22:31:06 2013
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 179b3ebe-4d8b-4516-b4cf-908cfea96364
Journal backup: inode blocks
[root@file iscsi]#
修改/etc/fstab
UUID=5acb3056-dc69-4ae2-92b6-252007002232 /data ext3 _netdev 0 0
磁盘设备的名称可能会发生变化,从而引起文件系统不能挂载上来或者不能正确挂载,使用UUID的方式进行挂载可以解决这个问题,也可以使用给文件系统设置卷标的方式来解决
_netdev是针对iscsi设备的特殊mount选项,此挂载选项指示将在网络启动后挂载该卷,在关闭网络前卸载该卷。
OK所有的配置已经完成,一个简单的IP SAN就搭建好了!
转载于:https://blog.51cto.com/xfzhou89/1290392
搭建PC架构的ISCSI存储系统相关推荐
- iSCSI存储系统知识详解
原文:https://community.emc.com/docs/DOC-33815 SCSI 即 小型计算机系统接口. 小型计算机系统接口(英语:Small Computer System Int ...
- 搭建iscsi存储系统
搭建iscsi存储系统 NAS和SAN服务器概述 NAS网络附属存储: NAS(Network Attached Storage),NAS服务器是连接在网络上,具备资料存储功能的服务器,一种 ...
- 从技术架构角度分析存储系统的发展方向
现有的存储系统经过长期发展,种类及其繁多,架构也各不相同,按照从底层到上层的思路,大致可以分为:物理层.协议层.架构层.连接层四个层次.接下来我们由下往上详细分析. 物理层:顾名思义,就是用来存储数据 ...
- 嵌入式计算机与pc机架构,PC架构与嵌入式架构的录播主机的区分
原标题:PC架构与嵌入式架构的录播主机的区分 录播主机是一间录播课室的核心设备,它关系到视频录制的最终质量效果.那么,我们该如何选择稳定性能高的录播主机?在选购的过程中又如何区别PC架构上与嵌入式架构 ...
- CS通用项目系统搭建——三层架构第一天
CS通用项目:使用三层架构进行搭建 三层架构: 表现层(UI(User Interface)):展示给用户的层面,包含窗体控件数据等信息. 业务逻辑层(BLL(Business Logic Layer ...
- 搭建分布式架构4--ZooKeeper注册中心安装
2019独角兽企业重金招聘Python工程师标准>>> ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distr ...
- 爬虫 spider11——搭建分布式架构通过feign技术,开发服务消费者
搭建分布式架构,把3中开发的服务提供者,注册到eureka server(三台,7001,7002,7003) 开发服务消费者(可以直接访问3中的服务),调试成功后, 通过feign技术,开发服务消费 ...
- 计算机的iscsi配置,PC端的iSCSI参数设置方法
PC端的iSCSI参数设置方法 上面介绍完NAS端的设置,接下来再来给大家介绍一下PC端的iSCSI设置,主要是实现在PC端上连接使用NAS上的iSCSI存储空间,这里我们以Windows 7 SP1 ...
- Centos7 搭建LNMP架构服务器实战
Centos7 搭建LNMP架构服务器实战 前言 需求分析 拓朴设计及各服务器地址规划 配置部分 后端服务器实现 Web-1 nginx整合 Web-2 nginx整合 后端服务器测试 高可用Web集 ...
最新文章
- 计算机科学家 成就,25年来的最高成就!MIT科学家让计算机提供创意,可自动设计机器人形态...
- ORA-01180: can not create datafile 1 :解决一例
- HDU1016(DFS)
- 【传智播客】JavaWeb程序设计任务教程 第一章练习答案
- xxx征集系统项目目标文档
- SpringBoot 2.x 集成Redis
- cms文章 mysql存储_MySQL存储引擎笔记
- jQuery 判断div是否shown
- 远程执行python脚本_python 远程执行服务器上的脚本
- 打造地图拼接利器(五)地图采集与拼接
- 微信小程序实现tab切换(可滑动切换)
- 微信html刷新页面,填坑——解决微信网页中刷新的问题
- Java面向对象之类和封装
- 怎么根据快递单号批量查询物流信息?
- C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP /MC协议与三菱FX5U/Q系列PLC通讯
- 奇东锐腾服务器无法显示,奇东锐腾软件 Keydone Return Software
- 数据采集之全埋点数据采集分析方法的一些整理
- 大容量Flash型AT91系列ARM核微控制器
- githup 提交项目及分支 遇到的问题
- Android中遇到button按钮设置背景图片无法显示的解决方案
热门文章
- 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
- 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
- 】.NET使用NPOI组件将数据导出Excel
- IE8下div+CSS
- 悼念程序员的那些难忘时刻 漫画组图(一)
- Swift中文教程(七) 闭包
- mysql全文检索原理与实例分析
- CentOS下使用rpm-build制作nginx的RPM包
- Linux(debian 7)错误集锦(一)之开机显示 a start job is running for dev-disk 解决办法
- SQL Server2008数据库用户管理 (第三部分)