搭建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存储系统相关推荐

  1. iSCSI存储系统知识详解

    原文:https://community.emc.com/docs/DOC-33815 SCSI 即 小型计算机系统接口. 小型计算机系统接口(英语:Small Computer System Int ...

  2. 搭建iscsi存储系统

    搭建iscsi存储系统 NAS和SAN服务器概述 NAS网络附属存储:      NAS(Network Attached Storage),NAS服务器是连接在网络上,具备资料存储功能的服务器,一种 ...

  3. 从技术架构角度分析存储系统的发展方向

    现有的存储系统经过长期发展,种类及其繁多,架构也各不相同,按照从底层到上层的思路,大致可以分为:物理层.协议层.架构层.连接层四个层次.接下来我们由下往上详细分析. 物理层:顾名思义,就是用来存储数据 ...

  4. 嵌入式计算机与pc机架构,PC架构与嵌入式架构的录播主机的区分

    原标题:PC架构与嵌入式架构的录播主机的区分 录播主机是一间录播课室的核心设备,它关系到视频录制的最终质量效果.那么,我们该如何选择稳定性能高的录播主机?在选购的过程中又如何区别PC架构上与嵌入式架构 ...

  5. CS通用项目系统搭建——三层架构第一天

    CS通用项目:使用三层架构进行搭建 三层架构: 表现层(UI(User Interface)):展示给用户的层面,包含窗体控件数据等信息. 业务逻辑层(BLL(Business Logic Layer ...

  6. 搭建分布式架构4--ZooKeeper注册中心安装

    2019独角兽企业重金招聘Python工程师标准>>> ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distr ...

  7. 爬虫 spider11——搭建分布式架构通过feign技术,开发服务消费者

    搭建分布式架构,把3中开发的服务提供者,注册到eureka server(三台,7001,7002,7003) 开发服务消费者(可以直接访问3中的服务),调试成功后, 通过feign技术,开发服务消费 ...

  8. 计算机的iscsi配置,PC端的iSCSI参数设置方法

    PC端的iSCSI参数设置方法 上面介绍完NAS端的设置,接下来再来给大家介绍一下PC端的iSCSI设置,主要是实现在PC端上连接使用NAS上的iSCSI存储空间,这里我们以Windows 7 SP1 ...

  9. Centos7 搭建LNMP架构服务器实战

    Centos7 搭建LNMP架构服务器实战 前言 需求分析 拓朴设计及各服务器地址规划 配置部分 后端服务器实现 Web-1 nginx整合 Web-2 nginx整合 后端服务器测试 高可用Web集 ...

最新文章

  1. 计算机科学家 成就,25年来的最高成就!MIT科学家让计算机提供创意,可自动设计机器人形态...
  2. ORA-01180: can not create datafile 1 :解决一例
  3. HDU1016(DFS)
  4. 【传智播客】JavaWeb程序设计任务教程 第一章练习答案
  5. xxx征集系统项目目标文档
  6. SpringBoot 2.x 集成Redis
  7. cms文章 mysql存储_MySQL存储引擎笔记
  8. jQuery 判断div是否shown
  9. 远程执行python脚本_python 远程执行服务器上的脚本
  10. 打造地图拼接利器(五)地图采集与拼接
  11. 微信小程序实现tab切换(可滑动切换)
  12. 微信html刷新页面,填坑——解决微信网页中刷新的问题
  13. Java面向对象之类和封装
  14. 怎么根据快递单号批量查询物流信息?
  15. C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP /MC协议与三菱FX5U/Q系列PLC通讯
  16. 奇东锐腾服务器无法显示,奇东锐腾软件 Keydone Return Software
  17. 数据采集之全埋点数据采集分析方法的一些整理
  18. 大容量Flash型AT91系列ARM核微控制器
  19. githup 提交项目及分支 遇到的问题
  20. Android中遇到button按钮设置背景图片无法显示的解决方案

热门文章

  1. 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
  2. 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
  3. 】.NET使用NPOI组件将数据导出Excel
  4. IE8下div+CSS
  5. 悼念程序员的那些难忘时刻 漫画组图(一)
  6. Swift中文教程(七) 闭包
  7. mysql全文检索原理与实例分析
  8. CentOS下使用rpm-build制作nginx的RPM包
  9. Linux(debian 7)错误集锦(一)之开机显示 a start job is running for dev-disk 解决办法
  10. SQL Server2008数据库用户管理 (第三部分)