运维iSCSI部署使用练习

发布时间:2023年12月18日

主机名称操作系统ip地址
iSCSI服务端centos8192.168.226.130
iSCSI客户端centos8192.168.226.131

iSCSI服务端

请添加图片描述

添加四块硬盘

启动虚拟机系统,使用mdadm命令创建RAID磁盘阵列

[root@localhost q]# lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─cl-root 253:0    0   17G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0   20G  0 disk 
sdc           8:32   0   20G  0 disk 
sdd           8:48   0   20G  0 disk 
sde           8:64   0   20G  0 disk 
sr0          11:0    1  9.3G  0 rom  /run/media/q/CentOS-8-4-2105-x86_64-dvd

[root@localhost q]# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

配置iSCSI服务

安装iSCSI的交换式配置工具

dnf install -y targetcli

配置iSCSI服务端共享资源

[root@localhost q]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> ls
o- / ............................................................................ [...]
  o- backstores ................................................................. [...]
  | o- block ..................................................... [Storage Objects: 0]
  | o- fileio .................................................... [Storage Objects: 0]
  | o- pscsi ..................................................... [Storage Objects: 0]
  | o- ramdisk ................................................... [Storage Objects: 0]
  o- iscsi ............................................................... [Targets: 0]
  o- loopback ............................................................ [Targets: 0]
/> cd /backstores/block 
/backstores/block> create disk0 /dev/md0 
Created block storage object disk0 using /dev/md0.
/backstores/block> cd /
/> ls
o- / ............................................................................ [...]
  o- backstores ................................................................. [...]
  | o- block ..................................................... [Storage Objects: 1]
  | | o- disk0 ............................ [/dev/md0 (40.0GiB) write-thru deactivated]
  | |   o- alua ...................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp .......................... [ALUA state: Active/optimized]
  | o- fileio .................................................... [Storage Objects: 0]
  | o- pscsi ..................................................... [Storage Objects: 0]
  | o- ramdisk ................................................... [Storage Objects: 0]
  o- iscsi ............................................................... [Targets: 0]
  o- loopback ............................................................ [Targets: 0]
/> 

创建iSCSI target名称及配置共享资源

/> cd /iscsi 
/iscsi> create 
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ................................................................. [Targets: 1]
  o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5 ............ [TPGs: 1]
    o- tpg1 .................................................... [no-gen-acls, no-auth]
      o- acls ............................................................... [ACLs: 0]
      o- luns ............................................................... [LUNs: 0]
      o- portals ......................................................... [Portals: 1]
        o- 0.0.0.0:3260 .......................................................... [OK]
/iscsi> 

#系统在生成这个target名称后,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到 iSCSI 共享资源池中的硬盘设备添加到这个新目录中,这样用户在登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。
/iscsi> cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5/
/iscsi/iqn.20....929dffeccbb5> cd tpg1/luns 
/iscsi/iqn.20...bb5/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.

设置访问控制列表(ACL)

/iscsi/iqn.20...bb5/tpg1/luns> cd ..
/iscsi/iqn.20...ffeccbb5/tpg1> cd acls 
/iscsi/iqn.20...bb5/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client
Created mapped LUN 0.

设置iSCSI服务端的监听IP地址和端口号

/iscsi/iqn.20...bb5/tpg1/acls> cd ../portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ............................................................... [Portals: 1]
  o- 0.0.0.0:3260 ................................................................ [OK]
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260 
Deleted network portal 0.0.0.0:3260

#继续进行设置,使系统使用服务器IP地址192.168.10.10的3260端口向外提供 iSCSI共享存储资源服务:
/iscsi/iqn.20.../tpg1/portals> create 192.168.226.130
Using default IP port 3260
Created network portal 192.168.226.130:3260.

在参数文件配置妥当后,浏览刚刚配置的信息,确保上述提到的“目录”都已经填写了正确的内容。

#在确认信息无误后输入 exit命令退出配置。注意,千万不要习惯性地按Ctrl+C组合键结束进程,这样不会保存配置文件,我们的工作也就白费了

请添加图片描述

关闭防火墙

systemctl stop firewalld

iSCSI客户端

安装iSCSI的交换式配置工具

dnf install iscsi-initiator-utils

编辑文件

cd
vim /etc/iscsi/initiatorname.iscsi
#把服务端的访问控制列表名称填进来
InitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.929dffeccbb5:client


#重启客户端iscsid服务程序
systemctl restart iscsid
systemctl enable iscsid

扫描并发现可用的存储资源

