iSCSI网络存储服务

一网络存储概述

·直接附加存储

通常我们所熟悉的存储设别就是硬盘,其通过与计算机主板的I/O接口(如IDE、SCSI)相连接,由本机操作系统负责读写及管理,这就是最传统的数据存储技术,称为DAS(Direct Attached Storage,直接附加存储)

·网络存储

随着企业中数据信息的不断增长,尤其当成百上千TB的数据需要备份、恢复,以及面临着扩容、灾难恢复等需求时,DAS方式使得数据的管理与维护日益困难。正因为如此,网络存储技术应运而生,其最常见的就是NAS和SAN

SAN(Storage Area Network,存储区域网络)

SAN是通过光纤交换机、光纤路由器等设备将磁盘阵列、磁带机或独立的ISCSI设备与服务器连接,构成一个高速存储子网,存储的数据以数据块的形式通过ISCSI协议进行传输,从而优于普通的IP包传输;结构如图所示

NAS(network attachment storage,网络附加存储)

NAS存储设备相当于一台独立的服务器,设备本身带有操作系统,也拥有网络接口,因此不依赖于其他服务器,在NAS设备中为客户机分配存储空间时,通常采用共享文件夹的方式进行发布,存储的数据以文件的形式进行传输,采用CIFS或者NFS等协议;结构如图所示

除了购买硬件NAS设备外,通过为PC服务器安装FreeNAS系统平台也可以作为高校的NAS存储设备使用;FreeNAS是一个专为NAS、iSCSI存储定制的精简版UNIX系统,基于FreeBSD系统开发而成,其官网http://www.freenas.org(与此类似的存储平台还有OpenFiler)

二构建iSCSI服务器

·iSCSI概述

iSCSI(iscsi= internet Small Computer System Interface )

是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之间的传递,同时也促进了数据的远距离管理

ISCSI技术的核心

是在TCP/IP网络上传输SCSI协议,是指用TCP/IP报文、和ISCSI报文封装SCSI报文,使得SCSI命令和数据可以在普通以太网络上进行传输

iSCSI协议

定义了在 TCP/IP 网络发送、接收 block(数据块)级的存储数据的规则和方 法。发送端将SCSI命令和数据封装到 TCP/IP 包中再通过网络转发,接收端收到 TCP/IP 包之后,将其还原为SCSI命令和数据并执行,完成之后将返回的SCSI命令和数据再封装到 TCP/IP包中再传送回发送端。而整个过程在用户看来,使用远端的存储设备就像访问本地的 SCSI设备一样简单

iSCSI的工作方式

服务(设备)端 target

客户(应用)端 initiator

·在RHEL6中搭建ISCSI存储服务器

ISCSI服务器通常也称为Target端,负责定义存储对象、分配逻辑空间LUN(Logical Unit,逻辑单元)(实验环境时,开虚拟机前最好添加四块以上硬盘)

1准备存储设备

存储设备指将要分配给某一个客户机使用的设备文件,在RHEL6系统中,硬盘、分区、逻辑卷、软RAID等都可以用作ISCSI服务的存储设备,为了延续磁盘空间的可扩展性,建议以一个逻辑卷为单位分配给客户机使用,对于个别有特殊要求的客户机,也可以将一个软RAID

LVM逻辑卷存储设备

将新添加的一块磁盘创建为物理卷,创建卷组,在卷组中创建一个容量为10G的逻辑卷

软RAID磁盘阵列

在Linux系统中做RAID,磁盘阵列的设备可以是一块磁盘中的三个以上的分区,也可以是三块或以上的磁盘;使用mdadm管理工具(默认已安装)来创建软RAID设备,这里使用三块硬盘,每块20G,创建一个RAID5阵列

[root@svr ~]# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]        或简写为

执行完以上命令后会在后台进行创建,执行以下命令可查看详细信息和创建进度

其中

--create             //表示要创建raid

--auto=yes /dev/md0 //新建立的软件磁盘阵列设备为md0,md序号可以为0-9

--level=5             //磁盘阵列的等级,这里表示创建是的raid5

--raid-devices         //添加作为磁盘阵列用的磁盘的块数

--spare-devices         //添加作为预备(spare)磁盘的块数

/dev/sd[b-d]         //磁盘阵列所使用的设备,还可写成/dev/sdb /dev/sdc /dev/sdd

如果磁盘容量比较大,可以直接查看/proc/mdstat文件来了解RAID创建和运行情况

如果要本机使用,可以格式化并挂载(建议设置开机自启动和自动挂载)

创建/etc/mdadm.conf这个配置文件,即可开机自启动

修改/etc/fstab文件,设置开机自动挂载

软RAID的扩展知识

1扩容raid磁盘阵列

显示磁盘阵列的组成情况,4个块设备组成,:
# cat /proc/mdstat

把/dev/sdg增加进阵列/dev/md0:
# mdadm  --add /dev/md0 /dev/sdg

把raid5阵列/dev/md0修改为5个块设备:
# mdadm --grow /dev/md0 -n5

