Ubuntu20.04 server 安装iSCSI

  • Post author:
  • Post category:其他



参考:https://www.linuxidc.com/Linux/2018-05/152535.htm



一、配置iSCSI服务器端——iSCSI Target

iSCSI Target提供存储服务——磁盘。



1. 安装

apt-get update -y
# apt-get upgrade -y 更新所有软件包
apt-get install tgt -y
systemctl status tgt



2. 配置

iSCSI有两种命名格式: 一种是iqn, 一种是EUI。后者使用较少, 因为EUI命令不如iqn直观。 iqn的基本格式是:

iqn.<YYYY-MM>.<reversed domain name>:<extra-name>

例如可以这样命名:

iqn.2015-08.example.com:disk0

可以参考 /usr/share/doc/tgt/examples/targets.conf.example

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

# 定义LUN(逻辑单元号)的名称。
<target iqn.2021-03.bee.com:lun1>
    # 定义了iSCSI Target服务器上存储设备的位置和名称(可以是物理磁盘或者LVM)
    # 注意:使用的存储对象必须是新建的,而不能是在用的。
    backing-store /dev/sdb
    # 定义iSCSI启动器的IP地址——ACL
    initiator-address 192.168.91.152
    # initiator-address 192.168.91.0/24
    # 定义传入的用户名/密码 iscsi-user password
    incominguser test01 123456
    # 定义目标将提供给启动器的用户名/密码 iscsi-target secretpass
    outgoinguser test02 654321
</target>



3. 测试结果

systemctl restart tgt
tgtadm --mode target --op show



二、配置iSCSI客户端——iSCSI Initiator

iSCSI Initiator提供存储访问——用户。



1. 安装

apt-get install open-iscsi -y



2. 配置

客户端发现服务端target(安装完open-iscsi之后就执行)

iscsiadm -m discovery -t st -p 192.168.91.151

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

比如:/etc/iscsi/nodes/iqn.2021-03.bee.com:iscsi.disk0/192.168.91.151,3260,1/default

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

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

添加iSCSI Target LUN名称

vim /etc/iscsi/initiatorname.iscsi

# 注意InitiatorName只能有一个。主要用于标识Initiator,与target无关。
InitiatorName=iqn.2021-03.bee.com:lun1.init1

定义Initiator对应iscsi target的CHAP认证信息(可选)。

vim /etc/iscsi/iscsid.conf

# 修改以下信息
node.session.auth.authmethod = CHAP
node.session.auth.username = test01 # incominguser
node.session.auth.password = 123456 # incominguser
node.session.auth.username_in = test02 # outgoinguser
node.session.auth.password_in = 654321 # outgoinguser
node.startup = automatic # 开机自动登陆iscsi target(必选)

# 通过命令修改
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151:3260 --op update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151:3260 --op update -n node.startup -v automatic



3. 测试结果

# 这里会自动登陆iscsi target(更新配置时的出错考虑删除/etc/iscsi/nodes下的配置文件夹),完了使用iscsiadm -m node -o show 查看生成的配置。
systemctl restart open-iscsi iscsid

# 查看iSCSI Initiator工作状态
systemctl status open-iscsi
iscsiadm -m session -o show

# 发现iscsi target
iscsiadm -m discovery -t sendtargets -p 192.168.91.151
或者
iscsiadm -m node --login

# 登陆iscsi target
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151 -l

# 登出iscsi target
iscsiadm -m node -T iqn.2021-03.bee.com:lun1 -p 192.168.91.151 -u

# 查看LUN设备
fdisk -l
cat /proc/partitions
lsblk
# 查看UUID
blkid



4. 创建文件系统

fdisk /dev/sdb

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xd8da0e5f.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-20971519, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519): 

Created a new partition 1 of type 'Linux' and of size 10 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

格式化分区

mkfs.ext4 /dev/sdb1

挂载分区

mount /dev/sdb1 /mnt
df -h
# 查看磁盘统计信息
du -shc * /mnt



三、Windows的Initiator

可以运行程序:iscsicpl.exe



版权声明:本文为beeworkshop原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。