当前位置: 首页 > news >正文

虚拟机下的麒麟V10SP1与SP2进行iSCSI连接——基于MobaXterm

好的!作为小白,我会带你一步一步完成 iSCSI 存储管理的配置。我会用最详细的方式解释每个步骤,确保你能完全理解。


🎯 准备工作:理解你的环境
根据你的描述,你的环境是:

Windows 11 主机

VMware Workstation 17

两个虚拟机:

麒麟 SP2(服务器端) - IP: 192.168.24.158(你自己的服务端ip)
麒麟 SP1(桌面端) - IP: 192.168.24.159(你自己的客户端ip)

使用 MobaXterm 通过 SSH 连接两个系统

iSCSI 的角色分配:

服务器端(SP2, 192.168.24.158(你自己的服务端ip)):提供存储空间(就像"存储服务器")

客户端(SP1, 192.168.24.159(你自己的客户端ip)):使用存储空间(就像"客户电脑")


🔧 第一步:服务器端(SP2)配置
1.1 登录服务器端
在 MobaXterm 中,点击 Session → SSH,输入:

Remote host: 192.168.24.158(你自己的服务端ip)

Username: root

Password: kylin2024!

连接成功后,你应该看到命令行提示符,比如 [root@server ~]#

1.2 安装 iSCSI 目标软件
iSCSI 目标软件让服务器能够"提供"存储空间。

更新软件源(就像手机更新应用商店)

sudo yum update(这一步可以省略)

安装 iSCSI 目标软件(targetcli)

sudo yum install targetcli -y
解释:

sudo:以管理员权限执行命令

yum:麒麟系统的软件包管理器(类似手机的应用商店)

targetcli:管理 iSCSI 目标的命令行工具

1.3 启动 iSCSI 目标服务

启动服务(就像打开一个应用程序)

sudo systemctl start target

设置开机自动启动(这样重启后服务会自动运行)

sudo systemctl enable target

检查服务状态(确认服务正在运行)

sudo systemctl status target
预期结果:你应该看到绿色的 active (running) 字样。

1.4 配置 iSCSI 目标(重点步骤)
现在进入交互式配置界面:

进入 targetcli 配置界面

sudo targetcli
你会看到类似这样的提示符:/>

逐步执行以下命令:

a. 创建存储文件(虚拟硬盘)
/> cd backstores/fileio
/backstores/fileio> create kylin_iscsi_file /root/kylin-iscsi-file 2G
解释:

我们在 /root 目录下创建一个 2GB 的文件,模拟一块物理硬盘

文件名:kylin-iscsi-file

大小:2GB(2048MB)

这里也可以替换成其他硬盘

b. 创建 iSCSI 目标名称
/backstores/fileio> cd /iscsi
/iscsi> create iqn.2024-04.com.kylin:file
解释:

iqn:iSCSI 限定名称,就像存储设备的"身份证号"

2024-04.com.kylin:file:命名规则(年月.域名:设备名)

c. 设置访问权限(允许哪个客户端连接)
/iscsi> cd iqn.2024-04.com.kylin:file/tpg1/acls
/iscsi/iqn.20.../tpg1/acls> create iqn.2024-04.com.kylin:storage
解释:我们允许名为 iqn.2024-04.com.kylin:storage 的客户端连接。

d. 配置网络监听
/iscsi/iqn.20.../tpg1/acls> cd /iscsi/iqn.2024-04.com.kylin:file/tpg1/portals
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.24.158(你自己的服务端ip)
解释:

删除默认的监听(0.0.0.0 表示监听所有IP)

创建只监听服务器自身IP(192.168.24.158(你自己的服务端ip))的入口

端口 3260 是 iSCSI 的标准端口

e.开启ACL验证

正确的路径:进入 TPG1 目录

cd /iscsi/iqn.2024-04.com.kylin:file/tpg1

然后设置属性

