iSCSI是通过TCP / IP网络,共享共担RAW存储设备,并在访问iSCSI存储块级协议,可以与现有的IP和以太网网络上使用如网卡,交换器,路由器等iSCSI目标是提出一个远程硬盘从远程iSCSI服务器(或)目标。
在Linux中安装iSCSI目标
我们不需要高资源来确保客户端的稳定连接和性能。 iSCSI服务器称为目标 ,这一比例的从服务器的存储。 iSCSI客户机的称为发起者 ,这将访问从目标服务器的共享存储。 市场上有大容量存储服务(如SAN存储)的iSCSI适配器。
为什么我们需要一个大容量存储区的iSCSI适配器?
以太网适配器(NIC)被设计为在系统,服务器和存储设备(如NAS存储)之间传输分组化文件级数据,它们不能通过Internet传输块级数据。
iSCSI目标的特性
- 可能在单个机器上运行多个iSCSI目标。
- 单个计算机在iSCSI SAN上提供多个iSCSI目标
- 目标是存储,并使其可通过网络用于启动器(客户端)
- 这些存储的池是一起提供给网络的是iSCSI LUN(逻辑单元号)。
- iSCSI支持同一会话中的多个连接
- iSCSI启动器发现网络中的目标,然后通过LUN进行身份验证和登录,以便在本地获取远程存储。
- 我们可以在本地安装的LUN中安装任何操作系统,就像我们以前在基本系统中安装一样。
为什么需要iSCSI呢?
在虚拟化中,我们需要具有高冗余,稳定性的存储,iSCSI以低成本提供这些。 在与光纤通道SAN比较的同时以低价格创建SAN存储,我们可以使用标准设备,使用NIC,以太网交换等现有硬件构建SAN。
让我们开始使用iSCSI目标安装和配置集中式安全存储。 对于本指南,我使用了以下设置。
- 我们需要单独的1系统来设置iSCSI目标服务器和启动器(客户端)。
- 可以在大型存储环境中添加多个硬盘,但是我们这里只使用一个额外的驱动器,除了基本安装盘。
- 这里我们只使用2个驱动器,一个用于基本服务器安装,另一个用于存储(LUN),我们将在本系列的PART-II中创建。
主服务器设置
- 操作系统 - CentOS 6.5(最终版)
- iSCSI目标IP - 192.168.0.200
- 使用的端口:TCP 860,3260
- 配置文件:/etc/tgt/targets.conf
本系列将题目通过零件1-3 使用iSCSI设立集中安全存储编制和涵盖以下主题。
安装iSCSI目标
打开终端并使用yum命令搜索需要为iscsi target安装的包名称。
# yum search iscsi
示例输出
========================== N/S matched: iscsi ======================= iscsi-initiator-utils.x86_64 : iSCSI daemon and utility programs iscsi-initiator-utils-devel.x86_64 : Development files for iscsi-initiator-utils lsscsi.x86_64 : List SCSI devices (or hosts) and associated information scsi-target-utils.x86_64 : The SCSI target daemon and utility programs
我们得到的搜索结果如上,选择目标包并安装到玩耍。
# yum install scsi-target-utils -y
安装iSCSI Utils
列出已安装的软件包,以了解默认的配置,服务和手册页位置。
# rpm -ql scsi-target-utils.x86_64
列出所有iSCSI文件
让我们开始iSCSI服务,检查服务的状态和运行,命名为tgtd iSCSI服务。
# /etc/init.d/tgtd start # /etc/init.d/tgtd status
启动iSCSI服务
现在我们需要将其配置为在系统启动时自动启动。
# chkconfig tgtd on
接下来,验证运行水平,为tgtd服务配置正确。
# chkconfig --list tgtd
在启动时启用iSCSI
让我们用tgtadm列出什么样的目标和LUN我们目前得到了在我们的服务器配置。
# tgtadm --mode target --op show
该tgtd安装和运行,但有是因为我们还没有定义在目标服务器的LUN没有从上面的命令的输出 。 对于手册,运行“ 人 ”命令。
# man tgtadm
iSCSI手册页
最后,如果目标服务器中部署了iptables,我们需要为iSCSI添加iptables规则。 首先,找到使用以下netstat命令iSCSI目标的端口号,目标总是监听TCP端口3260上。
# netstat -tulnp | grep tgtd
查找iSCSI端口
接下来添加以下规则,以允许iptables广播iSCSI目标发现。
# iptables -A INPUT -i eth0 -p tcp --dport 860 -m state --state NEW,ESTABLISHED -j ACCEPT # iptables -A INPUT -i eth0 -p tcp --dport 3260 -m state --state NEW,ESTABLISHED -j ACCEPT
打开iSCSI端口
将iSCSI端口添加到Iptables
注 :规则可以根据您的默认链策略有所不同。 然后保存Iptables并重新启动iptables。
# iptables-save # /etc/init.d/iptables restart
重新启动iptables
在这里,我们部署了一个目标服务器来共享LUN到任何通过TCP / IP与目标进行验证的启动器,这也适用于小型到大型生产环境。
在我的下一个即将到来的文章中,我将告诉你如何创建LUN的使用LVM在目标服务器以及如何共享LUN的在客户机上,直到然后敬请关注youcl更多这样的更新,不要忘了给宝贵意见。