迅维网

iSCSI网络储存服务

zxbai 2017-9-16 09:07


  iSCSI网络储存服务
  
  一 网络储存概述

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

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

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


iSCSI网络储存服务

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

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


iSCSI网络储存服务


  除了购买硬件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的逻辑卷


iSCSI网络储存服务

  软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]或简写为


iSCSI网络储存服务


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


iSCSI网络储存服务

其中

  --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创建和运行情况


iSCSI网络储存服务


  如果要本机运用,可以格式化并挂载(建议设置开机自启动和自动挂载)
  创建/etc/mdadm.conf这个配置文件,即可开机自启动


iSCSI网络储存服务


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


iSCSI网络储存服务


  软RAID的扩展知识


  1扩容raid磁盘阵列

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

iSCSI网络储存服务

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

iSCSI网络储存服务

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

iSCSI网络储存服务

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

iSCSI网络储存服务


  等待扩容完成.....

  执行下列命令:


iSCSI网络储存服务

  验证:


iSCSI网络储存服务


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


  [root@svr ~]# mdadm --manage /dev/md0 --fail /dev/sdd
  //运用此命令设置磁盘sdd成为出错的状态
  来查看一下:mdadm --detail /dev/md0


iSCSI网络储存服务

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

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

iSCSI网络储存服务


iSCSI网络储存服务

  /mnt/raid5还可以正常运用


iSCSI网络储存服务

  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查看结果


iSCSI网络储存服务


  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中的所有磁盘  

iSCSI网络储存服务

  这时候raid中的磁盘就删除了,重新启动后也不会产生md127了.
  RAID0和RAID1实同于RAID5
  RAID0:并行读写数据
  RAID1:镜像磁盘阵列

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


iSCSI网络储存服务


  3创建iSCSI对象(Target)

  即将准备好的储存设备(逻辑卷和RAID5)添加到iSCSI中,为客户端准备储存空间(LUN);有两种方式:一种是运用命令的添加方式(略);一种是直接修改配置文件;
  iscsi target配置文件是/etc/tgt/targets.conf(在文件尾部添加如下内容)


iSCSI网络储存服务

  Target的命名在同一子网内应该是唯一的,标准命名方式为:
  iqn.yyyy-mm.[: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号端口通信


iSCSI网络储存服务

  记得保存防火墙规则

  5验证target信息

iSCSI网络储存服务


iSCSI网络储存服务

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

  二 客户端运用iSCSI储存设备
  ·Linux客户端运用iSCSI储存设备

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

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


iSCSI网络储存服务

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

  2发现并连接iSCSI设备
  发现设备,若是默认端口3260可以省略不写


iSCSI网络储存服务

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

  连接设备


iSCSI网络储存服务

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

  3查看网络储存设备


iSCSI网络储存服务


  4运用磁盘

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


iSCSI网络储存服务


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

  Win Server2008 自带iSCSI客户端程序
  1确保客户机与服务器的通信
  2打开管理工具-iSCSI发起程序


iSCSI网络储存服务

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


iSCSI网络储存服务


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


iSCSI网络储存服务

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


iSCSI网络储存服务

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


iSCSI网络储存服务

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


雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索