ISCSI 基础配置.note
·环境准备:一台 Linux Server,一台 Linux Client
·先再 Server 上 添加一块硬盘:

然后重启使其加载硬盘:
reboot一、配置 tgt 作为 ISCSI 服务器:
1、配置 tgt:
(1)安装 tgt:
apt install -y tgt(2)查看配置文件参考:
vim /usr/share/doc/tgt/examples/targets.conf.example·复制其中配置:

(3)查看,添加的硬盘,配置 tgt 配置文件:(将复制的配置粘贴)
·查看硬盘:
lsblk
·编辑配置文件:
vim /etc/tgt/targets.conf
# 粘贴,并将其修改
(4)重启 tgt 服务:
systemctl restart tgt2、Client 客户端进行连接:
(1)安装 iscsi:
apt isntall -y open-iscsi(2)iscsi 发现需要先重启或者启动才能进行使用:
systemctl restart iscsid
systemctl enable iscsid //这条无所谓,因为这个服务只是用于iscsi磁盘发现(3)使用 iscsi发现:(输入 server 服务器的 IP地址)
iscsi_discovery 172.16.1.254
(4)重启 Client客户端,使其读取硬盘:
systemctl restart iscsid //是否重启服务都无所谓,因为重启debian时会自动重启
reboot·重启后可以看到,已经成功读取到 硬盘:
lsblk
·接下来正常格式化挂载即可使用
二、配置 tgt,使用 用户名密码进行身份验证(CHAP用户认证):
1、配置 tgt 服务器:
(1)编辑 tgt 主配置文件:
vim /etc/tgt/targets.conf
systemctl restart tgt
(2)重启客户端,发现已经无法进行连接:
reboot
lsblk
2、在 客户端上进行配置:
(1)编辑 客户端 iscsi 配置:
·可以在 /etc/iscsi/iscsi.conf 中 找到部分配置:
将其复制:

·编辑 iscsi:
vim /etc/iscsi/nodes/ # 这里直接全部tab 补全即可
vim /etc/iscsi/nodes/iqn.2008-09.com.example\:server.target1/172.16.1.254\,3260\,1/default
(2)重启 Clinet:
systemctl restart iscsid
reboot(3)查看是否连接上:
lsblk连接成功:

三、配置 targetcli-fb 作为 ISCSI 服务器:
1、配置 targetcli-fb:
(1)停止 tgt服务(如果有的话)
systemctl stop tgt
systemctl disable tgt(2)安装 targetcli-fb:
apt install -y targetcli-fb(3)配置 targetcli-fb:
1、创建一个目录
mkdir /var/lib/iscsi_disks //创建一个目录2、打开 targetcli 命令行界面:
root@debian:~# targetcli
3、切换到 /backstores/fileio 目录:
/> cd /backstores/fileio目录解释:
cd /backstores/fileio 命令用于切换到 /backstores/fileio 目录。该目录是用于配置基于文件的块设备(fileio)的存储后端。
通过进入 /backstores/fileio 目录,你可以执行一系列与文件块设备相关的操作,例如创建新的文件块设备、查看和修改现有设备的属性等。4、在 /var/lib/iscsi_disks 目录下创建一个 10GB的 磁盘映像,名为‘disk01’
/backstores/fileio> create disk01 /var/lib/iscsi_disks/disk01.img 10G 
·代码解释:
在 /backstores/fileio 目录下执行 create disk01 /var/lib/iscsi_disks/disk01.img 10G 命令,将会创建一个名为 disk01 的文件块设备,并将其映射到 /var/lib/iscsi_disks/disk01.img 这个路径上,设备大小为 10GB。5、切换到 iscsi 目录:
/backstores/fileio> cd /iscsi6、创建一个 iscsi 目标:
/iscsi> create iqn.2023-12.contoso.com:elysia
# 以 iqn开头,然后接上 年、月,再接上域名,最后随意定义字符
# create iqn.(年)-(月).(域名):(任意字符)
7、切换到 iqn.2023-12.contoso.com:elysia 下的逻辑单元‘tpg1’
/iscsi> cd iqn.2023-12.contoso.com:elysia/tpg1 8、设置 对象属性
/iscsi/iqn.20...target01/tpg1> set attribute authentication=1 
·代码解释:
set attribute 命令用于设置指定对象的属性值。在你提供的命令中,set attribute authentication=1 的作用是将名为 iqn.20...target01/tpg1 的 iSCSI 目标的认证属性设置为 1。9、切换到 当前目录下的 luns 目录中:
/iscsi/iqn.20...target01/tpg1> cd luns 10、在该 LUN 下创建一个基于文件的存储资源:
/iscsi/iqn.20...t01/tpg1/luns> create /backstores/fileio/disk01 
11、切换 到上级目录下的 acls目录中:(acls是管理ACL的路径)
/iscsi/iqn.20...t01/tpg1/luns> cd ../acls 12、创建一个 ACL,设置允许连接的 iqn
/iscsi/iqn.20...t01/tpg1/acls> create iqn.2023-12.contoso.com:node01.initiator //ACL名称能够随意ding'y
13、切换到创建的 ACL中:
/iscsi/iqn.20...t01/tpg1/acls> cd iqn.2023-12.contoso.com:node01.initiator 14、设置连接认证方式为 CHAP,并设置用户名为‘chap’:
/iscsi/iqn.20...w.initiator> set auth userid=chap
13、设置 连接身份验证 密码为: Skills39!
/iscsi/iqn.20...w.initiator> set auth password=Skills39!
14、退出配置
exit
2、查看 服务端口是否启用:
ss -napt | grep 3260端口已成功启用

3、客户端进行连接:
(1)安装 iscsi:
apt install -y open-iscsi(2)编辑 iscsi 初始化程序配置文件:
vim /etc/iscsi/initiatorname.iscsi修改 iqn为前面定义的 ACL:

(3)使用 iscsi 发现服务器
iscsiadm -m discovery -t sendtargets -p 172.16.1.254 //输入 ISCSI服务器的IP地址
·代码解释:
-m discovery 参数表示要执行 iSCSI 存储目标发现操作,
-t sendtargets 参数指定了使用 SendTargets 发现机制,而
-p 172.16.1.254 参数则指定了要发送请求的远程 iSCSI 存储目标的 IP 地址。(4)输入账户密码进行连接操作:
vim /etc/iscsi/nodes # 直接敲tab,一直敲
# vim /etc/iscsi/nodes/iqn.2023-12.contoso.com\:elysia/172.16.1.254\,3260\,1/default
(5)重启 debian 服务器,然后查看是否连接上:
reboot
lsblk连接成功:

(6)接下来就可以进行格式化,挂载使用、Raid等操作了:
将其格式化进行使用:
apt install -y xfsdump
mkfs.xfs /dev/sdb
mkdir /disk
mount /dev/sdb /disk