問題タブ [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.

0 投票する
2 に答える
870 参照

c# - C# および Powershell 3.0 オブジェクト

この質問を要約で紹介する方法に途方に暮れているので、説明ですぐに飛び込みます。

現在、さまざまな powershell コマンドの実行に依存する C# アプリケーションにいくつかの機能を実装しています。正確には、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 が必要であるためです。これで、オブジェクトを正常にキャストできます。

0 投票する
0 に答える
379 参照

windows - Windows Server バックアップ: 新しいディスクとバックアップ履歴の保持

Windows Server バックアップを使用して、Win Server 2008R2 で数年間バックアップを行ってきました。「ドライブ」は iSCSI 経由で接続され、正常に動作しています。さて、今私は新しい SAN デバイスを持っており、古い場所の代わりに iSCSI を使用してこれにバックアップしたいと考えています。ドライブをマウントする限り、すべて正常に動作しています。新しいドライブへの履歴? システムから古いドライブを完全に取り外し、新しいドライブのみを使用する必要があります。現在、これを行うことができますが、何年にもわたる増分バックアップの履歴を失うことなくこれを行う方法がわかりません。

両方のドライブをバックアップ スケジュールに追加すると、最初のドライブから 2 番目のドライブに履歴がコピーされますか? ありがとう!

0 投票する
1 に答える
155 参照

bash - iscsiadm からの 2 回目の実行後に bash スクリプトが予期せず停止する

iscsiadm stop / leave bash スクリプト、理由がわかりません。

スクリプト"

最初の実行では、2 回目の実行では問題なく動作します (iscsiadm の実行でエラーが発生しました)。「Hallo Welt」は一度も見たことがありません。理由がわかりません。

それに対する解決策はありますか?

0 投票する
1 に答える
1867 参照

linux - iscsidに強制的にターゲットを再接続させる方法は?

open-iscsi をインストールし、複数のターゲットにログインしています。デバイスがマウントされ、IO が実行されます。
しかし、イニシエータとターゲットの tcp 接続を切断し、強制的に iscsid でリカバリを実行して再接続したいと考えています。
これを行う方法?

tcpkill を使用して一部の tcp 接続を強制終了しました。iscsid はリカバリを実行し、ターゲットに再接続します。しかし、どの tcp 接続がどのターゲットに属しているかはわかりません。したがって、target1 に再接続したい場合は、target2 の tcp 接続を切断できます。
ターゲットへの tcp 接続を識別する方法は?

0 投票する
2 に答える
16918 参照

centos - iscsiadm 「ポータルが見つかりません」

Centos6 サーバーに iscsi ターゲットをインストールし、1 つのクライアント マシン (ネットワーク 192.168.95.x の Ubuntu 1304) で検出できる 1 つのターゲットを構成します。ただし、ターゲットをもう 1 つ追加して別のマシン (同じサブネット内の Centos5) から接続しようとすると、「ポータルが見つかりません」と表示されます。以下は設定のプリントアウトです。

192.168.180.88 の iscsi ターゲット

同じサブネットの iscsi イニシエーター (192.168.180.x - Centos5)

別のサブネットの iscsi イニシエーター (192.168.95.x - Ubuntu 1304)

ubuntu マシンでは、iscsi ターゲット サーバーで 1 つのターゲットしか見つかりませんでしたが、iscsi ターゲット サーバーでは、tgt-admin コマンドを使用して両方のターゲットを表示できます。間違って設定したものはありますか?

どうもありがとう!

ウィルソン

0 投票する
1 に答える
863 参照

windows - Windows CMD を使用して ISCSI ドライブを一覧表示しますか?

iscsi で接続されているすべてのドライブレターを一覧表示しようとしていますが、これを行う方法が見つからないようです。

これを使用して、古い 2k3 サーバーで ntbackup を使用してバックアップするドライブのリストを生成し、iscsi ドライブをスキップしています。

これは、Veeam を購入できるようになるまでの暫定的なものです。

どんな助けでも大歓迎です!

0 投票する
1 に答える
1902 参照

ubuntu - リモート マシンで readlink を実行する

リモート マシンに接続されている iSCSI デバイスを抽出したい

エラーが発生します:

しかし、もしそうなら

その後、正常に実行され、echo $DEVICEが得られsdaます。これをどのように実行すればよいですか。

0 投票する
0 に答える
773 参照

powershell - 多数の iSCSI ボリュームを列挙しています。非常に遅い。プログラムによるディスク番号の取得に問題がある

現在、Hyper-V 2012 R2 用のオーケストレーション ソフトウェアを作成しています。

オーケストレーション プラットフォームは全体として、Xen などの他のハイパーバイザーとも通信します。現在、新しい SAN ストレージの導入を進めています。ストレージ レベルにいくつかの望ましい機能が存在するため、すべてのハイパーバイザーで LUN から VM へのマッピングを使用したいと考えています。

Windows でこのボリュームの iSCSI 接続を管理する際に、実際に問題が発生しています。しかし、私が思っていた方法ではありません...

Windows と「たくさんの LUN」にスケーリングの問題があると聞いていましたが、自分で確認したいと思いました。他の人が言及した問題は見当たりません。たとえば、diskpart を介して 1 秒で 500 以上の LUN を列挙できます。「get-disk」を使用して、接続されているすべてのディスクを 1 秒以内に一覧表示できます。この問題は、iSCSI スケーリング自体に起因しています。

誰かが読む時間があれば、おそらく理由を明らかにすることができます...

iSCSI ターゲットへのプログラムによる接続に問題はありませんが、セッション情報 (他の情報を取得する必要がある) を取得しようとすると、実際に問題が発生するようです。

つまり、iSCSI ターゲットが接続された時点で受け取るディスク番号\アドレスを指定する方法はないようです (私が間違っていない限り)。への呼び出しを介して、WMI 経由で IQN から逆方向に作業できます。

100 以上の接続されたボリュームについて話し始めると、このクラスへの呼び出しが返されるまでに 10 分以上かかることがあります。次のようなものを使用して Powerhel 経由でテストすると、次のようになります。

...ボリュームの列挙の途中で動かなくなることがわかります。一時停止します。正確な数値は調べていませんが、追加のボリュームごとに、クエリが返されるまでの合計時間が約 3 ~ 4 (またはそれ以上) かかるようです。

少し奇妙になります。Windows 2012 には、組み込みの iSCSI コマンドがいくつかあります。接続された iSCSI ターゲット オブジェクトを 1 秒以内に取得できます

を使用して iSCSI 接続オブジェクトを取得できます

... 1 秒以内に完了します。これらは、何らかの方法で iSCSI セッション情報に関連している必要があります。

どのようにパッケージ化したとしても、Get-IscsiSession を呼び出すと、戻るまでに約 10 分かかります。

VM の設定ページを開くと、Hyper-VM マネージャー GUI も非常に遅くなります。おそらく、iSCSI セッションを介して可能なパススルー ディスクを列挙しているためです。これにも約10分かかります。

root/virtualisation の Msvm_DiskDrive へのクエリも、返されるまでに時間がかかります。

ここでも、diskpart、Get-Disk などはすべて数秒で返されます。システム上のすべての iSCSI ターゲットを 500 以上のターゲットで約 1 分で更新できます。それはそれで大変なことになると思いました。

それで、私は2つの質問があります。

まず、これでいいでしょうか?WMI 呼び出しが返される速度に影響を与える可能性のある何かを行っていることはありますか? WMI を高速化できますか?

次に、MSiSCSIInitiator_SessionClass 以外に、IQN からディスク番号を取得できる方法を思い付く人はいますか? これは私の問題の大部分を解決するかもしれません。おそらく、私が見逃したかもしれないこの情報への他のルートがあります。

乾杯。