Windows 网络存储ISCSI

本文介绍网络存储ISCSI的主要知识点以及如何通过代码控制挂载。

Windows网络存储有很多协议,我目前学习、稍微有了解的是FTP、SMB、ISCSI,FTP、SMB类似可以用来添加共享文件夹,或者添加映射网络驱动器:

我使用FTP都是先建个映射,再将内部的文件夹固定到快速访问。平时使用效率就很高了

回到ISCSI,最近买了2款NAS,多学习学习NAS这块

群晖,网上大家评价性能很好。我尝试了下,就退货了。。。略贵,操作还特别复杂

绿联,有点坑不支持ISCSI,只支持SMB这些协议,不过它的手机、PC设备数据同步,软件体验还蛮好的。

威联通,我买了入门级的262C版本,哈哈。4G内存2块硬盘位置,学习肯定是够用了。

iSCSI(Internet Small Computer Systems Interface)是一种使用IP网络传输SCSI命令的协议,使得存储设备能够通过网络进行访问。它将存储区域网络(SAN)的功能扩展到远程位置。 工作方式:iSCSI通过TCP/IP网络传输数据,它将存储设备看作是本地硬盘,允许块级存储访问

iSCSI是一种基于因特网及SCSI协议下的存储技术,使用 TCP/IP 协议(一般使用3260)让两台主机通过IP网络相互协商然后交换SCSI命令。

这样,iSCSI就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN),这样可将NAS的一部分空间作为虚拟磁盘与电脑端共享,像本地硬盘一样使用这部分空间,并且还是块级存储。

买回来初始化后,打开"iSCSI与光纤通道"应用,新建文件LUN快速创建一个ISCSI目标:

在控制台-系统状态,查找到我们的IP:

手动挂载操作

然后在你电脑Windows上,搜索iscsi,打开"iscsi发起程序"。输入IP,点确定即可:

回到第一个Tab,选中iqn目标连接。如果想省事也可以使用"快速连接",在第一个Tab中输入IP:

操作完了这些,打开Windows开始菜单-磁盘管理,就可以看到未初始化的磁盘了:

右键新建卷,完成盘符、格式化,就以正常使用了。这个操作比较耗时,276G磁盘花了35s。。。:

代码控制挂载

上面是手动操作挂载的,也可以通过基于iscsi命令快速实现

下面输入IP,查找iscsi目标:

复制代码
1 iscsicli AddTargetPortal 192.168.31.67 3260
2 iscsicli ListTargets

然后连接目标:

复制代码
1 iscsicli QLoginTarget iqn.2004-04.com.qnap:ts-262c:iscsi.yudong.87ddf4

操作成功后,iqn目标会显示连接成功:

以上是通过iscsicli实现的,详细的操作指令,可以通过cmd或者powershell输入iscsicli help查看。文档API也可以看 iSCSI 发现库 API - Win32 apps | Microsoft Learn

也可以通过PowerShell完成挂载,PowerShell实现有比较完善的文档,

iSCSI Module | Microsoft LearnIscsiTarget Module | Microsoft Learn
实现 Windows Server iSCSI - Training | Microsoft Learn

iSCSI Target Server Overview | Microsoft Learn

另外,WMI其实也可以iSCSI WMI 类 - Windows drivers | Microsoft Learn,只不过貌似未开放

之后就是初始化磁盘 ,命令行操作可以使用diskpart完成。diskpart可以参考 Windows 本地虚拟磁盘 - 唐宋元明清2188 - 博客园 里磁盘初始化的内容

如果需要.NET实现一键挂盘,可以针对上面的iscsicli或者powershell脚本进行封装下。

参考文章:

详解块存储、文件存储、对象存储区别 - 知乎

科普!一文详解 FTP、FTPS 与 SFTP 的原理 - 知乎

五大主流分布式存储技术对比分析,你 pick 哪一种?| 争议_gpfs luster-CSDN博客

【最强科普】一文读懂分布式存储 - 知乎

使用powershell配置和管理基于Windows的iSCSI - 简书

相关推荐
MobiCetus11 小时前
有关pip与conda的介绍
linux·windows·python·ubuntu·金融·conda·pip
丑过三八线15 小时前
【Kafka】Kafka4.0在windows上启动
windows·分布式·kafka
钢铁男儿20 小时前
Python 序列构成的数组(对序列使用+和_)
服务器·windows·python
DogDaoDao20 小时前
从零开始:Windows 系统中 PowerShell 配置 FFmpeg 的详细步骤
windows·ffmpeg·音视频·ffplay·powershell·视频直播·ffprobe
sukalot21 小时前
Windows 图形显示驱动开发-WDDM 2.4功能-GPU 半虚拟化(十二)
windows·驱动开发
安 当 加 密1 天前
如何在Windows服务器上搭建RADIUS认证服务器,有哪些开源方案和付费解决方案
服务器·windows·开源
三体世界1 天前
C++ List的模拟实现
java·c语言·开发语言·数据结构·c++·windows·list
落淼喵_G1 天前
【windows搭建lvgl模拟环境(一)之VSCode】
ide·windows·vscode
Tee xm2 天前
清晰易懂的Rust安装与配置教程
linux·windows·macos·rust
小比卡丘2 天前
【C++初阶】第12课—list
c++·windows·list