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目标机和启动器,以及如何在目标服务器上共享设备并从启动器访问它。
成都联想代理www.lenovocd.com【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