iscsi

Iscsi NAS和SAN 
如果你的系统需要大量的磁盘容量,但是身边却没有外接存储设备,仅有个人计算机时,那该怎么办?
此时,通过网络的SCSI磁盘(iSCSI)就能够提供帮助。这个iscsi是将来自网络的数据仿真成本机的SCSI 设备,因此可以进行诸如LVM等方面的操作,而不是单纯使用服务器端提供的文件系统而已,相当有帮 助。
作为服务器的系统,通常是需要存储设备的,而存储设备出来可以使用系统内置的磁盘之外,如果内置 的磁盘容量不够大,而且也没有额外的磁盘插槽可用时,那么常见的解决方案就是增加NAS:Network Attached Storage(网络附加存储服务器)或外接式存储设备。在高档一点的系统,可能就会用到 SAN:Storage Area Network(存储局域网) 不过,不论是哪一种架构,基本上,他们的内部硬盘通常是以磁盘阵列(RAID)作为基础的。那什么是 NAS 什么是SAN?这两者有什么不同,于我们本章讲的iscsi又有什么关系?
由于企业的数据量越来越大,而且重要性与保密性越来越重要,尤其类似数据库的内容,常常容量单位 是以TB、PB、EB进行计算的。所以磁盘阵列的应用就很重要了。那么磁盘阵列通常是在哪里呢?
主机内部有磁盘阵列控制卡,可以自行管理磁盘阵列,不过想要提供磁盘阵列的容量,需要通过额 外的网络服务才行; 外接式磁盘阵列设备,就是单纯的磁盘阵列设备,必须通过某些接口连接到主机上,主机也要安装 适当的驱动程序后才能捕捉到这个设备所提供的磁盘容量。
不过在当前的信息社会,你应该很少听到内置或外接的RAID了,常常听到的应该就是NAS和SAN,那这 是什么呢? 1、NAS(网络附加存储服务器) 
基本上, NAS 其实就是一部客制化好的主机了, 只要将 NAS 连接上网络, 那么在网络上面的其他主机 就能够存取 NAS 上头的资料了。 简单的说,NAS 就是一部 file server ,不过, NAS 由于也是接在网络 上面, 所以, 如果网络上有某个用户大量存取 NAS 上头的数据时, 是很容易造成网络停顿的问题的, 这个比较麻烦点~低阶的 NAS 通常会使用 Linux 系统搭配软件磁盘阵列来提供大容量文件系统。 不过 效能嘛就有待加强啦! 此外, NAS 也通常支持 TCP/IP , 并会提供 NFS, SAMBA, FTP 等常见的通讯协 议来提供客户端取得文件系统。
那为什么不要直接使用个人计算机安装 Linux 再搭配相关的服务, 即可提供 NAS 预计要提供的大容量 空间啦! 干嘛需要 NAS 呢? 因为, 通常 NAS还会包括很多组态的接口, 通常是利用 Web 接口来控制磁盘阵列的设定状况、 提供 IP 或其他相关网络设定, 以及是否提供某些特定的服务等等。因为具有较为亲和的操作与控制接口, 对于非 IT 的人员来说, 控管较为容易啦。 这也是 NAS 存在的目的。 2、SAN(存储局域网络) 
从上面的说明来看, 其实那个 NAS 就是一部可以提供大容量文件系统的主机嘛! 那我们知道单部主机 能够提供的插槽再怎么说也是有限的! 所以并不能无限制的安插磁盘在同一部实体主机上面。 但是如果 偏偏你就是有大量磁盘使用的需求, 那时该如何是好? 这时就得要使用到 SAN 
最简单的看法, 就是将 SAN 视为一个外接式的储存设备。只是单纯的外接式储存设备仅能透过某些接 口 (如 SCSI 或 eSATA) 提供单一部主机使用,而 SAN 却可以透过某些特殊的接口或信道来提供局域网络 内的所有机器进行磁盘存取。 要注意喔, SAN 是提供『磁盘 (block device) 』 给主机用,而不是像 NAS 提供的是『网络协议的文件系统 (NFS, SMB. . . ) 』 ! 这两者的差异挺大的喔! 因此, 挂载使用 SAN 的主机会多出一个大磁盘, 并可针对 SAN 提供的磁盘进行分割与格式化等动作。 另外, 既然 SAN 可以提供磁盘, 而 NAS 则是提供相关的网络文件系统, 那么 NAS 能不能透过网络去 使用 SAN 所提供的磁盘呢? 答案当然是可以啊! 
因为 SAN 最大的目的就是在提供磁盘给服务器主机使用, NAS 也是一部完整的服务器, 所以 NAS 当 然可以使用 SAN 啦! 同时其他的网络服务器也能够使用这个 SAN 来进行数据存取。
简单总结 
简单总结:SAN是提供LUN方式给客户端使用,客户端需要MKFS,再MOUNT成文件系统。NAS是直接 以文件系统方式提供给客户端使用,客户端不需要MKFS,如FTP、目录共享。
既然 SAN 开发的目的是要提供大量的磁盘给用户, 那么传输的速度当然是非常重要的。 因此, 早期的 SAN 大多配合光纤信道 (Fibre Channel)来提供高速的数据传输。 目前标准的光纤信道是速度是 10GB ,不过, 使用光纤等技术较高的设备, 当然就比较贵一些。 由于以太网络盛行, 加上技术成熟之赐,现今的以太网络媒体(网络卡、交换器、路由器等等设备) 已经 可以达到很高的速度了,离SAN 的光纤信道速度其实差异已经缩小很多啦~那么是否我们可以透过这个 以太网络接口来连接到SAN 的设备呢?这就是我们接下来要提到的iSCSI 架构啦!
早期的企业使用的服务器若有大容量磁盘的需求时,通常是透过SCSI来串接SCSI 磁盘,因此服务器上面 必须要加装 SCSI 适配卡,而且这个SCSI 是专属于该服务器的。后来这个外接式的SCSI 设备被上述提到 的SAN 的架构所取代, 在SAN 的标准架构下,虽然有很多的服务器可以对同一个SAN 进行存取的动 作,不过为了速度需求,通常使用的是光纤信道。但是光纤信道就是贵嘛!不但设备贵,服务器上面也 要有光纤接口,很麻烦~所以光纤的SAN 在中小企业很难普及啊 后来网络实在太普及,尤其是以IP封包为基础的LAN技术已经很成熟,再加上以太网络的速度越来越 快,所以就有厂商将SAN的连接方式改为利用IP技术来处理。然后再透过一些标准的制定,最后就得到 Internet SCSI (iSCSI)这玩意的产生啦!iSCSI主要是透过TCP/IP的技术,将储存设备端透过iSCSI target (iSCSI目标)功能,做成可以提供磁盘的服务器端,再透过iSCSI initiator (iSCSI初始化用户)功能,做成能 够挂载使用iSCSI target的客户端,如此便能透过iSCSI协议来进行磁盘的应用了
也就是说,iSCSI 这个架构主要将储存装置与使用的主机分为两个部分,分别是: iSCSI target:就是储存设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成iSCSI target了!目的在于提供其他主机使用的『磁盘』; iSCSI initiator:就是能够使用target的客户端,通常是服务器。也就是说,想要连接到iSCSI target 的服务器,也必须要安装iSCSI initiator的相关功能后才能够使用iSCSI target提供的磁盘就是了。 ISCSI 
Internet Small Computer System Interface:Internet 小型计算机系统接口,是一个基于 TCP/IP 的协 议,主要用于通过 IP 网络仿真 SCSI,从而为远程块存储设备提供数据传输和管理。说白了,就是通过 网络由专门的服务器提供存储管理,以实现数据的远程储存,便于数据的集中管理,从而简化了数据复 制、迁移和容灾。 基本概念 
名词 说明
ACL
访问权限控制列表,用来验证客户端启动器的访问,通常是客户端 iSCSI 启动器 的 IQN 名称
IQN 用于标识单个 iSCSI 目标和启动器的唯一名称(全部小写)
WWN 用于标识单个光纤通道端口和节点的唯一编号
TARGET iSCSI 服务器上的存储资源
LUN iSCSI 服务器上的块设备
initiator(启动 器)
以软件或硬件实施的 iSCSI 客户端
NODE 单个 iSCSI 启动器或者目标
TPG 启动器或者目标上的单个 IP 连接地址
Portal 网络接口及端口
Server ---->Target Client---->Initiator
192.168.1.60 192.168.1.61
/dev/sdc
实验环境准备:
PS: 两台服务器的主机名也必须不同
基本概念:
在SAN中,主机一般都是Initiator,存储设备则是Target。 Initiator   //发起者 SCSI会话的发起方 向Target请求LUN,并将数据的读写指令发送给Target。  //目标
Target(默认采用TCP 3260端口) 接受SCSI会话的一方 它接收来自Initiator的指令,为Initiator提供LUN,并实现对LUN的读写
IQN:    iqn.1994-05.com.redhat:737db83a23df    全球唯一名称,用于以强制命令格式来识别启动器和目标    iqn  表示此名称将使用域作为其标识符    yyyy-mm  拥有域名的第一个月    com.redhat  逆向域名   optional_string  以冒号为前缀的可选字符串,根据需要分配 192.168.1.60:server端
192.168.1.61:client端 在开始做实验之前,首先统一实验环境,准备2台虚拟机,分别都给其手动配IP,为了做区分,这里我给 虚拟机重新命名了。
//首先在SERVER端操作。

