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

相关推荐
AOwhisky3 天前
Ceph系列第二期:Ceph集群部署实战(cephadm)
linux·运维·笔记·分布式·ceph·云计算·存储
callJJ5 天前
MySQL 存储过程、游标、存储函数与触发器详解
数据库·mysql·存储
Python-AI Xenon10 天前
Linux逻辑卷(LVM)初始化与文件系统选型全指南
linux·运维·性能测试·存储
Hoxy.R13 天前
银河麒麟 V10 离线安装 s3cmd 踩坑记录+存储负载均衡测试
linux·运维·华为·存储
哈哈浩丶15 天前
存储相关知识①—通用NAND Flash 基础
linux·存储·nand
故事还在继续吗19 天前
存储与IO子系统
存储·io子系统
smart199823 天前
创新SSD缓存性能,应用在数据库与VDI业务中性能表现显著提升
存储
七夜zippoe25 天前
DolphinDB数据压缩与存储优化
优化·存储·数据·压缩·dolphindb
审判长烧鸡1 个月前
GO时区【2】跨时区应用
go·存储·时区
木斯佳1 个月前
HarmonyOS 本地存储实战:用一个记账本案例吃透 RDB 与 KVStore
harmonyos·存储