Solarisシステムがディスク上のすべての情報を取得する方法はありますか?

Solarisシステムがディスク上のすべての情報を取得する方法はありますか?

現在進行中のプロジェクトでは、総容量、フォームファクタ、SSDまたはHDD、RPM、インターフェイスタイプなど、システムにインストールされているすべての情報をインポートする必要があります。

たくさん検索しましたが、これを行うコマンドを見つけることができます。比較すると、Windowsには私の要件を満たすいくつかのアプリケーションがあることがわかりました。彼らはどうしたのですか?

注目を集めるために、Linuxにも同様のことがありますか?

これら2つのオペレーティングシステムは主にサーバーで使用されるため、コンピュータはハードウェア情報よりもハードウェア情報がより重要な役割を果たす必要があると思います。

答え1

diskinfoSolaris 11を使用している場合は、新しいコマンドがユーザーの要件を満たしていることを確認することをお勧めします。

私はSolaris 8でほとんどの情報を得るためにカーネルを照会できることを知っています。 sysinternalsの本にデータを得るためのCコード(? - 10年前のメモリ損失)の本もあると考えてみてください。

ハードウェアによっては、ILOMまたはXSCFからこのデータを取得できます。 Ops Centerの使用を検討することもできます。

答え2

問題は、ディスクがこの情報を共有する意図があるかどうかです。調べるならSCSIプロトコル、これは多くの情報を提供しません。これに関連する3つの主要なコマンドは次のとおりです。

  • 読書能力おそらく自明でしょう。ブロック数を提供します。
  • 尋ねるベンダー名、シリアル番号などを提供します。
  • ログ検出おそらく最も興味深いのは、現在の温度、使用統計など、さまざまなディスク関連情報ページを提供することです。ただし、多くのページがディスクでサポートされていません。

これら3つのコマンドは、下位レベルのコマンドを使用して実行できます。sg3_utilsしたがってsg_readcapsg_inqコマンドを使用してくださいsg_logs。このパッケージはLinuxで提供され、Solaris 11.2+に付属しています。

しかし、実際のディスクを提供できるものを見ると、sg_logsそれほど多くないことがわかります。

root@calypso-sparc31:~# sg_logs -p 0x0 /dev/rdsk/c0t5000CCA01248AAE0d0s2
    HITACHI   H106060SDSUN600G  A2B0
Supported log pages:
    0x00        Supported log pages
    0x02        Error counters (write)
    0x03        Error counters (read)
    0x05        Error counters (verify)
    0x06        Non-medium errors
    0x0d        Temperature
    0x0e        Start-stop cycle counter
    0x0f        Application client
    0x10        Self-test results
    0x15        Background scan results (sbc-3)
    0x18        Protocol specific port
    0x1a        Power condition transition
    0x2f        Informational exceptions (SMART)
    0x30        Performance counters (Hitachi)
    0x37        Cache (Seagate), Miscellaneous (Hitachi)

また、ディスクがRAIDコントローラ(LSIなど)またはストレージサーバーの背後にある場合は、何も取得できません。

これはSCSIでのみ機能します。 ATAプロトコルファミリはまったく異なる獣です。

関連情報