一 ISCSI简介

1 iscsi 简介

Iscsi 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料 IScsi 结构基于客户/服务器模型,其主要功能是在TCP/IP网络上的主机系统(启动器initlator)和存储设备(目标 target) 之间进行大量的数据封装和可靠传输过程,此外,iscsi 提供了在IP网络封装SCSI命令,切运行在TCP上。 实际生产环境中,一般都是使用集群搭建服务器,如果两台或多台服务器都是使用独立磁盘,使用ISCSI 技术,实现远程磁盘的使用,集群的服务器都挂在同一个远程存储设备到本地实现数据读写,这样也就减少了一个同步数据的任务,大大减轻了服务器的资源消耗


作为服务器的系统通常需要存储设备的,而存储设备除了可以使用系统內间的磁盘之外,如果內间的磁盘容量不够大,而且没有额外的磁盘插槽(SATA 或IDE)可用时,常见的解决方案是增加NAS(网络附加存储服务器)或外接式存储设备高档一点的,可能会用到SAN(存储局域网络)

2 NAS 与 SAN

NAS (network attached storage,网络附加存储服务器) NAS是一部客制化好的主机,只要将NAS链接上网络,那么网络上面的其他主机就能够存取NSA上头的数据了,简单的说,NAS 就是一部file server,NAS 由于是接在网络上面,所以如果网络上有某个用户大量存取NAS上头的数据时,很容易造成网络停顿问题,此外BAS 也通常支持TCP/IP,并会提供NFS,SAMA,FTP等常见的通讯协议来提供客户端取得文件系统


SAN (storage area networks,存储局域网络) NAS 就是一部可以提供大量容量文件系统的主机,我们知道单个主机能够提供的插槽时有限的,所以不能无限制的安插磁盘在同一部实体主机上,因此便有了SAN SAN 视为一个外接式的存储设备,可以透过某些特殊的接口或信道来提供局域网络内的所有机器进行磁盘存取, SAN是提供磁盘给主机用,而不是像NAS 提供的是[网络协议的文件系统(NFS SMB)],因此挂载SAN的主机会多出一个大磁盘,并可针对SAN提供的磁盘进行分割与格式化等动作,而NAS则不能,另外NAS可以透过网络使用SAN

3 ISCSI历史

早期的企业使用的服务器若有大容量的磁盘的需求时,通常是透过SCSI来串接SCSI磁盘,因此服务器上必须要加装SCSI适配卡,而且这个SCSI是专属于该服务器的,后来这个外接式的SCSI设备被SAN的架构取代,SAN的一个缺点是要使用光纤信道,而光纤信道贵,很多中小型企业不能普及

后期IP封包为基础的LAN技术普及,以太网速度加快,所以就有厂商将SAN的链接方式改为利用IP技术来处理,人后再透过一些标准指定,得到了ISCSI
ISCSI 主要是透过TCP/IP的技术,将存储设备端透过ISCSI target (ISCSI目标)功能,做成可以提供磁盘的服务器端,再透过ISCSI initator(ISCSI初始化用户)功能,做成能够挂载使用ISCSI target的客户端,如此便能透过ISCSI协议来进行磁盘的应用了**


4 ISCSI 架构

ISCSI 这个架构主要将存储装置与使用的主机分别为两部分,分别是: ISCSI target :就是存储设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成ISCSI target了,目的在提供其他主机使用的磁盘


ISCSI inITiator: 就是能够使用target的客户端,通常是服务器,只有装有iscsi initiator的相关功能后才能使用ISCSI target 提供的磁盘。


服务器取得磁盘或者文件系统的方式 1 直接存取:在本机上的磁盘,就是直接存取设备 2 透过存储局域网络(SAN),来自区网内的其他设备提供的磁盘 3 网络文件系统NAS(:来自NAS提供的文件系统)只能立即使用,不能进行格式化

scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能; iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。 那么 scsi-target-utils 主要提供哪些档案呢?基本上有底下几个比较重要需要 注意的:  /etc/tgt/targets.conf:主要配置文件,设定要分享的磁盘格式与哪几颗;  /usr/sbin/tgt-admin:在线查询、删除 target 等功能的设定工具;  /usr/sbin/tgt-setup-lun:建立 target 以及设定分享的磁盘与可使用的 客户端等工具软件。  /usr/sbin/tgtadm:手动直接管理的管理员工具 (可使用配置文件取代);  /usr/sbin/tgtd:主要提供 iSCSI target 服务的主程序;  /usr/sbin/tgtimg:建置预计分享的映像文件装置的工具 (以映像文件仿真 磁盘);

4 ISCSI 中可以分享的磁盘

有呢些类型的磁盘可以分享: 使用 dd 指令所建立的大型档案可供仿真为磁盘 (无须预先格式化); 使用单一分割槽 (partition) 分享为磁盘; 使用单一完整的磁盘 (无须预先分割); 使用磁盘阵列分享 (其实与单一磁盘相同方式); 使用软件磁盘阵列 (software raid) 分享成单一磁盘; 使用 LVM 的 LV 装置分享为磁盘。

二 ISCSI的安装与配置

1 服务的安装

2 配置

1 客户端配置

2 进行格式化和挂载

3配置开机自动挂载

4 卸载和删除

5 服务端清除配置

三使用LVM挂载磁盘

1 删除分区并创建新分区:

2 扩展LVM的配置

1 创建磁盘

2 客户端进行刷新并查看