惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
Engineering at Meta
Engineering at Meta
The Register - Security
The Register - Security
N
Netflix TechBlog - Medium
D
Docker
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
DataBreaches.Net
IT之家
IT之家
V
V2EX
人人都是产品经理
人人都是产品经理
F
Fortinet All Blogs
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
博客园 - Franky
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
MongoDB | Blog
MongoDB | Blog
P
Privacy International News Feed
F
Full Disclosure
P
Proofpoint News Feed
B
Blog RSS Feed
T
Tor Project blog
T
The Blog of Author Tim Ferriss
B
Blog
Webroot Blog
Webroot Blog
腾讯CDC
T
Troy Hunt's Blog
T
Tailwind CSS Blog
H
Heimdal Security Blog
AWS News Blog
AWS News Blog
G
Google Developers Blog
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
A
About on SuperTechFans
SecWiki News
SecWiki News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
I
InfoQ
M
MIT News - Artificial intelligence
大猫的无限游戏
大猫的无限游戏
美团技术团队
L
LangChain Blog

博客园 - 唐宋元明清2188

Electron 桌面客户端 ASAR 热更新:替换一个文件完成版本切换 .NET Win32设置只读未对齐,导致NTFS文件系统识别异常 SDD-skills执行遗漏问题 SDD基于规范编程-OpenSpec及SuperPowers .NET 磁盘BitLocker加密-技术选型 .NET Win32磁盘动态卷触发“函数不正确”问题排查 .NET SqlSugar多线程下SqlSugarClient 的线程安全陷阱 .NET 本地Db数据库-技术方案选型 .NET 磁盘Bitlocker加密-Powershell操作 .NET 磁盘管理-技术方案选型 .NET 记录Amazon上传S3异常问题 .NET 记录多框架下的Json序列化属性标记问题 .NET 阻止Windows关机以及阻止失败的一些原因 Windows 网络存储ISCSI介绍 Windows 本地虚拟磁盘Vhdx .NET 数据拷贝方案选择 .NET 窗口置于最顶层 如何做好软件架构师 .NET开发一些书箱推荐 Windows应用开发-常用工具 WPF 记录鼠标、触摸多设备混合输入场景问题 .NET Bios相关数据读写
网络虚拟存储 Iscsi实现方案
唐宋元明清2188 · 2025-03-13 · via 博客园 - 唐宋元明清2188

网络虚拟存储,通过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

它内部是使用Win32API-iscsicli.h封装

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

5. 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进行封装,添加好注释、做好输出状态及值的返回