如何在ubuntuOS上设置iSCSI存储服务器

服务器 0

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

1.准备工作

一个Ubuntu 系统用于iSCSI目标机target,和1GB的外接硬盘。

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

一根网线连接目标机和启动器,且在iSCSI目标机(target端)上配置了静态IP地址192.168.10.10,在iSCSI启动器(Initiator端)上配置了192.168.10.11。

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

2.步骤

target端

(1) 安装iSCSI Target

# apt-get install tgt

(2) 查看状态

# systemctl status tgt

(3) 配置iSCSI目标

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

# vim /etc/tgt/conf.d/iscsi.conf

内容如下:

<target iqn.2023-11.pendl.com:lun1>

backing-store /dev/sda

initiator-address 192.168.10.11

</target>

命名规则:以 iSCSI 限定名 (iSCSI Qualified Name, iqn) 格式指定目标名称,例如 iqn.1988-12.com.oracle:X5-2-target

(4) 配置完毕,重启tgt

# systemctl restart tgt

(5)查看状态

# systemctl status tgt

可以看到如下信息:

(6) 验证iSCSI Target服务器

# tgtadm --mode target --op show

可以看到如下信息:

Initator端

(1) 安装软件包

# apt-get install open-iscsi

(2) 发现目标

# iscsiadm -m discovery -t st -p 192.168.10.10

注:节点配置文件将存放于目录 /etc/iscsi/nodes/ 中,并且每个LUN都有一个对应的配置目录。

比如:/etc/iscsi/nodes/iqn.2023-11.pend1.com:lun1/192.168.10.10,3260,1/default

在上述发现命令执行完毕后将在 /etc/iscsi/nodes/ 中自动生成指向iscsi target的IP的配置目录。

如果要更新服务端target的配置需要将 /etc/iscsi/nodes/ 下的配置目录删除,然后再执行iscsiadm -m discovery … 发现命令,以生成新的配置。

(3) 添加iSCSI Target LUN名称

 # vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2023-11.pendl.com:client

# 注意InitiatorName只能有一个。主要用于标识Initiator,与target无关

(4) 验证连接

# iscsiadm -m session -o show

(5) 登录

#iscsiadm -m node --login     (后面若想退出:iscsi -m node --logout)

(6) 验证从iSCSI目标共享的存储设备

#lsblk 或 fdisk -l

(7) 在共享设备上创建文件系统

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

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

# fdisk /dev/sda

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

格式化分区:

# mkfs.ext4 /dev/sda1

将分区安装到/mnt目录并验证已安装的分区:

以上为如何在UbuntuOS服务器上设置iSCSI目标机和启动器,以及如何在目标服务器上共享设备并从启动器访问它

也许您对下面的内容还感兴趣: