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

相关推荐
审判长烧鸡3 天前
GO时区【2】跨时区应用
go·存储·时区
木斯佳5 天前
HarmonyOS 本地存储实战:用一个记账本案例吃透 RDB 与 KVStore
harmonyos·存储
XSKY星辰天合8 天前
XSKY 与平凯星辰(TiDB)完成联合解决方案互认证,存储+数据库联合交付能力再获验证
数据库·存储
数据存储张14 天前
第2章:基于内存的只读文件系统
文件系统·存储
smart199816 天前
虚拟化授权费用又涨了,Infortrend存储带开源虚拟化应用抢占市场
存储
晴天¥19 天前
使用Openfiler为达梦数据库集群搭建共享存储
运维·服务器·存储
xcLeigh23 天前
KES数据库表空间目录自动创建特性详解与存储运维最佳实践
大数据·运维·服务器·数据库·表空间·存储
科技峰行者25 天前
闪存创新赋能全域,闪迪构建AI存储全栈版图
人工智能·ai·存储·闪存·闪迪
╰つ栺尖篴夢ゞ25 天前
Web之深入解析Cookie的安全防御与跨域实践
前端·安全·存储·cookie·跨域
liuccn1 个月前
GIS 数据存储格式
gis·存储·空间数据