再显示一下磁盘阵列的组成情况,现在/dev/md1是6个块设备组成,完成扩容,还需要7.7分钟。
# cat /proc/mdstat

等待扩容完成.....

执行下列命令:

验证:

2模拟RAID5中一块磁盘损坏,检验spare磁盘的功能(raid5中允许一块磁盘损坏,我们所设置的那1块spare磁盘会立即替代损坏的磁盘,进行RAID的重建,保障数据的安全):

[root@svr ~]# mdadm --manage /dev/md0 --fail /dev/sdd

//使用此命令设置磁盘sdd成为出错的状态

来查看一下:mdadm --detail /dev/md0

可以查看cat /proc/mdstat文件查看RAID5的重建过程

再来看一下重建完后的结果

/mnt/raid5还可以正常使用

3将出错的磁盘删除并加入新的磁盘:

先删除损坏的磁盘sdd:

[root@svr raid5]# mdadm --manage /dev/md0    --remove /dev/sdd       //将损坏的磁盘sdd从RAID中删除

再添加一块新的磁盘作为spare磁盘:

[root@svr raid5]# mdadm --manage /dev/md0 --add /dev/sdg        //添加新的磁盘sdg

OK,再来查看一下:

执行以下命令

mdadm --detail /dev/md0查看结果

4关闭软件RAID的方法:

当你不再需要已经设置的RAID的时候,可以用以下方法关闭RAID:

1)卸载/dev/md0,并且删除或注释掉/etc/fstab文件中的配置:

[root@svr ~]# umount /dev/md0    
[root@svr ~]# vi /etc/fstab    
#/dev/md0         /mnt/raid5        ext4        defaults            0 0

2)注释掉或删除/etc/mdadm.conf中的设置:    
[root@svr ~]# vi /etc/mdadm.conf    
#ARRAY /dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805

3)停止raid设备

# mdadm --stop /dev/md0

4)删除raid中的所有磁盘

这时候raid中的磁盘就删除了,重启后也不会产生md127了.

RAID0和RAID1实同于RAID5

RAID0:并行读写数据

RAID1:镜像磁盘阵列

2安装scsi-target-utils软件包

在RHEL6服务器中需要安装scsi-target-utils软件包,对应的系统服务为tgtd,命令行管理工具为tgtadm;有相关依赖包,建议使用yum安装

3创建iSCSI对象(Target)

即将准备好的存储设备(逻辑卷和RAID5)添加到iSCSI中,为客户端准备存储空间(LUN);有两种方法:一种是使用命令的添加方式(略);一种是直接修改配置文件;

iscsi target配置文件是/etc/tgt/targets.conf(在文件尾部添加如下内容)

Target的命名在同一子网内应该是唯一的,标准命名方式为:

iqn.yyyy-mm.<reversed domain name>[:identifier]

其中:

iqn:表示"iSCSI Qualified Name",简称iqn。

yyyy-mm:表示年份-月份。这里是2011-08。

reversed domain name:表示倒过来的域名,这里是com.example。

identifier:表示识别代码,这里是disk

backing-store用于指定存储设备,一般指非实际的物理磁盘,如LVM卷、某个分区、raid磁盘阵列。

initiator-address 地址 用于将target指派给指定的客户机使用,为了安全,可自定义设置

4重启服务并将服务设置为开机自启动,然后设置防火墙开启3260号端口通信

记得保存防火墙规则

5验证target信息

至此,iscsi target存储服务器配置完成,客户端使用iSCSI Initiator就可以连接iscsi target服务器了

二客户端使用iSCSI存储设备

·Linux客户端使用iSCSI存储设备

1客户端安装iscsi-initiator-utils和lsscsi软件包

这个没有依赖关系,可以用rpm安装

其中iscsi-initiator-utils是连接服务器的客户端软件,lsscsi是查看iSCSI设备信息的工具包

2发现并连接iSCSI设备

发现设备,若是默认端口3260可以省略不写

发现两个设备(为了安全考虑,可以在服务器上设置ACL访问控制策略,以免被别人发现)

连接设备

--login可以简写为-l;--out表示断开连接,简写-u

3查看网络存储设备

4使用磁盘

接下来使用磁盘就跟使用本地磁盘几乎一样(fdisk、mkfs、mount操作,与普通设备无异);进行分区格式化,挂载设置开机自启动等;若iSCSI设备已包含文件系统,则无需再格式化

·windows客户端使用iSCSI存储设备

Windows Server2008 自带iSCSI客户端程序

1确保客户机与服务器的通信

2打开管理工具-iSCSI发起程序

3输入服务器地址,直接点击快速连接

4连接成功后单击完成,可以关闭连接面板了

5右键计算机选择管理-存储-磁盘管理,可以看到新加的磁盘1

6右击磁盘1选择联机,再右击选择初始化磁盘,直接点击确定

7现在的操作和普通磁盘一样了,可以新建简单卷等

