网络虚拟存储 Iscsi实现方案

网络虚拟存储,通过Iscsi协议可以实现本地挂载磁盘,扩展本机设备存储。

Iscsi有以下实现方案,简单介绍下:

1.Powershell 脚本
PowerShell 提供了一些 cmdlet,比如 Get-iSCSITarget 和 New-iSCSISession,用于管理 iSCSI 会话。

PowerShell实现有比较完善的文档:

2.WMI API

WMI其实也可以iSCSI WMI 类 - Windows drivers | Microsoft Learn,只不过貌似未开放。也可能比较老了,微软不再维护

3.iscsicli 脚本
也可以通过命令行调用iscsicli

更多的操作,可以使用iscsicli help查看

4. 开源组件-Vanara.PInvoke.IScsiDsc
Vanara/PInvoke/IScsiDsc/readme.md at master · dahall/Vanara
它内部是使用Win32API-iscsicli.h封装

并对函数返回值int,做了隐式转换,Win32Error定义了常见异常码以及LastError异常信息。返回值这块,挺不错的设计

4. Win32API

Iscsi有官方的发现库API: Iscsidsc.h 标头 - Win32 apps | Microsoft Learn

比如获取Iscsi会话列表:

复制代码
1 ISDSC_STATUS ISDSC_API GetIScsiSessionListA(
2   [in, out] ULONG                *BufferSize,
3   [out]     ULONG                *SessionCount,
4   [out]     PISCSI_SESSION_INFOA SessionInfo
5 );

PInvoke调用DLL是 "C:\Windows\System32\iscsidsc.dll"
我们可以基于目前团队内使用场景,对指定几个API进行封装,添加好注释、做好输出状态及值的返回

相关推荐
闻缺陷则喜何志丹6 天前
vc入门宝典(九)
数据结构·list·mfc·存储·null·class
闻缺陷则喜何志丹12 天前
详细设计说明书的内容要求
算法·测试·存储
工作10年+,存储芯片行业12 天前
U.2 企业盘 × PCIe 4.0 / 5.0:主控与验证
ssd·nvme·存储·pcie·主控·nand·u.2
for_ever_love__12 天前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
工作10年+,存储芯片行业15 天前
企业级 SSD 性能评测:稳态、尾延迟与 fio 实测命令
ssd·nvme·存储·pcie·nand·fio·iops
工作10年+,存储芯片行业15 天前
企业级 SSD 耐久度评测(JESD218 / JESD219 + FIO)
网络·ssd·nvme·存储·pcie·nand·fio
工作10年+,存储芯片行业15 天前
HTOL 实战:原理、流程、场景与解析
ssd·nvme·存储·pcie·nand·htol·qlc
工作10年+,存储芯片行业16 天前
浮栅晶体管极性说明
ssd·nvme·芯片·存储·pcie·nand·mos
工作10年+,存储芯片行业17 天前
NVMe Surprise 掉链、控制器实例漂移与残留 I/O
ssd·nvme·存储·pcie·nand·csts·掉链
工作10年+,存储芯片行业19 天前
SSD 端到端数据保护:PI 三件套深度解析
ssd·nvme·芯片·存储·pcie·保护·nand