問題タブ [windows-clustering]
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.
powershell - フェールオーバー クラスターのディスク サイズ/空き領域を取得する Powershell コマンド?
Powershell を使用して、物理ディスク リソースのサイズと使用可能な領域を取得しようとしています。
このコードを 1 台の Windows Server 2008 R2 ボックス (監視サーバー) で実行し、同じドメインの 3 つのリモート クラスターでリソースをポーリングします。クラスターのうち 2 つは Windows Server 2008 R2 も実行していますが、1 つは Windows Server 2012 (x64) を実行しています。返されたデータは、監視アプリの一部としてデータベースに挿入されます。
現在、私が使用しているコードは次のとおりです。
「Get-ClusterResource | fc *」によって返されるデータには、物理ディスクのサイズや空き容量が含まれていないため、この情報を取得する方法がわかりません。返される情報は、すべてのクラスター リソースに共通です。例は、こちら(例 2) で確認できます。以下の例 3 はほぼ役に立ちましたが、ディスク サイズや空き容量は含まれていません。
この質問を確認しましたが、回答では WMI クエリが使用されています。これを試すと、あらゆる種類のセキュリティと互換性の問題が発生します。特に、監視アプリは純粋な PowerShell を使用して Exchange メールボックスのサイズと DFS レプリケーション バックログをチェックしているため、可能であれば単純な PowerShell に固執することをお勧めします。
クラスターの共有ボリュームにクエリを実行しようとしているわけではないことに注意してください。それらには独自の個別の PowerShell 機能があり、問題なく動作しています。それを機能させることができないのは、特に物理ディスクリソース用です。
物理ディスクは多くのリソース タイプの 1 つであることを理解しているため、一般的な Get-ClusterResource コマンドはディスク固有のものを返しません。ディスク容量/空き容量
任意の支援をいただければ幸いです、ありがとう
サム
Ansgar Wiechers のアップデート
あなたの目的は何ですか?すでに指定されているように、監視が必要な複数のシステムからデータを収集する一連の「データ コレクター」PowerShell スクリプトを作成し、このデータをデータベースに挿入して、アラートを提供し、履歴を保持し、監視機能を全般的に強化します。現在の監視ツールのスイートは、必要なものの 90% をカバーしていますが、いくつかの小さなことを見逃しているだけです。この方法を使用して修正したいと考えています。
CSV パラメータではなく物理ディスク パラメータが必要なのはなぜですか? クラスターで使用されるディスクの種類は CSV だけではないためです。例として、2 サーバー、7 インスタンス、31 ボリュームの SQL クラスターがあります。すべてのボリュームの空きディスク容量を監視することは必須です。理由は明らかだと思います。この監視は現在手動で行われており、履歴保持が不足しています
どの物理ディスクの? 私が指定するものは何でも。理想的なソリューションは、使用中の (つまり、「使用可能」ではない) クラスター ディスク リソースを監視できることです。SQL クラスターの DTC ボリュームやクォーラム ボリュームなどの「役に立たない」ディスクを監視するつもりはありませんが、監視することを選択した場合、これらを監視できない理由はありません。
また、クラスタ メンバーの物理ディスク情報を監視する代わりに、クラスタを介してこの情報を取得する必要があるのはなぜですか? SNMP MIB を介してこの情報の一部を取得することは可能ですが、情報の取得、解釈、および変換ははるかに困難です。これについて詳しく説明することはできますが、それでは質問の焦点がずれてしまいます。Powershell が私の好みの方法であると言えば十分です。
powershell - PowerShell の get-clusterresource コマンドレットから "c:"、"d:" などのドライブ文字を取得する方法を教えてください。
クラスター化されたディスクがいくつかあり、コマンドレット get-clusterresource からそれらを取得できるとします。
対応するドライブ文字を取得するにはどうすればよいですか? これらのディスクは、同じノード上にない場合があります。
get-clusterparameter コマンドレットを使用しようとしましたが、この情報が含まれていません。
ありがとう。
wmi - 奇妙なパフォーマンス データ インスタンス Volume1#1 - どういう意味ですか?
WMI を使用して Hyper-V クラスターを監視している場合、WMI パフォーマンス プロバイダーは、"Volume1#1" という名前のクラスター共有ボリューム インスタンスの追加のパフォーマンス データを 1 つ提供します。元のインスタンス「Volume1」は、最近のデータで更新されなくなりました。
これらの重複したインスタンスは何を意味しますか? さらにある場合、最近のデータが含まれているものをどのように判断すればよいですか?
sql-server - SQL クラスタ ノードを削除する
Server 2012 R2 マシンから SQL 2012 クラスター ノードを削除しようとしています。ただし、ウィンドウとクラスター自体は既に破棄されているため、ノードを削除しようとすると、検証でセットアップがエラーになります...
「ローカル コンピューターは Windows フェールオーバー クラスターのメンバーではありません」
と
「SQL Server フェールオーバー クラスター サービスがオンラインでないか、そのノードの 1 つからクラスターにアクセスできません。続行するには、クラスターがオンラインでない理由を特定し、セットアップを再実行してください。ルールがクラスター環境を検出できないため、ルールを再実行しないでください」 .
SQL クラスター ノードを強制的に削除する方法を知っている人はいますか?
sql-server-2008-r2 - 仮想マシンから SAN ディスク / LUN へのアクセスを取得します。出来ますか?
資力:
概要/目標: ネットワーク上に 2 つのノード/サーバーがあります。これらの 2 つのノード (node1 と node2) は、すべての仮想マシンをホストするために使用されるクラスター (cluster1) の一部です。関連する SAN (san1) には多くの LUN が作成されており、そのうちの 1 つ (lun1) は、仮想マシン (virtual1) 専用のすべてのデータを格納するために使用されます。最終的に lun1 が作成され、「storage」という名前が付けられ、仮想マシン「virtual1」がデータを保存してアクセスするために厳密に使用されます。
私が現在持っているもの:
質問: lun1 (ドライブ z) を起動して virtual1 からアクセスすることは可能ですか?
私が試したこと: node1のディスク管理にlun1別名driveZが表示されました。次に、それをリソースとしてクラスタ ストレージ領域に追加しました。私は2つの異なることをしようとしました。(1) クラスター共有ボリュームとして追加しようとしましたが、クラスター内でサービスとして作成されたにもかかわらず、仮想マシンではなく、クラスター メンバーのみが参照/アクセスできることに気付きました。(2) リソース (driveZ) を cluster1 内の仮想マシン (virtual1) に移動しようとしました。その後、仮想マシンの設定に入り、ドライブを SCSI ドライブとして追加し (lun1 @ 100GB を使用)、仮想マシン (virtual1) のディスク管理を更新しました。ドライブが表示され、ドライブ文字を割り当てることができ、フォーマットするかどうか尋ねられました...ドライブ上のすべてのデータはどうなりますか?? それはバストでしたか?とにかく、そこが私だ」
考え: はっきりさせておきますが、これはすべて atm をテストするためのものです... 本番環境のリソースの実際のサイズは大きく異なります。driveZ (lun1) をクラスター共有ボリュームとして追加してから、新しい Hyper-V 仮想 SCSI ドライブを追加することを考えていました (50G と言うので、後で物理/SAN ドライブのフルサイズである 100G に拡張することができます)。私のVMに。クラスター共有ボリューム「driveZ」内に固定 VHD (仮想ハードディスク) を格納します。現在テスト中ですが、懸念事項があります... 1) 非常に大きな VHD (約 7 TB) を作成しようとするとどうなりますか? 2) 固定ディスク VHD は何らかの方法で拡張できますか? 将来、新しい SAN 仮想ディスクを 7 TB よりも大きくする予定です...現在は 7 TB のままですが、いつか拡張する予定です...
c# - C# からホストされた Powershell、アクセス許可の質問、ドメイン ユーザーとして偽装
これが少し基本的なことであることはわかっていますが、誰かが私にこれを正してくれたら、永遠に感謝します.
- Hyper-V を実行している Windows 2012 R2 サーバーが多数あります。
- これらのサーバーでは、XML-RPC Web サービスが実行されます。この背後には、いくつかのホストされた Powershell があります。それは完全に機能します。
- ホストされた Powershell コードは、偽装によって実行されます。繰り返しますが、うまくいきます。
- これらのマシンは常にドメイン内にありますが、XML-RPC 認証は次のように機能します。
ドメインにピリオド (".") を使用しました。ユーザー名「管理者」を使用しました。「ローカル」管理者アカウントごとに個別のパスワードを使用しました。
最近、アプリケーションにクラスタリング機能を追加しました。これは、Microsoft の Powershell コマンドレットのラッパーの一部と、私自身のものです。dcos を正しく読んだ場合、クラスタリングはドメイン資格情報でのみ管理できます。Web サービスを単一の認証情報セットで実行したい (呼び出し元のアプリケーションが保存する必要がある詳細を簡素化するため)。
私は、次のように認証モデルを小刻みに動かすと仮定しました。
- Hyper-V ホストごとにドメイン ユーザーを用意します。
- このユーザーがローカル管理者グループおよび Hyper-V 管理者グループのメンバーであることを確認してください。
- これらのユーザーを「クラスター化された Hyper-V ホスト」グループに追加し、クラスタリング管理ツールを使用してこのグループに「クラスター化権限」を付与します。
私の問題:
- 微調整されたモデルを実行すると、コードが爆発して機能しなくなり、多くの認証エラーが発生し、レジストリにヒットして拒否されることがわかります。
- ホストを無作為に選択し、この新しいドメイン ユーザー (明確にするために、ローカル管理者グループのメンバー) でそれにログオンし、xml-rpc ラッパーを使用せずにコードを実行すると、多くの認証エラーが発生しました。 . このユーザーは、これらのアクセス許可を持っていても、管理者の資格情報を使用して実行していないようです。
- これらのユーザーは、完全なアクセス権を持っている必要がありますが、クラスタリングのアクセス許可も制限されているようです。
- 「test-cluster」コマンドを実行すると、実行しているホストに対する権限がないことがわかります。
ディレクトリが壊れていたり、実際のアクセスに問題があることは認めますが、おそらくこれがどのように機能するかについて、固有の誤解を持っている可能性があります。私は Linux のエンジニア兼プログラマーで、Windows について少し知っています。真の管理者アカウントとしてログオンしていないドメイン環境で、このコンテキストで UAC がどのように機能しているかについて少し混乱しています... Powershell ウィンドウを右クリックして管理者として「実行」すると、私のコードはすべてクラスタリングのものでさえ機能しているように見えます(ドキュメントを通じて、ローカル管理者として実行すべきではないと私は信じています)。
ここである種の標高の問題にぶつかっていますか?ドメイン ユーザーが何らかの操作を行うための「有効なアクセス許可」(この用語が混乱を招かないことを願っています) を持っている場合でも、なんらかの方法で昇格する必要がありますか?
どうもありがとう。
performance - クラスターを介したパフォーマンス カウンターへのアクセス
クラスター全体でパフォーマンス監視を利用できるようにする方法を見つけようとしていますが、クラスターのパフォーマンス カウンターにアクセスする方法以外に、検索中に何も見つからないようです。
状況は次のとおりです。これまで、MSMQ を単一のサーバーにセットアップし、次のように (ヘルス チェックの目的で) キュー カウントにアクセスしてきました。
ただし、(MachineName の代わりに) MSMQ クラスターのクライアント アクセス ポイント名を使用して同じことを実行しようとするとSystem.Management.ManagementException: Invalid Class
、パフォーマンス カウンターが使用できないことを示す が表示されます。方法がわからないため、クラスタを介してそれらを使用できるようにするために特別なことは何もしていないため、これは理にかなっています。
したがって、どのような方向性でも大歓迎です。私はこれについて何週間も頭を悩ませてきました。
EDIT : さて、もう少し調べてみました。クラスターに直接アクセスすると、テーブル/クラスが存在しますが、テーブルには行がまったくありません。
NetNameForPerfCountersレジストリ キーは見つかりましたが、アクティブ ノードで実行されている MSMQ インスタンスが 1 つしかなく、関連するすべてのサーバーが Windows Server 2008 (R2 だと思います) であるため、状況に適合していないように見えます。
それらを NetNameForPerfCounters reg キーに入れたいと思っていますが、どこに行くかを教えてくれるリソースが見つかりません。クライアント アクセス ポイントのレジストリに移動しますか (クライアント アクセス ポイントに regedit を接続できるため)。それはクラスターに行きますか?個々のマシンで?クライアント マシンで?(テストするためだけにどこにでも置くことができると思います。)
EDIT2 : NetNameForPerfCountersを試しましたが、うまくいきませんでした。実際に Microsoft のチームに問題を再現してもらったので、プレミア サポート ケースをオープンしました。これはバグとして製品チームに送られるはずです。連絡があり次第、結果を掲載します。