使用iSCSI Target创建集中式安全存储(一)
创始人
2024-03-01 14:57:50
0

iSCSI 是一种块级别的协议,用于通过TCP/IP网络共享原始存储设备,可以用已经存在的IP和以太网如网卡、交换机、路由器等通过iSCSI协议共享和访问存储。iSCSI target是一种由远程iSCSI服务器(target)提供的远程硬盘。

Install iSCSI Target in Linux

在Linux中安装iSCSI Target

我们不需要占用很大的资源就可以为客户端提供稳定的连接和性能。iSCSI服务器称为“Target(目标器)”,它提供服务器上的存储共享。iSCSI客户端称为“Initiator(发起程序)”,它访问目标器共享的存储。市场中有卖的用于大型存储服务如SAN的iSCSI适配器。

我们为什么要在大型存储领域中使用iSCSI适配器

以太网适配器(NIC)被设计用于在系统、服务器和存储设备如NAS间传输分组数据,它不适合在Internet中传输块级数据。

iSCSI Target的功能

  • 可以在一台机器上运行几个iSCSI 目标器
  • 一台机器可以提供多个iSCSI 目标器用于iSCSI SAN访问
  • 一个目标器就是一块存储,并且可以通过网络被发起程序(客户端)访问
  • 把这些存储汇聚在一起让它们在网络中可以访问的是iSCSI LUN(逻辑单元号)
  • iSCSI支持在同一个会话中使用多个连接
  • iSCSI发起程序在网络中发现目标接着用LUN验证并登录,这样就可以本地访问远程存储。
  • 我们可以在本地挂载的LUN上安装任何操作系统,就像我们安装我们本地的操作系统一样。

为什么需要iSCSI?

在虚拟化中,我们需要存储拥有高度的冗余性、稳定性,iSCSI以低成本的方式提供了这些特性。与使用光纤通道的SAN比起来,我们可以使用已经存在的设备比如NIC、以太网交换机等建造一个低成本的SAN。

现在我开始使用iSCSI 目标器安装并配置安全存储。本篇中,我们遵循下面的步骤:

  • 我们需要隔离一个系统来设置iSCSI 目标器和发起程序(客户端)。
  • 在大型存储环境中可以添加多个硬盘,但是这里我们除了基本的安装盘之外只使用了一个额外的驱动器。
  • 这里我们只使用了2块硬盘,一个用于基本的服务器安装,另外一个用于存储(LUN),这个我们会在这个系列的第二篇描述。

主服务器设置

  • 操作系统 – CentOS 6.5 (Final)
  • iSCSI 目标器 IP – 192.168.0.200
  • 使用的端口 : TCP 860, 3260
  • 配置文件 : /etc/tgt/targets.conf

安装 iSCSI Target

打开终端并使用yum命令来搜索需要在iscsi 目标器上安装的包名。

# 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

你会的到上面的那些结果,选择Target包来安装。

# yum install scsi-target-utils -y

Install iSCSI Utils

安装iSCSI工具

列出安装的包里面的内容来了解默认的配置、服务和man页面的位置。

# rpm -ql scsi-target-utils.x86_64

List All iSCSI Files

列出所有的iSCSI包里面的文件

让我们启动iSCSI服务,并检查服务运行的状态,iSCSI的服务名是tgtd

# /etc/init.d/tgtd start
# /etc/init.d/tgtd status

Start iSCSI Service

启动iSCSI服务

现在我们需要配置开机自动启动。

# chkconfig tgtd on

现在验证tgtd服务的运行级别是否配置正确。

# chkconfig --list tgtd

Enable iSCSI on Startup

开机启动iSCSI

现在使用tgtadm来列出在我们的服务器上已经配置了哪些target和LUN。

# tgtadm --mode target --op show

tgtd已经安装并在运行了,但是上面的命令没有输出因为我们还没有在Target服务器上定义LUN。要查看手册,可以运行‘man‘命令。

# man tgtadm

iSCSI Man Pages

iSCSI Man 页面

如果你的目标器上有iptable的话,那么我们需要为iSCSI添加iptable规则。首先使用netstat命令找出iscsi target的端口号,目标器总是监听TCP端口3260。

# netstat -tulnp | grep tgtd

Find iSCSI Port

找出iSCSI端口

下面加入如下规则让iptable允许广播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

Open iSCSI Ports

打开iSCSI端口

Add iSCSI Ports to Iptables

添加iSCSI端口到iptable中

注意: 规则可能根据你的默认链策略而不同。接着保存iptable并重启该服务。

# iptables-save
# /etc/init.d/iptables restart

Restart iptables

重启iptable

现在我们已经部署了一个目标器来共享LUN给通过TCP/IP认证的发起程序。这也适用于从小到大规模的生产环境。

在我的下篇文章中,我会展示如何在目标器中使用LVM创建LUN,并且如何在客户端中共享LUN,不要忘记留下有价值的评论。


via: http://www.tecmint.com/create-centralized-secure-storage-using-iscsi-targetin-linux/

作者:Babin Lonston 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

广发证券:AI推理上下文存...
广发证券研报指出,超长上下文与多模态交互类应用显著推升KV Cac...
2026-01-20 07:48:22
u盘中病毒了怎么恢复数据
U盘中病毒了怎么恢复数据 在数字信息时代,U盘以其便携性和大容量,...
2026-01-19 19:25:46
u盘文件损坏怎么恢复数据
U盘文件损坏怎么恢复数据 在数字信息时代,U盘以其便携性和大容量,...
2026-01-19 19:25:46
图省事用AI工具处理内部文...
轻点鼠标就能生成方案、上传文件即可快速处理,便捷高效的开源AI工具...
2026-01-19 08:20:04
存储芯片逆天新规!100%...
据供应链知情人士透露,存储芯片制造商闪迪已向部分下游客户提出了一项...
2026-01-12 08:17:43
AI产业抢芯片 厂商溢价扫...
近日,据权威机构消息,2026年初DDR5、HBM等高端存储芯片价...
2026-01-08 09:19:03

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...