转载于:https://blog.51cto.com/itit0/1334715

8 iSCSI网络存储服务相关推荐

  1. 磁盘分区、格式化、LVM管理、及ISCSI网络存储服务

    RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前的版本的RHEL区别不大,可以通过disk工具(在图形桌面运行)或命令行工具(如:fdisk,gdisk.parted)管理硬盘设备.fd ...

  2. 构建iscsi网络存储服务

    网络存储概述: 随着企业中数据信息的不断增长,尤其当成百上千TB的数据需要备份.恢复,以及面临着扩容.灾难恢复等需求时,DAS(直接附加存储,就是通过与计算机主板的I/O接口,如IDE.SCSI相连接 ...

  3. iscsi网络存储服务

    iSCSI的工作方式 服务(设备)端 -- target 客户(应用)端 -- initiator 存储设备可以是硬盘.分区.逻辑卷.RAID阵列-- 本实验是以lvm raid 来做例子 一.准备存 ...

  4. linux配置一个ip san存储服务器,网络存储服务ip-san搭建

    网络存储服务ip-san搭建 网络存储服务ip-san搭建是一件很冗长的事情,看似间单,实则并不简单,让我们从下面开始学习吧. 一.准备工作 CentOS6.4服务器2台(1台用做IP-SAN存储服务 ...

  5. Windows/Linux搭建ISCSI协议存储服务(IPSAN存储)并对接给虚拟化平台

    Linux/Windows搭建ISCSI协议存储服务(IPSAN存储)并对接给虚拟化平台 1. Windows Server系统部署ISCSI存储服务 2. Linux系统部署ISCSI存储服务 2. ...

  6. Linux挂载iscsi网络存储

    Linux挂载iscsi网络存储 iscsi网络存储简介 iscsi的组成 主机规划 配置iscsi网络存储挂载 iscsi服务端配置 iscsi客户端配置 客户端配置方面 iscsi网络存储简介 i ...

  7. 部署 iSCSI 共享存储服务、配置Udev、多路径配置(实验)

    一.搭建iSCSI 共享存储 iSCSI技术在工作形式上分为服务端(target)与客户端(initiator). iSCSI服务端即用于存放硬盘存储资源的服务器,它作为前面创建的RAID磁盘阵列的存 ...

  8. iscsi网络存储介绍及客户端配置操作

    1. iscsi介绍与initiator安装 1.1 iSCSI介绍 iSCSI简单来说,就是把SCSI指令通过TCP/IP协议封装起来,在以太网中传输.iSCSI 可以实现在IP网络上传递和运行SC ...

  9. raid5和iscs网络存储服务i配置

    1.RAID磁盘阵列 在Linux系统中做RAID,磁盘阵列的设备可以是一块磁盘中的三个以上的分区,也可以是三块或以上的磁盘.本文主要以几块磁 盘为例,来实现在RAID5. 实验说明: 在VMware ...

最新文章

  1. 利用WebClient和WebRequest类获得网页源代码C#
  2. 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?
  3. FMDB支持的事务类型
  4. 编译原理视角下的 c c 语言左值教学,西安交通大学18年3月课程考试《编译原理》作业考核试题...
  5. unity3d优化总结篇
  6. BurpSuite插件 -- FastjsonScan(反序列化检测)
  7. 【maven】maven IDEA 设置 上传jar 包 distributionManagement
  8. 开源真实场景图像检测数据集汇总
  9. iphone中input标签会多出一块的解决办法
  10. visio英文版下载与安装教程
  11. 全网独家【超越VOSviewer】突破VOSviewer只能做数据库里数据的限制
  12. 【LVGL】animation动画路径方式介绍
  13. 【机器学习】完整的机器学习项目演练:第三部分
  14. vue动态修改网页标题(也可用于vx里的网页标题)
  15. 楼氏电子推出Raspberry Pi 开发工具包,为新物联网应用和行业语音整合提供支持
  16. 微信点击链接跳转到微信公众号关注页、微信关注链接
  17. 手机控制云服务器文件,手机控制云服务器的app
  18. python学习之路0x00
  19. 【Java面试】并发编程实战(线程控制操作详解)
  20. C++学习总结——思维导图

热门文章

  1. 第一学期计算机网络作业,2010-2011学年第一学期计算机网络(33973)试卷
  2. mysql fio测试_Linux下 fio磁盘压测笔记
  3. 各种水龙头拆卸图解_水龙头上包卫生纸,竟有这种效果!邻居看了都想学
  4. android 点击选择文件夹,Android----弹出框选择文件夹目录以及启用新Task打开文件_IT168文库.pdf...
  5. 2021下午茶数字经济蓝皮书
  6. 为什么长视频没有强算法推荐的产品
  7. LeetCode MySQL刷题——day2
  8. php生成网页缩略图接口,php生成网站缩略图
  9. java ui线程_UI线程异常处理方法
  10. 客座编辑:温孚江,男,现任山东农业大学校长、教授,农业大数据创新战略联盟理事长。...