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

相关推荐
10000hours5 天前
【SGL】Scatter-Gather List内存传输技术
linux·数据结构·网络协议·list·存储·sgl
code_shenbing14 天前
C# 实现列式存储数据
开发语言·c#·存储
天翼云开发者社区21 天前
教育考试院存储系统焕新:轻量升级,无缝切换!
存储
Hehuyi_In21 天前
阿里云Clickhouse 冷热数据分层存储 实战记录
clickhouse·oss·存储·归档·冷热分层
HaoHao_0102 个月前
阿里云 对象存储服务
阿里云·云计算·oss·存储
HaoHao_0102 个月前
腾讯云对象存储服务(COS)
云计算·腾讯云·cos·存储
HaoHao_0103 个月前
腾讯云 轻量云对象存储
云计算·腾讯云·存储·轻量云·套餐
强壮的派大星3 个月前
gdfs: 基于Fuse的GoogleDrive客户端开源代码分析
操作系统·文件系统·存储·fuse
AWS官方合作商3 个月前
AWS S3深度解析:十大核心应用场景与高可用架构设计实践
云计算·aws·数据湖·对象存储·存储·s3