使用yum方式安装一下

[root@localhost ~]# yum -y install targetd targetcli
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.njupt.edu.cn
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.njupt.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 targetcli.noarch.0.2.1.fb46-7.el7 将被 升级
---> 软件包 targetcli.noarch.0.2.1.53-1.el7_9 将被 更新
---> 软件包 targetd.noarch.0.0.8.6-1.el7 将被 安装
--> 正在处理依赖关系 lvm2-python-libs >= 2.02.99,它被软件包 targetd-0.8.6-1.el7.noarch 需要
--> 正在处理依赖关系 python-setproctitle,它被软件包 targetd-0.8.6-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 lvm2-python-libs.x86_64.7.2.02.187-6.el7_9.5 将被 安装
--> 正在处理依赖关系 lvm2-libs = 7:2.02.187-6.el7_9.5,它被软件包 7:lvm2-python-libs-2.02.187-6.el7_9.5.x86_64 需要
---> 软件包 python-setproctitle.x86_64.0.1.1.6-5.el7 将被 安装
--> 正在检查事务
---> 软件包 lvm2-libs.x86_64.7.2.02.180-8.el7 将被 升级
--> 正在处理依赖关系 lvm2-libs = 7:2.02.180-8.el7,它被软件包 7:lvm2-2.02.180-8.el7.x86_64 需要
---> 软件包 lvm2-libs.x86_64.7.2.02.187-6.el7_9.5 将被 更新
--> 正在处理依赖关系 device-mapper-event = 7:1.02.170-6.el7_9.5,它被软件包 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64 需要
--> 正在检查事务
---> 软件包 device-mapper-event.x86_64.7.1.02.149-8.el7 将被 升级
---> 软件包 device-mapper-event.x86_64.7.1.02.170-6.el7_9.5 将被 更新
--> 正在处理依赖关系 device-mapper-event-libs = 7:1.02.170-6.el7_9.5,它被软件包 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64 需要
--> 正在处理依赖关系 device-mapper = 7:1.02.170-6.el7_9.5,它被软件包 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64 需要
---> 软件包 lvm2.x86_64.7.2.02.180-8.el7 将被 升级
---> 软件包 lvm2.x86_64.7.2.02.187-6.el7_9.5 将被 更新
--> 正在检查事务
---> 软件包 device-mapper.x86_64.7.1.02.149-8.el7 将被 升级
--> 正在处理依赖关系 device-mapper = 7:1.02.149-8.el7,它被软件包 7:device-mapper-libs-1.02.149-8.el7.x86_64 需要
---> 软件包 device-mapper.x86_64.7.1.02.170-6.el7_9.5 将被 更新
---> 软件包 device-mapper-event-libs.x86_64.7.1.02.149-8.el7 将被 升级
---> 软件包 device-mapper-event-libs.x86_64.7.1.02.170-6.el7_9.5 将被 更新
--> 正在检查事务
---> 软件包 device-mapper-libs.x86_64.7.1.02.149-8.el7 将被 升级
---> 软件包 device-mapper-libs.x86_64.7.1.02.170-6.el7_9.5 将被 更新
--> 解决依赖关系完成

