问题标签 [iscsi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# 和 Powershell 3.0 对象
我不知道如何通过摘要来介绍这个问题,所以我将直接进行解释。
我目前正在 C# 应用程序中实现一些功能,这些功能依赖于执行各种 powershell 命令。准确地说,我正在尝试从 Windows Server 2012 iSCSI 目标功能中检索服务器目标列表。
PS 命令是Get-IscsiServerTarget,作为示例,它返回以下输出:
在管道上调用命令后返回的 PSObject 集合是Microsoft.Iscsi.Target.Commands.IscsiServerTarget对象的集合,这很好,因为我可以访问所有原始类型的属性。我的问题是LunMappings是Microsoft.Iscsi.Target.Commands.LunMapping类型,我找不到访问该特定对象属性的方法。
在属性上调用 ToString() 会产生一个等于“Microsoft.Iscsi.Target.Commands.LunMapping[]”的字符串——这显然不是我想要的。
在我心中我想做的是
或者
在引用了必要的程序集之后,我尝试了最后一个,但我收到了编译错误。
我将不胜感激任何指导、方向或建设性意见。
编辑
在项目中放置对 Microsoft.Iscsi.Target.Commands.dll 的引用以允许转换 PSObject((Microsoft.Iscsi.Target.Commands.LunMapping[])psobject[index].Properties["LunMappings"]).Lun
会导致编译错误 - Error 4 The type or namespace name 'Iscsi' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
。
编辑
现在已经修复了这个问题。第一次编辑中提到的错误4问题,当我尝试投射时,是因为该项目针对的是3.5框架并且引用的程序集需要4.0。现在我能够成功地投射对象。
windows - Windows Server Backup:新磁盘和保留备份历史记录
几年来,我一直在使用 Windows Server Backup 在 Win Server 2008R2 上进行备份。“驱动器”通过 iSCSI 连接并且工作正常。好吧,现在我有一个新的 SAN 设计,我想使用 iSCSI 而不是旧位置备份到这个位置——就安装驱动器而言,一切正常——但具体来说,有什么方法可以复制备份新驱动器的历史?我需要从系统中完全删除旧驱动器,只使用新驱动器。目前我可以做到这一点,但我不知道如何在不丢失多年增量备份历史的情况下做到这一点。
如果我将两个驱动器都添加到备份计划中,这会将历史记录从第一个驱动器复制到第二个驱动器吗?谢谢!
bash - 从 iscsiadm 第二次运行后,bash 脚本意外停止
iscsiadm 停止/离开 bash 脚本,我不知道为什么?
剧本”
第一次运行它在第二次运行时效果很好(iscsiadm 运行出错)我永远不会看到“你好世界”,我不知道为什么?
有没有人解决它?
linux - 如何强制 iscsid 重新连接目标?
我已经安装了 open-iscsi,并登录了几个目标。设备已安装,并执行一些 IO。
但是我想断开initiator和target的tcp连接,强制iscsid运行recovery并重新连接。
这该怎么做?
我使用 tcpkill 杀死了一些 tcp 连接,iscsid 将运行恢复并重新连接到目标。但我不知道哪个 tcp 连接属于哪个目标。所以如果我想重新连接target1,我可能会终止target2的tcp连接。
如何识别与目标的 tcp 连接?
centos - iscsiadm“未找到门户”
我在 Centos6 服务器上安装了一个 iscsi 目标,并配置了一个可以在一台客户端机器上找到的目标(网络 192.168.95.x 中的 Ubuntu 1304)。但是,当我再添加一个目标并尝试从另一台机器(同一子网中的 Centos5)连接时,它显示“未找到门户”。以下是设置的打印输出:
192.168.180.88 中的 iSCSI 目标
同一子网中的 iscsi 发起程序 (192.168.180.x - Centos5)
不同子网中的 iscsi 发起程序 (192.168.95.x - Ubuntu 1304)
在 ubuntu 机器中,它只在 iscsi 目标服务器中找到了一个目标,但在 iSCSI 目标服务器中,可以使用 tgt-admin 命令显示这两个目标。有什么我配置不正确的吗?
非常感谢!
威尔逊
python - 使用 WMI 获取门户信息和 ipv4 地址。用ps和python
我一直在为此头疼。
我想要的是制作一个小的 python 程序,它会输出一个带有相应 NIC 的 ipadress 列表
在PowerShell中,这样做是可能的,我在互联网上找到了这个脚本:
不过,这不适用于所有 Windows 版本。例如,我在 Windows Server 2003 框中收到此错误消息:
我对 ps 的经验几乎为零,所以我真的不知道为什么……在过去的几个小时里,我试图用 ps 和 wmi objectbrowser 探索 wmi。在 objectbrowser 中,我可以完美地看到我需要的所有统计信息。看截图。由于我实际上不知道数组和属性等如何在 ps 中工作,我希望有人可以帮助我。
问候
windows - 使用 windows CMD 列出 ISCSI 驱动器?
我正在尝试列出所有通过 iscsi 连接的驱动器号,但我似乎找不到执行此操作的方法。
我正在使用它来生成要在旧 2k3 服务器上使用 ntbackup 备份的驱动器列表,并跳过任何 iSCSI 驱动器。
在我们负担得起 Veeam 之前,这是暂时的。
任何帮助是极大的赞赏!
ubuntu - 在远程机器上执行 readlink
我想提取远程机器的附加 iSCSI 设备
它给出了错误:
但是,如果我这样做
然后它成功执行并echo $DEVICE
给出sda
. 我应该如何执行这个。
powershell - 枚举大量 iSCSI 卷。非常慢。以编程方式获取磁盘号有问题
我目前正在为 Hyper-V 2012 R2 编写一些编排软件。
整个编排平台还可以与 Xen 等其他 Hypervisor 对话。我正在引入新的 SAN 存储,并且由于存储级别存在一些理想的功能,我想在所有 Hypervisor 上使用 LUN 到 VM 的映射。
我在 Windows 上管理这个 iSCSI 连接量时遇到了真正的问题。但不是我想的那样...
我听说 Windows 和“大量 LUN”存在扩展问题,但我想自己检查一下。我没有看到其他人提到的问题。例如,我可以在一秒钟内通过 diskpart 枚举 500 多个 LUN。我可以用“get-disk”列出所有连接的磁盘,在一秒钟内,问题来自 iSCSI 扩展本身。
如果有人有时间继续阅读,也许他们可以解释为什么......
我以编程方式连接到 iSCSI 目标没有问题,但是当我开始尝试获取会话信息(我需要获取其他信息)时,我似乎遇到了真正的问题。
即似乎没有办法指定 iSCSI 目标在连接时接收的磁盘号\地址(除非我弄错了)。我可以通过 WMI 从 IQN 向后工作,通过调用
当您开始谈论 100 多个已连接的卷时,调用此类课程有时可能需要 10 多分钟才能返回。如果我通过 Powerhell 对其进行测试,例如:
...您可以看到它在枚举卷的过程中卡住了。它会暂停。我没有计算出确切的数字,但每增加一卷似乎都会在查询返回的总时间上增加大约 3-4(或更多)秒。
它变得有点奇怪。Windows 2012 有一些内置的 iSCSI 命令。我可以在一秒钟内得到一个连接的 iSCSI 目标对象
我可以使用 iSCSI 连接对象
...在一秒钟内完成。这些必须以某种方式与 iSCSI 会话信息相关。
无论我如何打包,调用 Get-IscsiSession 大约需要 10 分钟才能返回。
Hyper-VM 管理器 GUI 在打开 VM 的设置页面时也非常慢,大概是因为它正在通过 iSCSI 会话枚举可能的直通磁盘。这也需要大约十分钟。
在根/虚拟化中对 Msvm_DiskDrive 的查询也需要一段时间才能返回。
同样,diskpart、Get-Disk 等都在几秒钟内返回。我可以在大约一分钟内刷新系统上的所有 iSCSI 目标,其中包含 500 多个目标。我认为这将是困难的一点。
所以,我有两个问题。
首先,这听起来对吗?有什么我做的事情可能会影响 WMI 调用返回的速度吗?我可以加速 WMI 吗?
其次,谁能想到除 MSiSCSIInitiator_SessionClass 之外的任何其他方式,我可以从 IQN 派生磁盘号?这可能会解决我的大部分问题。也许我可能错过了获取此信息的其他途径。
干杯。
iscsi - tgtd / iscsid CHAP 目标认证
我正在使用两个带有 Centos 6.5 的 VirtualBox VM 来处理 iSCSI。目标由名为“ tgtm
”的机器提供(运行 TGT 守护程序),名为“受害者”的机器是发起者。我无法配置 CHAP 目标身份验证(启动器身份验证工作正常)。如果我通过注释掉 放弃 CHAP 目标身份验证node.session.auth.{username_in,password_in}
,一切正常。特别是,tgtd
说"CHAP target auth.: no outgoing credentials configured."
(这似乎不是真的:))。
配置和日志条目: