この記事はopenSUSE Advent Calendar 2018 21日目の記事です.
こんにちは初めまして,v_7zrgu0 こと Harukaと申します.
今回はストレージに関する話題について.
サーバ運用の鉄則として,RAIDカードを用いない環境では使用者か監視,適切な時期にディスクを交換する必要があります.
WindowsにはCrystalDiskInfoと呼ばれるsmart値を使用した監視ソフトウェアが存在しますが,
実はLinux にも,CyazyDiskInfo と呼ばれるCrystalDiskInfoライクなソフトウェアがあります.
作者はDebian / ubuntu 系でのインストール法を紹介しているのですが,openSUSEでもインストール・実行ができたので軽く紹介します.
今回使用するバージョンはopenSUSE Leap 15.0 です.
haruka@SUSE-H55M:~> cat /etc/os-release NAME="openSUSE Leap" VERSION="15.0" ID="opensuse-leap" ID_LIKE="suse opensuse" VERSION_ID="15.0" PRETTY_NAME="openSUSE Leap 15.0" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:15.0" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" haruka@SUSE-H55M:~>
CyrazyDiskInfoでは
・ ncurses
・ libatasmart
計2つのライブラリが動作する上で必須となっています.
Debian系にインストールする場合,
sudo apt install libatasmart-dev libncurses5-dev libncursesw5-dev
となっているため,それっぽいライブラリをインストールしていきます.
まず,zypper search ncurses すると
S | 名前 | 概要 | 種類 --+--------------------------+----------------------------------------+----------------- | gambas3-gb-ncurses | The ncurses component for Gambas | パッケージ | libncurses5 | Terminal control library | パッケージ | libncurses5-32bit | Terminal control library | パッケージ i | libncurses6 | Terminal control library | パッケージ | libncurses6-32bit | Terminal control library | パッケージ | libyui-ncurses-devel | Libyui-ncurses ヘッダファイル | パッケージ | libyui-ncurses-doc | Libyui-ncurses ドキュメンテーション | パッケージ | libyui-ncurses-pkg | Libyui - yast2 package selector widg-> | ソースパッケージ | libyui-ncurses-pkg-devel | Libyui-ncurses-pkg ヘッダファイル | パッケージ | libyui-ncurses-pkg-doc | Libyui-ncurses-pkg ドキュメンテーシ -> | パッケージ | libyui-ncurses-pkg-doc | Libyui-ncurses-pkg ドキュメンテーシ -> | ソースパッケージ i | libyui-ncurses-pkg8 | Libyui - ncurses UI 向けの yast2 パ -> | パッケージ i | libyui-ncurses8 | Libyui - キャラクタベースのユーザイ-> | パッケージ | ncurses | Terminal control library | ソースパッケージ | ncurses-devel | Development files for the ncurses6 t-> | パッケージ | ncurses-devel-32bit | Development files for the ncurses6 t-> | パッケージ i | ncurses-utils | 新しい curses ライブラリを使用するツ-> | パッケージ | ncurses5-devel | Development files for the ncurses5 t-> | パッケージ | ncurses5-devel-32bit | Development files for the ncurses5 t-> | パッケージ
この中から,今回は libncurses5 ncurses5-devel を選択しました
また, zypper search libatasmart すると
S | 名前 | 概要 | 種類 --+-------------------+-----------------------------------------------------+----------- | libatasmart-devel | ATA S.M.A.R.T. ディスク健全性監視ライブラリ - 開 -> | パッケージ | libatasmart-utils | ATA S.M.A.R.T. ディスク健全性監視ライブラリ - ユ -> | パッケージ i | libatasmart4 | ATA S.M.A.R.T. ディスク健全性監視ライブラリ | パッケージ
この中から,今回は libatasmart-devel を選択しました
それぞれインストールします.
haruka@SUSE-H55M:~> sudo zypper install libncurses5 ncurses5-devel リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... パッケージの依存関係を解決しています... 以下 4 個の新しいパッケージをインストールします: libncurses5 ncurses-devel ncurses5-devel tack 以下 1 個のパッケージをアップグレードします: libncurses6 1 個のパッケージアップグレード, 4 個の新規. 全ダウンロードサイズ:10.9 MiB。すでにキャッシュ済み:0 B。 この操作を行うには、追加で 31.8 MiB の容量が必要です。 続行しますか? [y/n/...? すべてのオプションを表示] (y): y
haruka@SUSE-H55M:~> sudo zypper install libatasmart-devel [sudo] root のパスワード: リポジトリのデータを読み込んでいます... インストール済みのパッケージを読み込んでいます... パッケージの依存関係を解決しています... 以下 1 個の新しいパッケージをインストールします: libatasmart-devel 1 個の新規パッケージのインストール. 全ダウンロードサイズ:21.8 KiB。すでにキャッシュ済み:0 B。 この操作を行うには、追加で 43.5 KiB の容量が必要です。 続行しますか? [y/n/...? すべてのオプションを表示] (y): y
また,本ソフトは各自でコンパイルする必要があります.
コンパイルに必要なgcc や cmake ,
また openSUSEでc++ をコンパイルするために,gcc-c++ をインストールします
sudo zypper install cmake gcc gcc-c++ git
環境が整ったら,git してダウンロード,buidディレクトリを作成,コンパイルしてインストールします
git clone https://github.com/otakuto/CrazyDiskInfo.git cd CrazyDiskInfo/ mkdir build cd build cmake .. make && make install sudo crazy
するとソフトウェアが立ち上がるはずです.
複数ディスクを差している場合,左右矢印キーで移動・表示できます.