依赖关系解决

====================================================================================
 Package                      架构       版本                     源           大小
====================================================================================
正在安装:
 targetd                      noarch     0.8.6-1.el7              base         56 k
正在更新:
 targetcli                    noarch     2.1.53-1.el7_9           updates      75 k
为依赖而安装:
 lvm2-python-libs             x86_64     7:2.02.187-6.el7_9.5     updates     189 k
 python-setproctitle          x86_64     1.1.6-5.el7              base         15 k
为依赖而更新:
 device-mapper                x86_64     7:1.02.170-6.el7_9.5     updates     297 k
 device-mapper-event          x86_64     7:1.02.170-6.el7_9.5     updates     192 k
 device-mapper-event-libs     x86_64     7:1.02.170-6.el7_9.5     updates     192 k
 device-mapper-libs           x86_64     7:1.02.170-6.el7_9.5     updates     325 k
 lvm2                         x86_64     7:2.02.187-6.el7_9.5     updates     1.3 M
 lvm2-libs                    x86_64     7:2.02.187-6.el7_9.5     updates     1.1 M

事务概要
====================================================================================
安装  1 软件包 (+2 依赖软件包)
升级  1 软件包 (+6 依赖软件包)

总计:3.7 M
总下载量:260 k
Downloading packages:
(1/3): python-setproctitle-1.1.6-5.el7.x86_64.rpm            |  15 kB  00:00:00     
(2/3): targetd-0.8.6-1.el7.noarch.rpm                        |  56 kB  00:00:00     
(3/3): lvm2-python-libs-2.02.187-6.el7_9.5.x86_64.rpm        | 189 kB  00:00:00     
------------------------------------------------------------------------------------
总计                                                   232 kB/s | 260 kB  00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64                 1/17 
  正在更新    : 7:device-mapper-1.02.170-6.el7_9.5.x86_64                      2/17 
  正在更新    : 7:device-mapper-event-libs-1.02.170-6.el7_9.5.x86_64           3/17 
  正在更新    : 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64                4/17 
  正在更新    : 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64                          5/17 
  正在安装    : 7:lvm2-python-libs-2.02.187-6.el7_9.5.x86_64                   6/17 
  正在安装    : python-setproctitle-1.1.6-5.el7.x86_64                         7/17 
  正在安装    : targetd-0.8.6-1.el7.noarch                                     8/17 
  正在更新    : 7:lvm2-2.02.187-6.el7_9.5.x86_64                               9/17 
  正在更新    : targetcli-2.1.53-1.el7_9.noarch                               10/17 
  清理        : targetcli-2.1.fb46-7.el7.noarch                               11/17 
  清理        : 7:lvm2-2.02.180-8.el7.x86_64                                  12/17 
  清理        : 7:lvm2-libs-2.02.180-8.el7.x86_64                             13/17 
  清理        : 7:device-mapper-event-1.02.149-8.el7.x86_64                   14/17 
  清理        : 7:device-mapper-event-libs-1.02.149-8.el7.x86_64              15/17 
  清理        : 7:device-mapper-1.02.149-8.el7.x86_64                         16/17 
  清理        : 7:device-mapper-libs-1.02.149-8.el7.x86_64                    17/17 
  验证中      : targetd-0.8.6-1.el7.noarch                                     1/17 
  验证中      : 7:device-mapper-event-1.02.170-6.el7_9.5.x86_64                2/17 
  验证中      : python-setproctitle-1.1.6-5.el7.x86_64                         3/17 
  验证中      : 7:lvm2-libs-2.02.187-6.el7_9.5.x86_64                          4/17 
  验证中      : 7:device-mapper-1.02.170-6.el7_9.5.x86_64                      5/17 
  验证中      : targetcli-2.1.53-1.el7_9.noarch                                6/17 
  验证中      : 7:device-mapper-event-libs-1.02.170-6.el7_9.5.x86_64           7/17 
  验证中      : 7:lvm2-python-libs-2.02.187-6.el7_9.5.x86_64                   8/17 
  验证中      : 7:lvm2-2.02.187-6.el7_9.5.x86_64                               9/17 
  验证中      : 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64                10/17 
  验证中      : 7:lvm2-2.02.180-8.el7.x86_64                                  11/17 
  验证中      : 7:device-mapper-event-1.02.149-8.el7.x86_64                   12/17 
  验证中      : 7:lvm2-libs-2.02.180-8.el7.x86_64                             13/17 
  验证中      : targetcli-2.1.fb46-7.el7.noarch                               14/17 
  验证中      : 7:device-mapper-1.02.149-8.el7.x86_64                         15/17 
  验证中      : 7:device-mapper-libs-1.02.149-8.el7.x86_64                    16/17 
  验证中      : 7:device-mapper-event-libs-1.02.149-8.el7.x86_64              17/17 