set attribute authentication=0
set attribute generate_node_acls=1
set attribute demo_mode_write_protect=0

f. 关联存储设备
/iscsi/iqn.20.../tpg1/portals> cd /iscsi/iqn.2024-04.com.kylin:file/tpg1/luns
/iscsi/iqn.20.../tpg1/luns> create /backstores/fileio/kylin_iscsi_file

g. 保存并退出
/iscsi/iqn.20.../tpg1/luns> exit
退出后,重启服务使配置生效:

sudo systemctl restart target
1.5 配置防火墙
让防火墙允许 iSCSI 流量通过:

永久开放 3260 端口

sudo firewall-cmd --permanent --add-port=3260/tcp

重新加载防火墙配置

sudo firewall-cmd --reload

检查端口是否开放

sudo firewall-cmd --list-ports
预期结果:你应该看到 3260/tcp 在列表中。


🔧 第二步:客户端(SP1)配置
2.1 登录客户端
在 MobaXterm 中新开一个 SSH 会话:

Remote host: 192.168.24.159(你自己的客户端ip)

Username: root

Password: kylin2024!

2.2 安装 iSCSI 启动器软件
客户端需要软件来"发现"并使用服务器提供的存储。

安装 iSCSI 启动器

sudo yum install iscsi-initiator-utils -y

客户端

apt install -y open-iscsi

2.3 配置客户端名称
编辑客户端配置文件,设置客户端的"身份证":

编辑 initiatorname.iscsi 文件

sudo vim /etc/iscsi/initiatorname.iscsi
按 i 进入编辑模式,输入以下内容:

InitiatorName=iqn.2024-04.com.kylin:storage
按 ESC 退出编辑模式,然后输入 :wq 保存并退出。

解释:这个名称必须与服务器端 ACL 中设置的名称完全一致。

2.4 启动 iSCSI 服务

启动服务

sudo systemctl start iscsi
sudo systemctl enable iscsi

检查服务状态

sudo systemctl status iscsi
2.5 发现服务器上的 iSCSI 目标

发现服务器上的 iSCSI 目标

sudo iscsiadm -m discovery -t st -p 192.168.137.176
预期结果:你应该看到类似这样的输出:

192.168.24.158(你自己的服务端ip):3260,1 iqn.2024-04.com.kylin:file
2.6 登录到 iSCSI 目标

登录到目标

sudo iscsiadm -m node -T iqn.2024-04.com.kylin:file -p 192.168.137.176 -l
解释:

-T:指定目标名称

-p:指定服务器地址

-l:登录(login)

2.7 检查是否连接成功

查看 iSCSI 会话

sudo iscsiadm -m session -P 3

查看系统识别的磁盘

lsblk
预期结果:在 lsblk 的输出中,你应该能看到除了系统盘(通常是 sda)之外的新磁盘,比如 sdb。


🔧 第三步:在客户端配置 LVM 和挂载
3.1 查看新磁盘

确认新磁盘的存在

lsblk
你应该看到类似这样的输出:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
└─sda1 8:1 0 20G 0 part /
sdb 8:16 0 2G 0 disk # ← 这就是新的 iSCSI 磁盘!
3.2 LVM 配置(逻辑卷管理)
a. 创建物理卷(PV)

在 /dev/sdb 上创建物理卷

sudo pvcreate /dev/sdb
解释:物理卷就像是"原材料仓库"。

b. 创建卷组(VG)

创建名为 kylin_vg 的卷组

sudo vgcreate kylin_vg /dev/sdb
解释:卷组就像是"生产车间",管理所有物理卷。

c. 创建逻辑卷(LV)

使用全部空间创建逻辑卷 kylin_lv

sudo lvcreate -l 100%FREE -n kylin_lv kylin_vg
解释:逻辑卷就像是"成品仓库",从卷组中划分出来的可用空间。

3.3 格式化并挂载
a. 创建挂载目录

创建挂载点目录

