网络虚拟存储 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进行封装,添加好注释、做好输出状态及值的返回

相关推荐
唐宋元明清218834 分钟前
.NET 磁盘管理-技术方案选型
windows·c#·存储
星哥说事24 天前
时序数据选型、存储模型与选型
存储
Tadas-Gao1 个月前
存储技术革命:SSD、PCIe与NVMe的创新架构设计与性能优化
java·性能优化·架构·系统架构·存储
空中楼阁,梦幻泡影1 个月前
Docker安装MinIO
运维·docker·容器·minio·存储
山南有清风1 个月前
开源对象存储项目一览
linux·分布式·对象存储·存储
元亓亓亓1 个月前
考研408--操作系统--day7--非连续分配管理方式
考研·操作系统·存储·408
Irene19911 个月前
移动硬盘,手机存储,笔记本电脑存储,台式机存储有什么区别
存储
Rysxt_1 个月前
RustFS全面教程:从入门到生产环境部署
存储·rustfs
元亓亓亓1 个月前
考研408--组成原理--day5--存储系统&主存储器&DRAM和SRAM
考研·存储·408·组成原理
搬砖者(视觉算法工程师)1 个月前
关于HBM(高带宽内存)的3D堆叠架构、先进封装技术以及在现代GPU、AI加速器上应用介绍
人工智能·芯片设计·存储