已安装:
  targetd.noarch 0:0.8.6-1.el7                                                      

作为依赖被安装:
  lvm2-python-libs.x86_64 7:2.02.187-6.el7_9.5                                      
  python-setproctitle.x86_64 0:1.1.6-5.el7                                          

更新完毕:
  targetcli.noarch 0:2.1.53-1.el7_9                                                 

作为依赖被升级:
  device-mapper.x86_64 7:1.02.170-6.el7_9.5                                         
  device-mapper-event.x86_64 7:1.02.170-6.el7_9.5                                   
  device-mapper-event-libs.x86_64 7:1.02.170-6.el7_9.5                              
  device-mapper-libs.x86_64 7:1.02.170-6.el7_9.5                                    
  lvm2.x86_64 7:2.02.187-6.el7_9.5                                                  
  lvm2-libs.x86_64 7:2.02.187-6.el7_9.5                                             

完毕!
[root@localhost ~]# systemctl start target
[root@localhost ~]# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
[root@localhost ~]# systemctl status target
● target.service - Restore LIO kernel target configuration
   Loaded: loaded (/usr/lib/systemd/system/target.service; enabled; vendor preset: disabled)
   Active: active (exited) since 四 2022-04-28 19:53:05 CST; 52s ago
 Main PID: 98597 (code=exited, status=0/SUCCESS)

4月 28 19:53:03 localhost.localdomain systemd[1]: Starting Restore LIO kernel t....
4月 28 19:53:05 localhost.localdomain target[98597]: No saved config file at /et...
4月 28 19:53:05 localhost.localdomain systemd[1]: Started Restore LIO kernel ta....
Hint: Some lines were ellipsized, use -l to show in full.

设置防火墙

[root@localhost ~]# firewall-cmd --add-port=3260/tcp --permanent 
success
[root@localhost ~]# firewall-cmd --reload 
success
[root@localhost ~]# firewall-cmd --list-ports 
514/tcp 514/udp 3260/tcp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值