sudo mkdir -p /data/storage
b. 格式化逻辑卷

格式化为 ext4 文件系统

sudo mkfs.ext4 /dev/kylin_vg/kylin_lv
c. 临时挂载测试

临时挂载

sudo mount /dev/kylin_vg/kylin_lv /data/storage

检查是否挂载成功

df -h
预期结果:你应该在输出中看到 /data/storage 已经挂载,容量约为 2.0G。

3.4 配置开机自动挂载
a. 获取逻辑卷的 UUID

查看逻辑卷的 UUID

sudo blkid /dev/kylin_vg/kylin_lv
记录下输出的 UUID,比如:UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890"

b. 编辑 fstab 文件实现开机自动挂载

编辑 fstab 文件

sudo vim /etc/fstab
在文件末尾添加一行(将 YOUR_UUID 替换为实际的 UUID):

UUID=YOUR_UUID /data/storage ext4 defaults,_netdev 0 0

重要:_netdev 参数表示这是一个网络设备,要等网络启动后再挂载。

c. 测试自动挂载

卸载当前挂载

sudo umount /data/storage

测试自动挂载(应该无错误输出)

sudo mount -a

再次检查是否挂载成功

df -h | grep storage

✅ 最终验证
在客户端执行以下命令进行全面验证:
lsblk

在服务器端验证:

查看 targetcli 配置

sudo targetcli ls


🆘 故障排除指南
如果遇到问题,按以下步骤检查:

网络连通性:

ping 192.168.24.158(你自己的服务端ip) # 从客户端 ping 服务器
防火墙问题:

在服务器端检查端口

sudo firewall-cmd --list-ports
服务状态:

服务器端

sudo systemctl status target

客户端

sudo systemctl status iscsi
重新扫描磁盘:

如果在客户端看不到新磁盘

sudo iscsiadm -m node -R
请按照这个步骤一步一步操作,如果遇到任何问题,把错误信息截图发给我,我会帮你解决。这个过程看起来复杂,但实际操作一遍后就会很清晰了!

http://www.hskmm.com/?act=detail&tid=16976

相关文章:

  • 中断的基本概念
  • AT_arc173_e [ARC173E] Rearrange and Adjacent XOR
  • 修复gradle8使用Transform第一个构建中断第二次构建失败的问题:java.io.IOException: Unable to delete directory xxxx\build
  • .NET操作Word/WPS打造专业文档 - 页面设置与打印控制完全指南
  • NORDIC蓝牙6.0新品NRF54L15多协议超低功耗高性能BLE芯片 - 动能世纪
  • 记录:git、.${index}. 滚动条
  • 使用springboot开发一个宿舍管理系统练习项目 - 实践
  • 元组
  • CF1542
  • Manim实现涟漪扩散特效
  • CRMEB标准版PHP移动订单功能深度解析:多端同步方案
  • CICD流程建设之持续测试实践指南
  • Xcode 26.0.1 (17A400) 发布 - Apple 平台 IDE
  • Tenable Nessus 10.10 (macOS, Linux, Windows) - 漏洞评估解决方案
  • CNN+MNIST - 实践
  • SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
  • 超快轻量级离线翻译服务器MTranServer在腾讯云轻量应用服务器上的全流程部署指南 - 实践
  • 微算法科技(NASDAQ: MLGO)利用高级 Blowfish 加密标准实现区块链集成信息共享
  • 专业讲解大模型登记(纯干货)
  • Docker常用命令速查
  • 离线安装docker
  • MX 练石 2025 NOIP #9
  • dockerfile
  • PostgreSQL 的索引Ooracle、Mysql索引的类型对比和说明
  • Docker打包CMake项目镜像操作步骤
  • Linux dmesg 内核日志查看工具详解
  • 【智慧】 gym104385
  • __repr__魔术方法
  • 基于萤火虫算法(FA)优化支持向量机(SVM)参数的分类实现
  • OSS cp(下载文件)