iSCSI客户端访问并使用共享存储资源的步骤很简单,只需要记住刘造老师的一个小口诀“先发现,再登录,最后挂载并使用”。iscsiadm是用于管理、查询、插入、更新或删除 iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程 iSCSI服务端,然后查看找到的服务端上有哪些可用的共享存储资源。其中,-m discovery参数的目的是扫描并发现可用的存储资源,-t st参数为执行扫描操作的类型,-p 192.168.226.130参数为iSCSI服务端的P地址:

[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.226.130
192.168.226.130:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70

登录

在使用iscsiadm命令发现了远程服务器上可用的存储资源后,接下来准备登录 iSCSI服务端。其中,-m node参数为将客户端所在主机作为一台节点服务器,-T参数为要使用的存储资源(大家可以直接复制前面命令中扫描发现的结果,以免录入错误),-p 192.168.226.130参数依然为对方iSCSI服务端的I地址。最后使用–login或-1参数进行登录验证。

[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70 -p 192.168.226.130 --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260]
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260] successful.

在 iSCSI客户端成功登录之后,会在客户端主机上多出一块名为/ldev/sdb 的设备文件。

[root@localhost ~]# lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─cl-root 253:0    0   17G  0 lvm  /
  └─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0   40G  0 disk 
sr0          11:0    1  9.3G  0 rom  /run/media/g/CentOS-8-4-2105-x86_64-dvd

直接格式化并挂载使用

[root@localhost ~]# mkfs.xfs /dev/sdb
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/sdb               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@localhost ~]# mkdir /iscsi
[root@localhost ~# mount /dev/sdb /iscsi/
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             362M     0  362M    0% /dev
tmpfs                392M     0  392M    0% /dev/shm
tmpfs                392M   12M  380M    3% /run
tmpfs                392M     0  392M    0% /sys/fs/cgroup
/dev/mapper/cl-root   17G  4.5G   13G   26% /
/dev/sda1           1014M  242M  773M   24% /boot
tmpfs                 79M  4.6M   74M    6% /run/user/1000
/dev/sr0             9.3G  9.3G     0  100% /run/media/g/CentOS-8-4-2105-x86_64-dvd
/dev/sdb              40G  319M   40G    1% /iscsi

#blkid命令用于查看设备的名称、文件系统及UUID。可以使用管道符进行过滤,只显示与/dev/sdb设备相关的信息:
[root@localhost ~]# blkid | grep /dev/sdb
/dev/sdb: UUID="03d7e757-0fc5-4d86-98c9-49562e5731a4" BLOCK_SIZE="512" TYPE="xfs"
#由于/devlsdb是一块网络存储设备,而iSCSI协议是基于TCP/IP网络传输数据的,因此必须在/etc/fstab配置文件中添加上_netdev参数,表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败:
vim /etc/fstab

请添加图片描述

#如果我们不再需要使用iSCSI共享设备资源了,可以用iscsiadm命令的-u参数将其设备卸载:
[root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70 -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.0a6658300a70, portal: 192.168.226.130,3260] successful.

Windows客户端

运行 iSCSI发起程序

在 Windows 10操作系统中已经默认安装了iSCSl客户端程序,我们只需在控制面板中找到“系统和安全”标签,然后单击“管理工具”,进入到“管理工具”页面后即可看到“iSCSI发起程序”图标。双击该图标,在第一次运行 iSCSI发起程序时,系统会提示“Microsoft iSCSI服务端未运行”,单击“是”按钮即可自动启动并运行iSCSI发起程序,如图所示
请添加图片描述

请添加图片描述

扫描发现 iSCSI服务端上可用的存储资源

不论是Windows 系统还是 Linux系统,要想使用iSCSl 共享存储资源,都必须先进行扫描发现操作。运行 iSCSI发起程序后在“目标”选项卡的“目标”文本框中写入 iSCSI服务端的IP地址,然后单击“快速连接”按钮,如图所示。
在弹出的“快速连接”对话框中可看到共享的硬盘存储资源,此时显示“无法登录到目标”属于正常情况,单击“完成”按钮即可,如图所示。
请添加图片描述
请添加图片描述

准备连接iSCSI服务端的共享存储资源

由于在 iSCSI服务端程序上设置了ACL,使得只有客户端名称与ACL策略中的名称保持一致时才能使用远程存储资源,因此首先需要在“配置”选项卡中单击“更改”按钮(见下图),随后在修改界面写入 iSCSI服务器配置过的ACL策略名称(见图),最后重新返回到 iSCSl 发起程序的“目标”界面(见图)。

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

访问 iSCSI远程共享存储资源

右键单击桌面上的“计算机”图标,打开计算机管理程序,如图所示。
请添加图片描述

然后开始对磁盘进行初始化操作,由于过于简单就不做描述了

文章来源:https://blog.csdn.net/qq_70491074/article/details/134999881
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。