Windows上の16TBボリュームとSNMP


12

16TBを超えるボリュームがより一般的になるにつれて、SNMPの標準「HOST-RESOURCES」MIB内のディスクサイズと使用量を報告するために使用される32ビット値は、適切なディスクサイズを報告するほど大きくないことが認識されました。

Net-SNMPは、「AllocationUnits」の値を操作してディスク使用率の32ビット値を維持するだけでこの問題に対処しているようです(合計ディスクサイズ/使用量は32ビットスペース値に割り当て単位を掛けた値に等しいため) 8 / 16TBを超えるボリュームの計算用。割り当て単位にレポートの関心がなく、わずかな不正確さでも大丈夫だと仮定します。これはエレガントなソリューションのようです。

https://bugzilla.redhat.com/show_bug.cgi?id=654384

ただし、Windowsに組み込まれたSNMPサービスは、このエラーの影響を受け続けるため、使用/割り当てられたディスクスペースのモジュロを報告するだけで、不正確なディスクサイズレポートが発生します。

Windowsが16TBを超えるボリュームのディスク使用量を正しく報告できるようにする方法はありますか?Net-SNMP 5.5 x64をインストールし、Windows SNMPサービスを完全に無効にしようとしましたが、残念ながらこの問題は解決しませんでした。

NetSNMP拡張機能を使用する場合、関心のある特定のディスクについて収集する情報は次のとおりです。

ここに画像の説明を入力してください

これらの結果は、通常のWindows SNMPサービスまたはNetSNMPのどちらを使用していても同じです。

Cactiコミュニティの人々が、単にソリューションをスクリプト化することに言及しているのを見てきました。残念ながら、迅速かつ基本的なシステム監視のためにObserviumを使用しています。Window側で問題を修正できない場合、ObserviumでカスタムMIBを報告できますか?

- 更新 -

「realStorageUnits」をsnmpd.confファイルに追加するというバグレポートの記述を調べたところ、そのディレクティブを設定するときに次の問題が発生しました。

realStorageUnitsは私たちを助けます

- アップデート2 -

まあ、いじくり回した後、「realStorageUnits」ディレクティブのようなNet-SNMPのWindowsバージョンのようには見えません。ディレクティブを含めると、SNMPの開始時に警告が表示されます。バージョン5.5、5.6、および5.7で試しました。Windowsで16 TBを超えるボリュームをレポートするためにSNMPを取得する方法を考えたことのある人はいますか?


Net-SNMPDをインストールしても問題は解決しなかったと言います。AllocationUnitsを意図したとおりに調整しない、または実行に成功しなかったということですか?
アレクサンダーヤンセン

割り当て単位は変更されていないようです。サービスは正常に実行されましたが、最終的には、報告されている内容を変更するようには見えませんでした。ディスク値は依然として正しくなく、報告されるさまざまな値は以前と同じままでした。ただし、「SNMPサービス」が停止し、「Net-SNMPサービス」が開始されたことを確認できます。何か間違ったことを設定している可能性はありますか?
Univ426

ちょっとした補足的な注意として、テストのために非常に基本的なv2c "rwcommunity <string>"セットアップを使用してツリーを公開しています。
Univ426

まず、OID .1.3.6.1.4.1.2021.100.2.0を照会して、応答しているのが本当にNet-SNMPかどうかを確認できます。NET-SNMPと私の(Linux)のホストではそれができますSNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
アレクサンダー・ヤンセン

「UCD-SNMP-MIB :: versionTag.0 = STRING:5.5」と表示されますが、netSNMP 5.5はインストールしたバージョンです。NetSNMPオフにすると、Windows SNMPサービスをオンに、私は「UCD-SNMP-MIB :: verionTag.0 =いいえチエニルMIBビューに残って多くの変数」それはNetSNMPのように見えますが、間違いなく実行され得る
Univ426

回答:


2

少し前に、構成ファイルの新しいオプションを導入したNet-SNMP 5.5のパッチがありましrealStorageUnits

RedHatのバグ報告#748410

この問題[負のhrStorageSite値]に対処するため、このアップデートでは、/ etc / snmp / snmpd.conf構成ファイルrealStorageUnitsに新しいオプションが追加されます。このオプションの値を0に変更すると、ユーザーはhrStorageTableのすべての値の再計算を有効にして、hrStorageSizeとhrStorageAllocationUnitsの乗算で常に正確なデバイスサイズが生成されるようにすることができます。

([括弧]内のテキストは私のものです)

したがってrealStorageUnits 0、snmpd.confに構成ディレクティブを追加すると、問題が解決する場合があります。

ただし、最後のメガバイトまでは値が正しくありません。ymmv。

場合、私は言うことができないこのパッチは、 NET-SNMPのバイナリディストリビューションに含まれていますが、結果と何を使用しているバイナリを報告することができれば、それは素晴らしいことです。また、現在、適切なハードウェアの不足についてはテストしていません。


おかげでアレックス、以前に試してみました-残念ながら-残念ながら、次のエラーが表示されます-C:/usr/etc/snmp/snmpd.conf:行2:警告:不明なトークン:realStorageUnits。そのディレクティブはどこか、たとえば「rwcommunity private」のすぐ下にドロップされただけですか?
Univ426

ハハ、ええ、私は以前にその間違いを一度しました-私はダブルチェックしましたが、写真で私の質問を更新します。
Univ426

そのディレクティブを間違って書いている可能性はありますか?
Univ426

いいえ、それはよさそうです。申し訳ありませんが、私は今失われています。これを確認するためのWindowsのバージョンを備えた適切なマシンはありませんが、正直なところ、snmpd.confは少し「小さく」見えます。代わりにv2cのこの最小構成を試してください。それが役立つかどうかはわかりませんが、他のファンキーなものが発生しないことを確認します。そして、localnetディレクティブでネットワークを適合させます。
アレクサンダーヤンセン

Linuxの5.5で最小構成を使用すると、realStorageUnitsディレクティブで問題なく起動します。それでもうまくいかない場合は、使用しているNetSNMPバイナリにこの機能が含まれていないという明確な感覚があります。
アレクサンダーヤンセン

1

これはあなたの質問に対する直接的な答えではないことは知っていますが、おそらく役立つでしょう。SNMP Informantを作成しているチームに問い合わせてみることをお勧めします:http : //www.snmp-informant.com/

Windows SNMPエージェントを拡張して、OIDの一部に対するMicrosoftの制限を回避します。私はZenossでそれを使用して、より正確なCPU使用率とストレージ数を取得し、これが問題を回避する可能性は十分にありますが、確実に言うことはできません。


代わりに、WMIカウンターのクエリにも使用できます。
SpacemanSpiff

悪い考えではありませんが、私はこれに必ずします。理論上、Net-SNMPライブラリは同じことを行う必要がありますが、見かけのカスタマイズレベルが役立つ場合があります、ありがとう!
Univ426
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.