帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Ubuntu 20.04 LTS上设置iSCSI存储服务器

如何在Ubuntu 20.04 LTS上设置iSCSI存储服务器

发布时间:2020年07月18日 10:07:07    来源: A5互联

iSCSI代表Internet小型计算机系统接口是一种存储区域网络协议,可用于共享块设备,例如HDD / SSD分区或LVM分区,或网络上的块文件。iSCSI以客户端-服务器模型工作,并依赖TCP / IP网络在发起方客户端和目标之间发送SCSI命令。iSCSI Target是iSCSI服务器上的一项服务,可提供对共享存储的访问,而iSCSI Initiator是连接到目标并访问共享存储的iSCSI客户端。

在本教程中,我们将说明如何在Ubuntu 20.04服务器上设置iSCSI目标和iSCSI启动器。

1、要求

一个运行Ubuntu 20.04系统(用于iSCSI目标机)和有1GB的外接硬盘。

一个Ubuntu 20.04全新系统,用于iSCSI启动器。

在iSCSI目标机上配置了静态IP地址192.168.1.10,在iSCSI启动器上配置了192.168.1.20。

两台服务器上均配置了root密码。

2、更新系统

在开始之前,最好使用最新的软件包更新系统。您可以使用以下命令更新它们:

apt-get update -y

apt-get upgrade -y

更新所有软件包后,请重新启动系统以应用更改。

3、安装iSCSI Target

默认情况下,iSCSI Target软件包在Ubuntu 20.04默认存储库中可用。您可以通过在iSCSI Target服务器上运行以下命令来安装它:

apt-get install tgt -y

安装iSCSI Target后,请使用以下命令验证服务器的状态:

systemctl status tgt

您应该获得以下输出:

此时,您的服务器中已安装iSCSI Target,现在您可以继续执行下一步。

4、配置iSCSI目标

首先,您需要在iSCSI服务器上创建LUN(逻辑单元号)设备。LUN是作为物理SCSI设备一部分的后端存储设备。映射到iSCSI Target的所有LUN实际上都已附加到客户端的操作系统。因此,启动器可以在iSCSI LUN上建立和管理文件系统。

您可以通过创建新的配置文件来配置它:

nano /etc/tgt/conf.d/iscsi.conf

添加以下行:

backing-store /dev/sdb

initiator-address 192.168.1.20

incominguser iscsi-user password

outgoinguser iscsi-target secretpass


完成后保存并关闭文件。

其中:

第一行定义LUN的名称。

第二行定义了iSCSI Target服务器上存储设备的位置和名称。

第三行定义iSCSI启动器的IP地址。

第四行定义传入的用户名/密码。

第五行定义目标将提供给启动器的用户名/密码,以允许进行相互CHAP身份验证。

接下来,重新启动iSCSI服务以应用更改:

systemctl restart tgt

接下来,使用以下命令验证iSCSI Target服务器:

tgtadm --mode target --op show

您应该获得以下输出:

此时,将安装并配置iSCSI目标服务器。现在,您可以继续下一步。

5、安装和配置iSCSI Initiator

接下来,转到iSCSI启动器服务器,并使用以下命令安装iSCSI启动器软件包:

apt-get install open-iscsi -y

安装完成后,使用以下命令发现iSCSI目标服务器以找到共享目标:

iscsiadm -m discovery -t st -p 192.168.1.10

您应该看到以下输出:

192.168.1.10:3260,1 iqn.2020-07.example.com:lun1

接下来,您需要在initiatorname.iscsi文件中定义LUN设备的名称:

nano /etc/iscsi/initiatorname.iscsi

添加您的iSCSI Target LUN名称,如下所示:

InitiatorName=iqn.2020-07.example.com:lun1

完成后保存并关闭文件。

接下来,您将需要定义在iSCSI目标上配置的CHAP信息,以从iSCSI启动器访问iSCSI目标。节点配置文件将存在于目录‘/etc/iscsi/nodes/‘中,并且每个LUN都有一个目录。

您可以通过编辑以下文件来定义它:

nano /etc/iscsi/nodes/iqn.2020-07.example.com\:lun1/192.168.1.10\,3260\,1/default

添加/修改以下行:

node.session.auth.authmethod = CHAP

node.session.auth.username = iscsi-user

node.session.auth.password = password

node.session.auth.username_in = iscsi-target

node.session.auth.password_in = secretpass

node.startup = automatic

保存并关闭文件,然后使用以下命令重新启动iSCSI启动器服务:

systemctl restart open-iscsi iscsid

您还可以使用以下命令来验证服务的状态:

systemctl status open-iscsi

您应该获得以下输出:

您还可以使用以下命令来验证iSCSI连接:

iscsiadm -m session -o show

您应该获得以下输出:

tcp: [2] 192.168.1.10:3260,1 iqn.2020-07.example.com:lun1 (non-flash)

您还可以使用以下命令验证从iSCSI目标共享的存储设备:

lsblk

您应该在以下输出中看到共享设备sdb:

6、在共享设备上创建文件系统

为了在iSCSI启动器上使用共享设备,您将需要在共享设备(sdb)上创建文件系统并将其挂载以使该设备有用。

首先,使用以下命令在共享设备(sdb)上创建文件系统:

fdisk /dev/sdb

回答如下所示的所有问题以创建文件系统:

接下来,使用以下命令格式化分区:

mkfs.ext4 /dev/sdb1

您应该获得以下输出:

接下来,使用以下命令将分区安装到/mnt目录:

mount /dev/sdb1 /mnt

现在,您可以使用以下命令验证已安装的分区:

df -h

您应该获得以下输出:

总结

在本文中,您学习了如何在Ubuntu 20.04服务器上设置iSCSI目标机和启动器,以及如何在目标服务器上共享设备并从启动器访问它。