Translate

ラベル 小規模オフィスのLAN設定 の投稿を表示しています。 すべての投稿を表示
ラベル 小規模オフィスのLAN設定 の投稿を表示しています。 すべての投稿を表示

2016年9月4日日曜日

HDD温度のグラフ化 その4)Windowsクライアントへのインストール(つづき その2)

こんにちは、稲田商会です。

前回では、クライアントのWindows7(64bit)にNET-SNMPをインストールしました。
今回は、NET-SNMPで配信される情報にHDDの温度を含めます。

◎Windows7(64bit)クライアントの設定(つづき その2)

○S.M.A.R.T.情報の加工
SmartMonToolsで取得したS.M.A.R.T.情報のうち必要な部分を切り出します。

1)busyboxのダウンロード、インストール
データの加工にawk、grepなどのコマンドが使えると便利なのと、linuxのshスクリプトが使えるようになるので、busyboxを使えるようにします。
(1)ファイルのダウンロード
下記URLを開いて下の方にあるリンクから「busybox.exe」をダウンロードします。

URL: http://frippery.org/busybox/

サイトのトップ。下の方にダウンロードのリンクがある。

「busybox.exe」のリンクをクリックするとダウンロードする。

(2)データの展開
ダウンロード後、PATHの通った位置に配置します。
今回はNet-SNMPのある、"C:\usr\bin"に配置します。
> move .\busybox.exe C:\usr\bin\busybox.exe
2)データの切り出し
S.M.A.R.T.情報のうち、温度データは"Temperature_Cel"のある行で、温度情報は10列目の値です。
今回はgrepで"Temperature_Cel"のある行を抽出、awkで10列目の値を抽出します。
> busybox sh #busyboxのシェルに移行
$ smartctl -A /dev/sda #S.M.A.R.T.情報の取得
smartctl 6.5 2016-05-07 r4318 [x86_64-w64-mingw32-win7-sp1] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
Warning: Limited functionality due to missing admin rights
Read SMART Thresholds failed: Function not implemented
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_
FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   ---    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   096   096   ---    Old_age   Always       -       19774
 12 Power_Cycle_Count       0x0032   098   098   ---    Old_age   Always       -       1037
177 Wear_Leveling_Count     0x0013   087   087   ---    Pre-fail  Always       -       455
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   ---    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   ---    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   ---    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   ---    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   068   057   ---    Old_age   Always       -       32
195 Hardware_ECC_Recovered  0x001a   200   200   ---    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x003e   253   253   ---    Old_age   Always       -       0
235 Unknown_Attribute       0x0012   099   099   ---    Old_age   Always       -       164
241 Total_LBAs_Written      0x0032   099   099   ---    Old_age   Always       -       15529401389
$ smartctl -A /dev/sda | grep "Temperature_Cel" #温度該当行の抽出
190 Airflow_Temperature_Cel 0x0032   068   057   ---    Old_age   Always       -       32
$ smartctl -A /dev/sda | grep "Temperature_Cel" | awk '{print $10}' #温度情報の抽出
32
$ exit #シェルの終了
> #windowsのプロンプト
上手く出来ました。

3)スクリプトによるコマンド化
一連の動きをスクリプトにまとめてコマンド化します。
今回は"c:\usr\bin"に"smart2value.sh"を作成します。内容は次の通りです。
"C:/Program Files/smartmontools/bin/smartctl.exe" -A $1 | grep 'Temperature' | awk '{print $10}'
ここで、注意しないといけないのは、smartctl.exeをフルパスで書いていることです。
実は当初は"smartctl -A ..."と書いていたのですが、Net-SNMPから呼んだときに上手く動きませんでした。
今回SmartMonToolsでインストールしてこの場所にあるので、上記のフルパスで良いと思いますが、
> busybox sh #busyboxのシェルに移行
$ which smartctl #smartctlの場所確認
C:/Program Files/smartmontools/bin/smartctl.exe #smartctlの場所
などとして確認しておいてください。

実行してみると、
> busybox sh smart2value.sh /dev/sda
35
正しく動作しました。

○NET-SNMPへの組み込み

NET-SNMPには、snmpd.confに"extend"書式で記述した内容をsnmpとして配信する機能があります。

参考URL: Net-SNMPで外部コマンドの結果を返すときに、そのMIBを固定したいの ((ひ)めも)
参考URL: http://www.net-snmp.org/docs/man/snmpd.conf.html

書式:
extend [MIBIOD] name prog arg
※nameは配信する際の名称(OIDに変換)、progは実行するプログラム名、argはプログラムへの引数。

例:
extend Temp_sda /usr/local/bin/smart_snmp.sh /dev/sda
※"Temp_sda"の名前で、"/usr/local/bin/smart_snmp.sh /dev/sda"を実行した結果を配信する。

これをWindowsでもやってみます。

1)snmpd.confの編集
c:\usr\etc\snmp\snmpd.confをテキストエディタで開き、編集します。
編集箇所
 編集前
###############################################################################
# Further Information
#
# See the snmpd.conf manual page, and the output of "snmpd -H".
# MUCH more can be done with the snmpd.conf than is shown as an
# example here.
編集後
###############################################################################
# Further Information
#
# See the snmpd.conf manual page, and the output of "snmpd -H".
# MUCH more can be done with the snmpd.conf than is shown as an
# example here.

extend Temp_sda c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh  /dev/sda
 編集内容
   Temp_sdaの名前でスクリプトの実行結果をSNMPで配信する。

注意してほしいのは、progに当たる部分
c:\\usr\\bin\\busybox.exe
では"\"はそのままではエスケープ文字になるので、"\\"と重ねる必要があるのに対し、argに当たる部分
sh c:\usr\bin\smart2value.sh  /dev/sda
では"\"は重ねる必要がないことです。

2)有効化
snmpd.confの変更を有効にするには、Net-SNMPのサービスを再起動してやる必要があります。

(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を右クリックし、「管理者として実行」を選択。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「再起動」を選択。

3)実行テスト
 コマンドプロンプトを開いて、snmpwalkでの取得を試みます。
>snmpwalk -v1 -c public localhost #localhostのSNMP取得
SNMPv2-MIB::sysDescr.0 = STRING: Windows ti7-PC 6.1.7601 Service Pack 1  Home Ed
ition Intel64 Family 6 Model 58 Stepping 9
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60931) 0:10:09.31
SNMPv2-MIB::sysContact.0 = STRING: Administrator <admin@example.jp>
SNMPv2-MIB::sysName.0 = STRING: ti7-PC
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
(省略)
SNMPv2-MIB::snmpSilentDrops.0 = Counter32: 0
SNMPv2-MIB::snmpProxyDrops.0 = Counter32: 0
次にextendで追加した部分のsnmpwalkでの取得を試みます。
> snmpwalk -v1 -c public localhost NET-SNMP-EXTEND-MIB::nsExtendObjects #extend部分のSNMP取得
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sda" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sda" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sda" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sda" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sda" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sda" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sda" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sda" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sda" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sda" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34

>

次の箇所でHDDの温度値が取得できました。
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34

SNMPでデータを取得する際にはOIDの方が便利なことが多いのでOIDを調べておきます。
OIDを調べるにはオプションに"-O n"を指定します。
> snmpwalk -v1 -c public -O n localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.97 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.97 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.97 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.97 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.97 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.97 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.97 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.97 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.97 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.97 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
>
次のOIDでHDDの温度値が取得できました。
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
以上の結果から、私はOIDを次のように考えています。
先頭の「.1.3.6.1.4.1.8072.1.3.2」がNET-SNMP-EXTEND-MIB::nsExtendObjectsで配信されるデータであることを表しています。
また、末尾の「84.101.109.112.95.115.100.97」はASCIIコードで"Temp_sda"ですので、snmpd.confのextendで指定したnameに当たる文字が入っています。

さて、データが増えた場合OIDはどうなるのでしょうか。
例えば、snmpd.confを
extend Temp_sda c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh /dev/sda
extend Temp_sdb c:\\usr\\bin\\busybox.exe sh c:\usr\bin\smart2value.sh /dev/sdb
として、snmpを取得した場合
> snmpwalk -v1 -c public localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 2
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sda" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendCommand."Temp_sdb" = STRING: c:\usr\bin\busybox.exe
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sda" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendArgs."Temp_sdb" = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sda" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendInput."Temp_sdb" = STRING:
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sda" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendCacheTime."Temp_sdb" = INTEGER: 5
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sda" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendExecType."Temp_sdb" = INTEGER: exec(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sda" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendRunType."Temp_sdb" = INTEGER: run-on-read(1)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sda" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStorage."Temp_sdb" = INTEGER: permanent(4)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sda" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendStatus."Temp_sdb" = INTEGER: active(1)
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."Temp_sdb" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sda" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."Temp_sdb" = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sda" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."Temp_sdb" = INTEGER: 1
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sda" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendResult."Temp_sdb" = INTEGER: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sda".1 = STRING: 34
NET-SNMP-EXTEND-MIB::nsExtendOutLine."Temp_sdb".1 = STRING: 34
> snmpwalk -v1 -c public -O n localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 2
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.97 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.2.8.84.101.109.112.95.115.100.98 = STRING: c:\usr\bin\busybox.exe
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.97 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.3.8.84.101.109.112.95.115.100.98 = STRING: sh c:\usr\bin\smart2value.sh /dev/sda
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.97 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.4.8.84.101.109.112.95.115.100.98 = STRING:
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.97 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.5.8.84.101.109.112.95.115.100.98 = INTEGER: 5
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.97 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.6.8.84.101.109.112.95.115.100.98 = INTEGER: exec(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.97 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.7.8.84.101.109.112.95.115.100.98 = INTEGER: run-on-read(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.97 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.20.8.84.101.109.112.95.115.100.98 = INTEGER: permanent(4)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.97 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.2.1.21.8.84.101.109.112.95.115.100.98 = INTEGER: active(1)
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.1.8.84.101.109.112.95.115.100.98 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.97 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.84.101.109.112.95.115.100.98 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.97 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.3.8.84.101.109.112.95.115.100.98 = INTEGER: 1
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.97 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.3.1.4.8.84.101.109.112.95.115.100.98 = INTEGER: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.97.1 = STRING: 34
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.84.101.109.112.95.115.100.98.1 = STRING: 34
となり、extendをいくら増やしてもOIDは変わらず、nameの文字列のみで一意に決まることがわかります。
 これから、extendのnameでOIDを固定することが出来ること、またextendの追加では変化しないことがわかります。

それでは、今回はこのへんで。

2016年9月3日土曜日

HDD温度のグラフ化 その3)Windowsクライアントへのインストール(つづき)

 こんにちは、稲田商会です。

 前回では、クライアントのWindows7(64bit)にSmartMonToolsをインストールしました。
 今回は、NET-SNMPをインストールする作業について記します。

◎Windows7(64bit)クライアントの設定(つづき)

○NET-SNMPのインストール

 次のサイトを参考にインストールします。

URL: 【フリーツール】【Win】SNMP関連のツール ~NET-SNMP編 ~(プログラム の個人的なメモ)

1)ダウンロード
 SourceForgeから「net-snmp-5.5.0-2.x64.exe」をダウンロードします。

URL: http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=162885
(上記URLで開いて、5.5-binariesをクリックすると表示されます。)

2)インストール
 ファイルを実行して、ウィザードのままインストールします。
 標準の設定から変更点はありません。



3)設定ファイルの編集
 設定ファイルの雛形がHelpに入っているので、それを取り出します。

(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Net-SNMP Help]を選択。
(2)[検索タブ]-[キーワード]に"config"を指定。
(3)[トピック]の"EXAMPLEWin32"をダブルクリックし、表示内容を全てコピー。
EXAMPLEWin32で表示される内容。全文をコピーする。

(4)テキストエディタに貼り付け、[C:\usr\etc\snmp\snmpd.conf]として保存。
(5)テキストエディタで先ほどのsnmpd.confを開き、編集後保存する。
 編集箇所1
  編集前
 com2sec local localhost COMMUNITY
 com2sec mynetwork NETWORK/24 COMMUNITY
編集後
 com2sec local localhost public
 com2sec mynetwork 192.168.0.0/24 public
  編集内容
   snmpwalkなどでアクセスする際のコミュニティ名をpublicに指定する。
   LAN内のアドレスからの要求を受け入れる。(アドレス範囲は適宜変更)

 編集箇所2
  編集前
 syscontact Me <me@somewhere.org>
編集後
 syscontact Administrator <admin@example.jp>
  編集内容
   snmpwalkなどで表示されるコンタクト先を変更

4)Windowsサービスの登録と開始
snmpdをWindowsサービスとして登録し開始させます。
 もし、snmpd.confファイルの内容を変更した場合は、Windowsサービスを再起動して設定変更を反映させてください。

(1)[スタート]-[すべてのプログラム]-[Net-SNMP]-[Service]-[Register Agent Service]を右クリックし、「管理者として実行」を選択。
(2)[スタート]-[コントロールパネル]-[管理ツール]-[サービス]を開く。
(3)名前が"Net-SNMP Agent"の行を右クリックし「開始」を選択。


4)実行テスト
 コマンドプロンプトを開いて、snmpwalkでの取得を試みます。

>snmpwalk -v1 -c public localhost #localhostのSNMP取得
SNMPv2-MIB::sysDescr.0 = STRING: Windows ti7-PC 6.1.7601 Service Pack 1  Home Ed
ition Intel64 Family 6 Model 58 Stepping 9
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::org
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60931) 0:10:09.31
SNMPv2-MIB::sysContact.0 = STRING: Administrator <admin@example.jp>
SNMPv2-MIB::sysName.0 = STRING: ti7-PC
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
(省略)
SNMPv2-MIB::snmpSilentDrops.0 = Counter32: 0
SNMPv2-MIB::snmpProxyDrops.0 = Counter32: 0

 snmpが取得出来たので、snmpdが動いていること、snmpのツールが正しく動作することが確認できました。

 それでは、今回はこのへんで。

HDD温度のグラフ化 その2)Windowsクライアントへのインストール

 こんにちは、稲田商会です。

 前回では、方針や環境、使用するソフトなどを書きました。
 今回は、クライアントであるWindows7(64bit)にインストールする作業について記します。

◎Windows7(64bit)クライアントの設定

○SmartMonToolsのインストール

 次のサイトを参考にインストールします。

URL: Windowsでsmartmontoolsを使ってHDD診断(bnote.net)

1)ダウンロード
 SourceForgeから「smartmontools-6.5-1.win32-setup.exe」をダウンロードします。

URL: https://sourceforge.net/projects/smartmontools/files/?source=navbar

2)インストール
 ファイルを実行して、ウィザードのままインストールします。
 標準の設定から変更点はありません。


3)実行テスト
 SmartMonToolsは特に設定はありませんので、実行してみます。

>smartctl --scan #デバイスの一覧 
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/sdd -d scsi # /dev/sdd, SCSI device
/dev/sde -d scsi # /dev/sde, SCSI device

 実行したPCはHDD(というかSSD)は/dev/sdaの一つだけなので、それの情報を取得します。

>smartctl -A /dev/sda #デバイスの情報取得 
smartctl 6.5 2016-05-07 r4318 [x86_64-w64-mingw32-win7-sp1] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_
FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -
       0
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -
       19759
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -
       1037
177 Wear_Leveling_Count     0x0013   087   087   000    Pre-fail  Always       -
       455
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -
       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -
       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -
       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -
       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -
       0
190 Airflow_Temperature_Cel 0x0032   064   057   000    Old_age   Always       -
       36
195 Hardware_ECC_Recovered  0x001a   200   200   000    Old_age   Always       -
       0
199 UDMA_CRC_Error_Count    0x003e   253   253   000    Old_age   Always       -
       0
235 Unknown_Attribute       0x0012   099   099   000    Old_age   Always       -
       164
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -
       15517816000
無事、S.M.A.R.T.情報が取得できました。

 それでは、今回はこのへんで。

HDD温度のグラフ化 その1)準備

 こんにちは、稲田商会です。

 LAN上の複数のPCでHDDの温度をグラフとして可視化し、管理したいと思い、ネットで調べて次のような作業手順を考えました。

1.S.M.A.R.T.情報でHDDの温度を取得
2.SNMPでLAN内で情報を取得
3.サーバでSNMP情報をグラフ化して管理

 HDD情報の取得でS.M.A.R.T情報を使用するのは、個人使用のPCでは収集出来るケースが多いと考えたからです。
 また、SNMPによって情報を通信することで、HDD温度以外の情報にも対応可能と考えられます。
 以下、試行錯誤で作業した結果を備忘録的に纏めます。

◎作業方針
1)情報収集先のPCはWindows、Linuxに対応出来るようにする
 私の環境では、HDDを収集するPCのOSは、Windows、Linuxがあります。
 これを出来るだけ同じように取り扱えるようにします。

2)出来るだけ標準的なツール、設定を使用する
 標準的に使用されているツールを用い、標準的な設定の範囲で行うことで、メンテナンスや移植がし易いようにします。

 ネットで調べた結果、使用するツールは次のとおりとします。

○SmartMonTools
 S.M.A.R.T情報の取得に使用します。
 CentOSでは標準で入っているか、yumでインストール出来ます。
# yum install -y smartmontools

 WindowsではSourceForgeからダウンロード出来ます。
URL: https://sourceforge.net/projects/smartmontools/files/?source=navbar

 2016/09/03にダウンロードした時には、「smartmontools-6.5-1.win32-setup.exe」が最新版で、Windows7(64bit)にインストールしたところ、64bitとしてインストールされました。

○NET-SNMP
 SNMPの取得ツールとサーバを一括でインストールできます。
 CentOSでは、標準で入っているか、yumでインストール出来ます。
# yum install -y net-snmp net-snmp-utils
WindowsではSourceForgeからダウンロード出来ます。
URL: https://sourceforge.net/projects/net-snmp/files/net-snmp%20binaries/

 2016/09/03にダウンロードした時には、「net-snmp-5.6.1.1-1.x86.exe」が最新版でした。
 ただし、これは32bit版であり、Windows7(64bit)にインストールしようとすると、インストールウィザードで警告が出ます。
 64bit版では、「net-snmp-5.5.0-2.x64.exe」が一番新しいようでした。

○cacti
 SNMPで取得したデータをグラフ化するのに使用します。
 CentOS7ではyumでインストールできます。
# yum install -y cacti
cactiの実行には、Apache、PHP、MySQL(MariaDB)が必要なので、環境によっては同時にインストールされます。


3)対象環境
 次の環境を対象とします。

クライアント
 Windows7(64bit)
 WindowsXP(32bit)
 CentOS7(64bit)

サーバ
 CentOS7(64bit)

 次回以降は、インストール作業および設定作業を行います。

 それでは、今回はこのへんで。

2015年4月26日日曜日

ブログ記事「社内LAN撲滅運動 – ISO27001(ISMS)認証を取得しました」を読んで

 こんにちは、稲田商会です。

 読んで面白かったので。

社内LAN撲滅運動 – ISO27001(ISMS)認証を取得しました(大石蔵人之助の雲をつかむような話)
2012年12月28日(金)
こんにちは、大石です。
当社は、2012年12月3日付けで情報セキュリティマネジメントシステム(ISO /IEC 27001:2005/JIS Q 27001:2006)の認証を取得いたしました。※適用範囲は東京本社となります
(中略)
ここまでは非常に一般的な「よくある話」ですが、私たちがISMS認証を取得したことにはもう一つ大きな意味があります。それは「これだけクラウド化が進んだ環境でも、ISMS認証が取れる!」ということです。
私たちの会社にはサーバーが2台しかありません。
  1台はActiveDirectory のドメインコントローラー
  もう1台は社内IP電話用のAsteriskサーバー
この2台です。
そしてこの2台、移行の目処は立ちつつあります。
ADについては、既にOneLoginを使ってシングルサインオンを実現しているので、ID統合のみに使うのであればAWS側に移行しても問題在りません。端末もMacが増えているので、グループポリシー適用のためにADを使うよりも、そうした端末ポリシーの適用は、スマートフォンも含めてポリシーが適用できるMDM側で実施する方向に倒しています(事例はこちら)。
Asteriskについては、SIPサーバーを社内におかなくても手元のスマートフォンを内線子機として利用できるサービスが提供されていますので、そうしたサービスへの移行を進めているところです。
そして、この2台のサーバーが無くなると、何が起こるか・・・?
社内LANが無くなるのです!
(後略) 
出典:大石蔵人之助の雲をつかむような話

2015年2月27日金曜日

すこしドキッとしました

 こんにちは、稲田商会です。

 ホームページを設置していて、そこにメールフォームを付けていたんですが、そこからメールが飛んできてメールの内容にすこしドキッとしました。

 メール本文は日本語ではなく、どうもクラック目的のような感じだったのです。
 一応サニタイズはしていたので問題は無かったと思うのですが、恐いですね。
 各ページを1秒づつ移動しながらそんな操作をしているので、おそらくツールで自動的にしているんでしょう。

 昨日はどう検証すれば安全だろうかと考えてました。
 昨日の16時くらいと19時くらいにきた後はもう来ていないようですから、もう大丈夫かな?

 きっとこの週末は、その対策に追われることになると思われます。
 はあ、憂鬱です。

 それでは、今回はこのへんで。

2015年2月22日日曜日

ノートン、更新時に障害発生

 こんにちは、稲田商会です。

 身近なところで起きた障害ですので、ご注意ください。

ノートン更新で障害 IE起動せず セキュリティー対策ソフト(東京新聞)
2015年2月22日 朝刊
 情報セキュリティー大手シマンテックは二十一日、パソコン用セキュリティー対策ソフト「ノートン」を、同日付の最新バージョンに更新すると、米マイクロソフトのブラウザー(閲覧ソフト)「インターネット・エクスプローラー(IE)」が起動しなくなる障害を一部で確認したと発表した。
 シマンテックは原因を調査している。同社の日本法人は、短文投稿サイト「ツイッター」で、「アップデートを実行すれば(問題は)解消される」と対処法を示した。 
(後略) 
出典:東京新聞

2014年12月26日金曜日

IPAとJPCERT/CCが年末年始に向けて注意喚起

 こんにちは、稲田商会です。

 ああ、年末なんですね。

年末年始の長期休暇を控え、セキュリティ対策の徹底を~IPAとJPCERT/CCが注意喚起(INTERNETwatch)
(2014/12/25 14:36)
 年末年始の長期休暇を控え、独立行政法人情報処理推進機構(IPA)と一般社団法人JPCERTコーディネーションセンター(JPCERT/CC)では、年末年始におけるセキュリティ対策のまとめと注意喚起を公表した。
 年末年始の長期期間中は、ウイルス感染や情報漏えいなどの問題発生に気付きにくく、発見が遅れる可能性がある。IPAとJPCERT/CCでは、企業などのシステム管理者と一般ユーザー、家庭での利用者、スマートフォンやタブレットの利用者向けに、それぞれ注意すべき点や対策をまとめている。
 システム管理者向けの対策としては、不測の事態が発生した場合に備えた緊急連絡体制の整備や、サーバーおよびクライアントOSの最新版へのアップデート、業務用PCなどの持ち出しルールの徹底、アクセス権限の再確認などを呼び掛けている。
 企業など組織内の一般ユーザーに対しては、休暇明けにPCのOSやソフトを最新版にアップデートするとともに、セキュリティソフトの定義ファイルを最新版にしてからメールやウェブを利用すること、休暇中に持ち出したPCやUSBメモリなどのウイルスチェックを行うことを呼び掛けている。また、特定の企業や組織を装ってウイルスメールを送りつける「標的型攻撃メール」が横行しているため、もっともらしいメールでも安易に添付ファイルを開いたり、リンクをクリックしないよう注意している。
 家庭での利用者に対しては、インターネットバンキングの利用者を狙った攻撃が相次いでいるため、PCのOSやソフトを最新の状態にアップデートして利用するとともに、インターネットバンキングで通常とは異なる画面が表示されたり、乱数表などの第二認証情報を「すべて」入力させようとする画面などが表示された場合には、情報を入力せず、サービス提供元に電話などで確認するよう呼び掛けている。 
(後略)

脆弱性あるサーバにパッチを当てるのは5割

 こんにちは、稲田商会です。

 えー、そんなに低いんですか?

脆弱性のあるサーバにパッチ適用は5割--「時間がかかる」のが課題(ZDNet Japan)
2014年12月25日 17時45分
 トレンドマイクロは12月24日、企業で運用されている業務用サーバに対する脆弱性対策の実態やその課題などを調べた「企業におけるサーバ脆弱性対策に関する実態調査 2014」の結果を発表した。企業のサーバ運用に関わるIT管理者515人を対象にした。
業務用サーバで脆弱性が確認され、更新プログラムが提供されている場合、必ず更新プログラムを適用していますか?(単一回答、n=515)(トレンドマイクロ提供)
 サーバの脆弱性に対する更新プログラムが提供された際に、必ず更新プログラムを適用しているかという質問に対する回答は上のグラフの通り。「脆弱性が確認された全サーバに対して更新プログラムを適用している」と回答したのは50.3%のみで、残りの約半数は脆弱性の確認されたサーバに対する更新プログラムの対応が十分にできていないという結果となった。
 更新プログラムの適用に関する課題を見ると「時間がかかる」との回答者が全体の69.9%にも上った。その理由を複数回答で質問したところ、「計画的にサーバを停止させる必要があるため」(31.5%)、「検証期間に時間がかかるため」(29.3%)、「作業スケジュールを確保するのが困難なため」(27.2%)といった回答が挙げられている(下図)。
更新プログラム適用に時間がかかるのは何故ですか?該当する課題を全て選んでください。(複数回答、n=360)(トレンドマイクロ提供)
更新プログラムの適用に要する平均期間を質問すると「1週間程度」と答えた回答者は54.5%、「半月程度」が8.5%、「1か月以上」が20.0%と、8割以上の回答者が更新プログラムの適用までに約1週間以上の期間を要していることが分かる。 
(後略)

2014年12月23日火曜日

【業務連絡】ntpdサービスに脆弱性、可能であればアップデートを

 こんにちは、稲田商会です。

 使っている方は、お気をお付けください。
 記事の末尾に【業務連絡】があります。

時刻同期サービス「ntpd」に重大脆弱性、細工パケット一撃でサーバー乗っ取りも(ITpro)
2014/12/22
  情報処理推進機構(IPA)とJPCERTコーディネーションセンター(JPCERT/CC)が共同で運営する脆弱性関連情報ポータルサイト「JVN(Japan Valnerability Notes)」は2014年12月22日、IT機器の時刻合わせに広く使われているサーバーソフト(デーモン)の「Network Time Protocol daemon(ntpd)」に複数の脆弱性が見つかったことを伝えた。発見された脆弱性の中には、不正に細工されたNTPパケットを一つ受け取るだけで、サーバーがいきなり乗っ取られる危険性があるものも含まれている。
 見つかった脆弱性は四つ。(1)設定ファイルntp.conf中でauth keyを設定していない場合に、暗号強度が低いデフォルト鍵が生成される問題、(2)古いバージョンのntp-keygenが、弱いシード値を使って乱数を発生し、これを基に暗号強度の低い対称鍵を生成する問題、(3)crypto_recv()など三つの関数に、パケット処理に関するバッファオーバーフローの脆弱性が存在する問題(autokey認証利用時)、(4)特定のエラー処理を行うコードに不備があり、エラー発生時に処理が停止しない問題---である。
 NTPサーバーの管理者が特に注意すべきは(3)のバッファオーバーフローの脆弱性だろう。同脆弱性を突かれると、ntpdを動作させているユーザーの権限で任意のコマンドを実行される危険がある。もしntpdをroot権限で動作させていればシステム上で任意のコマンドを実行される。制限されたユーザー権限(ntpユーザーなど)で動かしている場合でも、Linuxカーネルでつい最近も見つかった権限昇格の脆弱性などを狙われることで、サーバーを乗っ取られる危険性がある。 
(後略)

2014年12月10日水曜日

DNSソフトに脆弱性

 こんにちは、稲田商会です。

 お心あたりの方、システム管理者の方はご確認ください。

「BIND 9」「Unbound」「PowerDNS Recursor」全バージョンなどに大きな脆弱性(INTERNETwatch)
(2014/12/9 20:25)
 複数のDNSソフトにおける重大な脆弱性が公表されたとして、株式会社日本レジストリサービス(JPRS)が9日、緊急の技術情報を出した。現時点で、「BIND 9」「Unbound」「PowerDNS Recursor」それぞれの全バージョンで影響を受けることが判明している。
 JPRSでは該当ソフトの運用者に対して、関連情報の収集やソフトのバージョンアップなどの対応をとるよう強く推奨している。特にBIND 9については、開発元のISC(Internet Systems Consortium)が一時的な回避策は存在しないと発表し、ソフトの更新を呼び掛けているとしている。
 これらのほかにも、フルリゾルバーの機能を持つDNSソフトはこの脆弱性の対象となり得るとしており、他のDNSソフトを運用している場合も各リリース元からの情報を確認するよう呼び掛けている。 
(後略)

2014年12月8日月曜日

IDC、WindowsServer2003サポート終了対応の資料発表

 こんにちは、稲田商会です。

 2015年7月に終了だそうです。

IDC、Windows Server 2003サポート終了対応に関する調査結果を発表(マイナビニュース)
[2014/12/06]
IDC Japanは12月4日、国内におけるWindows Server 2003サポート終了対応に関する調査結果を発表した。これによると、2014年末のWindows Server 2003採用x86サーバの設置台数は、2013年末の36万4000台(国内のWindows採用x86サーバ全体の22.3%)から15万4000台減少して、21万台(同13.1%)になる見込み。
2014年10月に実施した調査では、Windows Server 2003サポート終了への対応として「Windows Server2012を搭載したサーバを新たに購入する」が4割以上を占め、次いで「Windows Server 2003以外のOSを採用している導入済みサーバに載せ換える」が2割強だった。
用途としては、Windows Server 2003採用サーバ管理者の67.7%がファイルサーバとして稼働していると回答しており、これに、「電子メール/イントラ/情報共有システム」(24.0%)、「Webサイト」(18.6%)と続いた。 
(後略)

2014年11月7日金曜日

2014年11月1日土曜日

2014年9月25日木曜日

バージョンの異なるMySQLのレプリケーションは気を付けましょう(その1)

 こんにちは、稲田商会です。

 昨日のことでしたが、苦労しました。

 XAMPPで動いているMySQLをレプリケーションしようとしたんです。
 始めにWindows7で動いている、同じXAMPPを入れたものは簡単にレプリケーションが出来ました。
 同じ調子で、WindowsXPに入れたXAMPPのMySQLをレプリケーションのスレーブとして追加しようとしてはまりました。

 正確な環境は覚えていないのですが、大体次のようだったと思います。

対象機器:
PC1(レプリケーションマスター)
 Windows7、Xampp1.8.3、MySQL5.5

PC2(レプリケーションスレーブ)
 Windows7、Xampp1.8.3、MySQL5.6

PC3(これからレプリケーションスレーブに加える)
 WindowsXP、Xampp1.8.2、MySQL5.5

作業前の状況:
 PC1とPC2のレプリケーションは成功。
 PC1にPC3をレプリケーションスレーブとする作業を行う予定。

症状1: データの移動が出来ない。
 PC1でレプリケーション用のデータをとり、PC2で展開したデータがPC3ではエラーになる。

PC1>mysqldump.exe -u root -p --all-databases --lock-all-tables >C:\db\dbdump.db
PC2>mysql.exe -u root -p <C:\db\dbdump.db   --- OK
PC3>mysql.exe -u root -p <C:\db\dbdump.db   --- NG

 こんな感じのエラーが出てきます。

ERROR 1064 (42000) at line XXX: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'STATS_PERSISTENT=0' at line XX

 調べると、STATS_PERSISTENTがMySQLの5.5では対応していないパラメータで、削除すれば上手く行くとのこと。
(参考URL FAT47の底辺インフラ議事録)

 ですが、今のdbファイルでは内容がさっぱり判らない。
 で、mysqldump.exeをググってみると、「-a」オプションでテキスト形式の出力が可能とのこと。

PC1>mysqldump.exe -u root -p --all-databases --lock-all-tables -a >C:\db\dbdump2.sql
STATS_PERSISTENT=0 -> /*STATS_PERSISTENT=0*/ とコメントアウト
PC3>mysql.exe -u root -p <C:\db\dbdump2rev.sql   --- OK

 さて、データが写ったのでレプリケーション開始。

PC3_mysql>start slave;   --- NG

 あちゃー。

 続きは、また今度。

それでは、今回はこのへんで。

2014年4月21日月曜日

77年前の借り

 こんにちは、稲田商会です。

 そんな前のでも問題になるんですね。

中国の裁判所 商船三井の運搬船を差し押さえ(NHK)
中国・上海の裁判所は、日中戦争の前後に中国の船会社の関係者が日本の船会社に船を貸した際の賃貸料が未払いだとして、賠償を求めていた裁判で、敗訴した日本の商船三井が賠償に応じていないとして、商船三井の大型の鉄鉱石運搬船を浙江省の港で差し押さえたと発表しました。 
(後略)

2014年1月31日金曜日

壊れたハードディスクの修理について

 こんばんは、稲田商会です。

 先日、以前勤めていた会社の上司に当たる方から電話がありました。
 その方の会社でハードディスクが壊れたのだけれどどうしたものか、とのことでした。
 お手伝いしたい気持ちはあるのですが、私が触ることによって会社のハードディスクをさらに悪化させる可能性が出てくるため、「私が触って上手く行くのは1~2割、失敗するのは8~9割」とお話ししたところ、「お金を出して業者に頼む」ことになったようです。

 ハードディスクの不調となった場合、私のような“パソコンにやや詳しい”程度の技術を持つものはどんなことが出来るでしょうか。
 今回は、これについてすこし考えてみます。


 ハードディスクの復旧作業は、修理作業などと同じで次のことが肝要だと考えます。
  • 現在の状況を理解し、問題個所の切り分けを確実丁寧に行う。
  • 作業内容の意味と影響範囲、発生しうる状況を理解した上で作業する。
  • 状況の大幅な変化が生じうる場合、それについての利害関係者の間で一定の合意を得て作業する。(とくに金額的負担が発生する場合の決裁者の判断は重要。)

 ハードディスクのトラブルは、次にあげる項目で分類することになると思います。
  • 筺体(HDD以外のハードウェア)のトラブルか
  • 接続形態は内臓か、USBか、LAN経由か
  • OSはWindowsか、Linuxか、それ以外か
  • RAIDは掛かっているか、その種類は何か
  • RAID内のHDD不良でHDD交換で状況が変化するか
  • フォーマットはOSの標準的なものか、メーカーの独自ファイルシステムか

 以上の項目をフロー形式にして対策方法を検討してみます。


○STEP1: 筺体(HDD以外のハードウェア)のトラブルか

・YESの場合 → 代替え筺体を準備して、動作確認
 HDD以外のものが壊れることは珍しいのであまりないですが、「マイネットワークに無い」とか「管理ツールに反応しない」となると、その機器の筺体部分がおかしい可能性があります。
 この場合、HDD以外の部分の要因を潰しておく必要があります。
 もし代替え筺体が準備できない場合はプロに頼んだ方がよいと思います。

・NOの場合 → STEP2へ


○STEP2: 接続形態は内臓・USBか、LAN経由か

内臓 or USBの場合 → STEP4へ
 内臓またはUSBならば、基本的に個人PCのWindowsからのアクセスになるので、特に問題なく作業出来ます。

LAN経由の場合 → STEP3へ
 LAN経由の場合、ディスプレイやキーボードなどが接続されていないサーバやNASでの作業と考えられますので、作業環境を確認する必要があります。


○STEP3: OSはWindowsか、Linuxか、それ以外か

Windowsの場合 → リモートデスクトップもしくは直接操作を行う → STEP6へ
 WindowsOSのサーバ、NASなら、直接筺体の前で操作してもいいですが、リモートデスクトップによるログインが、自分の席から操作できるのでお勧めです。

Linuxの場合 → コマンドコンソールでRoot権限でログインし操作を行う → STEP6へ
 LinuxOSをOSとする場合、廉価版と思われるので、ディスプレイ出力が無いことが多いと思います。
 まず、マニュアルかググるかしてログイン方法を確認した上で、自分のPCにTelnetかSSHのクライアントソフトをインストールしログインすることになります。
 ログインの方法自体はマニュアルかどこかのHPに書いてあるのですが、ログインされると不正なことをされる可能性があることから、初期設定ではログインできないようにされている可能性が高いと考えられます。
 出来れば普段からログインする操作を練習しておくのがいいと思います。

それ以外の場合 → 自力復旧は諦めて業者へ
 Windows、Linux以外のOSを採用している場合、メーカー的な何かの事情があるものと考えられます。
 インターネット上の情報の少なさ、メーカーの事情などを鑑みると素人が手を出すのは危険であると思われ、自力復旧を断念した方がいいでしょう。


○STEP4: RAIDは掛かっているか、種類は何か

RAID0の場合 → 自力復旧は諦めて業者へ
 RAID0は冗長性が無いので、HDD一台の異常による情報の欠落がそのまますべてのHDDの情報の欠落になり、素人での復旧は無理です。

RAID1、RAID0+1の場合 → 異常HDDを取り外す → STEP5へ
 RAID1は、同じ内容のHDDを用意することで冗長性を確保しているので、不良HDDが発生したとしても問題無い筈ですが、何か問題があるようなら、とりあえず不良HDDを外してみる操作を試みてみるのがよいと思います。

RAID5、RAID6の場合 → 異常HDDを新規HDDに入れ替える → STEP5へ
 RAID5、RAID6は、情報とそのパリティを分割して各HDDに保存することで冗長性を確保しているので、情報とパリティの一部が欠損しても復旧出来たり、そのまま運用出来たりします。
 ただ、RAID5では同時に2台以上、RAID6では同時に3台以上の不良HDD発生によって、RAIDが構成できなくなり読み書きが出来なくなる状況が出てきます。
 RAIDの種類と不良HDD台数については確認しておく必要があります。
 特にRAID5は、1台の不良HDD発生で復旧作業に取り掛かり、作業中にさらにもう一台不良HDDが発生するとすべてのデータが失われる可能性もあるので、可能ならRAID6を選択してください。

メーカー独自仕様のRAIDの場合 → 異常HDDを新規HDDに入れ替える → STEP5へ
 メーカー独自仕様のRAIDの場合、詳細はメーカー資料を参照することになります。
 とりあえず、不良HDDの交換による復旧を試みるしかないと考えます。


○STEP5: RAID内のHDD不良でHDD交換で状況が変化するか

ファイルにアクセス可能 → 作業完了

ドライブとして認識可能だがファイルにアクセス不可能 → STEP6へ
 RAIDは複数のHDDを組み合わせて、単一のHDDに見せかけるものと言えます。
 逆に、ドライブとして見えてもファイルシステムが破損している場合は、ファイルにアクセス出来ないことになります。
 確実にチェックをしていくようにしてください。

ドライブとして認識不可能 → 自力復旧は諦めて業者へ
 RAIDのHDD入れ替え以上の作業は、素人では不可能だと思います。
 ドライブとして認識出来ないなら、素直に諦めるべきです。


○STEP6: フォーマットはOSの標準的なものか、メーカーの独自ファイルシステムか

OSの標準的なファイルシステム → ファイルシステムの復旧作業
 Windowsであれば、FAT、FAT32、NTFSになるかと思います。
 修復には、例えばchkdskコマンドでファイルシステムの復旧を試みます。

参考サイト:
  「chkdsk」と修復オプション

 Linuxであれば、ext3、ext4になるかと思います。
 修復には、例えばfsckコマンドでファイルシステムの復旧を試みます。

参考サイト:
  Linuxコマンド集 - 【 fsck 】

メーカーの独自ファイルシステム → マニュアル確認の上で作業(不明の場合は業者へ)
 メーカー独自のファイルシステムを採用する事例は、ごく少ないと思いますが、その場合には情報がごく限られたものになるので、ググるなどでの情報収集方法が効きにくくなります。
 マニュアルの記述内容を確認した上で、作業を実施してください。
 記述内容などがよくわからない場合は、粘ってもいい方向に進まないので業者に任せた方がいいです。

ファイルシステムが一般的でないまたは不明の場合 → 自力復旧は諦めて業者へ
 一般的でないファイルシステムやファイルシステム自体が不明の場合、他との類推で作業するのは非常に危険です。
 素直に諦めるべきです。


 以上の復旧作業で、復旧出来ないなら業者に頼むようにするべきです。
 ハードディスク修復を謳う業者のサイトは多数あり、玉石混淆の可能性もありますので、業者選定は慎重に行ってください。
(私は今まで業者に依頼したことが無いので、お勧めの業者などはありません。)

参考サイト:
  ロジテックデータ復旧技術センター
  データ復旧のオントラック

 最後に、“精神論”ですが、不安に思いながら作業すると失敗することが多いと思います。
 なにか方針を決めたら“必ず成功する”と信じて作業してください。
 ただし、作業後に状態の確認をする場合は確実なところから少しづつ進めるようにし、“絶対失敗していないはず”などの思い込みで判断するのは避けるべきです。

 それでは、今回はこのへんで。

2014年1月23日木曜日

LAN内に設置する機器でお薦めのもの(その2)

LAN内に設置する機器でお薦めのもの(その2)

こんばんは、稲田商会です。

 先日投稿した記事「LAN内に設置する機器でお薦めのもの」の続きとなります。

サーバ(ソフトウェア):

○CentOS(無料)

WikipediaのCentOSから引用します。
CentOS(セントオーエス)は、Red Hat Enterprise Linux(以下「RHEL」と呼ぶ)との完全互換を目指したフリーのLinuxディストリビューションである。
「RHEL」は、サーバのLinuxOSとしては標準的なもので有料のサポートが付随するOSです。
 そのRHELと完全互換でありながら無料のOSがCentOSになります。
 CentOSは無料である分、判らないことは自分で解決する必要がありますが、インターネット上に色々と情報があるので、検索すれば答えやヒントが出てきます。
 とにかく無料でサーバを動かし、CPUパワーの必要が無いことという条件にはぴったりです。
 CentOSには「rpm」というパッケージ管理ソフトがありますので、WebサーバのApacheやDBサーバのMySQLなどが簡単にインストールすることが出来ます。
 サーバのことをするならLinux系OSの情報が多いと思いますので、CentOSをインストールされることをお薦めします。

該当製品(プロジェクトHP、英語): http://www.centos.org/

○Cacti(無料)

 WikipediaのCactiから引用します。
CactiはWebベースのネットワーク監視及びグラフ生成用オープンソースソフトウェアである。 指定間隔でポーリングし得られたデータをグラフ化する機能があり、一般的にCPUの負荷やネットワーク帯域利用幅などの時系列データを測定するために使用される。 一般的な使用法としては、Simple Network Management Protocol (SNMP) を介したスイッチングハブまたはルーターのポーリングによるトラフィック量の監視がある。
SNMP(情報を収集する場合の標準的なプロトコル)を介して情報を収集し、グラフ化してくれるツールです。
 CentOSの上で動くソフトウェアで、rpmで簡単にインストールできます。
 使ったことの無い方には「それが何の役に立つの?」と言われますが、管理する立場で使用すると「とにかくCactiを動かして情報を集めましょう」と言いたくなるソフトです。
 記事「オフィスにある情報機器の概要(その2)」でも以下のように書いたとおりです。
 監視ツールは、小規模のオフィスではあまり必要性が無いと思われるかもしれませんが、監視ツールでファイルサーバの容量やデータの流量、CPU使用率などを監視しておくと、「あと○○ヶ月でファイルサーバが一杯になる」とか「あそこの部署でデータが多く作成されているから、ファイルサーバの割り当てを変更しよう」とか「CPU使用率が高いのでファイルサーバを更新しましょう」とか、定量的な議論が出来る様になります。

ネットワーク機器:

○APC RS400 (UPS(無停電電源装置))

UPS(無停電電源装置)は、色々な会社が出していますが、標準的なのがAPC(会社名)のものになります。
 ただ、最近APCが買収されたようで“シュナイダーエレクトリック”と言う会社名となっています。(製品等の使用はそのままのようです。)
 ある程度以上の出力のタイプでは、USBで本体と接続して、UPSが稼働出来る時間があと何分とかの情報を伝えたり、停電状態になったことを伝えたりしてくれる機能があり、PC用のUPS監視ソフトPowerChuteが同梱されているものもあったかと記憶していますが、有料かもしれません。
 前回記事のNETGEARのNASのシリーズなら、UPSとNASをUSBで繋ぐだけでOKだと思います。
 購入する際には、稼働させる機器の消費電力とバッテリー稼働時間に応じてタイプを選択してください。
 特にバッテリー稼働時間は、「NASなどがシャットダウンするまでの時間だけ持てばよい」のか「短時間の停電程度の稼働は対応出来る」のかBCPなどと関係するので責任者などと確認し合意した上で話を進めた方がいいです。

該当製品(Amazon): http://www.amazon.co.jp/APC-RS-400%E9%9B%BB%E6%BA%90%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-400VA-BR400G-JP/dp/B002GK2PQY/ref=sr_1_1?ie=UTF8&qid=1390314756&sr=8-1&keywords=apc+ups

○Netgear GS108T(スイッチングハブ)

ただのハブではなく、VLAN機能やポートとランキング、SNMPをサポートしているスイッチで低価格の製品です。
 「SNMPによるポート毎のデータ流量の監視」を目的とした場合、とても安価な方法になります。
 CPUを持ち、IPアドレスを使ってアクセスするので、スイッチ用にIPアドレスを用意するか、DHCPで取得出来るようにしておく必要があります。
 機器へのアクセスはウェブブラウザで出来ますが、内容は英語のみになります。

該当製品(Amazon): http://www.amazon.co.jp/NETGEAR-%E3%80%90%E6%9C%AC%E4%BD%93%E3%83%A9%E3%82%A4%E3%83%95%E3%82%BF%E3%82%A4%E3%83%A0%E4%BF%9D%E8%A8%BC%E3%80%918%E3%83%9D%E3%83%BC%E3%83%88-PoE%E5%8F%97%E9%9B%BB%E5%AF%BE%E5%BF%9C-%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-GS108T-200JPS/dp/B003QTZN3G/ref=sr_1_1?ie=UTF8&qid=1390315763&sr=8-1&keywords=netgear+gs108t

○YAMAHA RTX810(ギガアクセスVPNルータ)

ルータでよく使われているYAMAHAのルータです。
 セキュリティ的にしっかりしているので、使っていて安心です。(勿論変な設定をすると“危険”になります。)
 以前、YAMAHAのルータで、速度の点から古いものから新しいものへ置き換える作業をしたのですが、YAMAHAのルータの設定は、機器固有の部分などを除いて基本的に継承されており、ほとんど手間無く作業出来たので、互換性、継続性の面でも安心です。

該当製品(Amazon): http://www.amazon.co.jp/%E3%83%A4%E3%83%9E%E3%83%8F-YAMAHA-RTX810-%E3%82%AE%E3%82%AC%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9VPN%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC/dp/B005TC9B7M/ref=sr_1_6?ie=UTF8&qid=1390317372&sr=8-6&keywords=yamaha+rtx1200

○SANWASUPPLY 19インチラックマウントボックス

サーバやルータ、NASなどを設置する際に適当なキャビネットです。
 値段は高いですが、ラックマウント型のサーバを購入しても大丈夫な点と、耐荷重100kgと軽い人なら上に乗っても大丈夫なので、踏み台に出来る点でお薦めです。
 あと、特殊な形状の鍵もついていますので、セキュリティの向上にも繋がります。
 実物を見るとしっかりとした作りをしていて、(鉄板はロッカーなどより分厚いと思います)安心感、高級感があります。
 夏場用に出来れば低速静音型ファンを取り付けることが望ましいです。

該当商品(メーカーHP): http://www.sanwa.co.jp/product/syohin.asp?code=CP-103

 

2014年1月20日月曜日

LAN内に設置する機器でお薦めするもの

LAN内に設置する機器でお薦めするもの

こんばんは、稲田商会です。

 先日までの記事では、LANの機器の概要について記事にしたりしていますが、実際にどの程度の機器を話しているのかを明らかにしていませんでした。
 今回は、各機器についてお薦めするものを具体的に記してみようと思います。
 ここでの“お薦め”の意味は、私が以前に触ったりなどして、問題無く使用でき、操作性などがよかったものを指しています。(決して、同等他社製品と比べて優れているとの意味ではありません。)
 それなので、参考程度に見て頂ければと思います。

社員個人PC(ハードウェア):

 特にありません。
 個人PCは、業務内容に対して十分なCPU能力、メモリ容量、ビデオカード性能があれば後はソフトを入れれば良いだけです。
 技術的な仕事をされる方には、是非ともビデオカードを入れてあげてください。
 どんなに高いPCを買っても大体3年したら型遅れで、5年したらそろそろ故障か能力不足の可能性があることを考えると、そんなに高価なものを買うより、必要に応じてどんどん入れ替える方が良いと思います。

社員個人PC(ソフトウェア):

○MS Office

 オフィスソフトで今までの蓄積があるなら、MS Officeが必要でしょう。
 そうでもないなら、Open Officeなど無料のOfficeソフトでも良いかもしれません。

○CADソフト

 図面を扱うところなら、取引先との関係で特定のソフトウェアが必要になることと思います。
 出来れば、ネットワークライセンスなどサーバでライセンスを管理し、ライセンス数を少しでも減らすことを目指すと良いと思います。

○FujiXerox DocuWorks(有料)

 ADOBE Acrobatと同じ様に、印刷イメージをファイル化(独自のxdwファイル形式)するソフトです。
 使ってみると、Excelで作成したページとWordで作成したページをくっつけて並べ替え、一つのファイル(ソフト内では“バインダ”と呼びます)に出来るので、色々なソフトの出力をまとめて報告書にする場合などに非常に重宝します。
 さらには、PDFのような印刷イメージにオリジナルのファイルを添付して一つのファイルに出来るので、「こちらではきちんと打ち出せます。そちらのプリンタの設定と思われます。」などの話が出来ます。
 ビューワは無料で配布されているので、相手先にビューワを渡して見て貰うことが出来るのも良いです。

○Google Chrome(無料)

 ブラウザでInternet Explorer(IE)は、どうしてもセキュリティ的に弱いイメージがあるので、Google Chromeを使うことをお薦めします。
 ただし、IE用に作成されたホームページなどでは、一部正しく動かないことなどがあるので、パソコンスキルの低い人のPCにはインストールしない方が良いでしょう。


○Thunderbird(無料)

 私はメールは手元(PC内)にある方が良いと思うので、メール用のソフトをインストールしています。
 Thunderbirdは年度毎にフォルダに分けるなどしたら、添付ファイルで8Gバイトくらいに総データ量が膨らんでも実用的な速度で検索を行ってくれました。


○ESETパーソナルセキュリティ(有料)

 セキュリティソフトは、Symantecでも、VirusBusterでも、Kasperskyでも良いんですが、私はESETが好きで使っています。


○PuTTY(無料)

 サーバにCUIでログインするときに使うソフトです。
 軽いので、遠隔地のサーバにアクセスする場合もあまり気になりません。

該当製品(英語ページ): http://www.chiark.greenend.org.uk/~sgtatham/putty/

○RealVNC Viewer(無料)

 サーバにGUIでログインするときに使うソフトです。
 サーバの設定を自分の席から出来るので便利です。
 他の方の個人PCにRealVNCServerをいれておくと、画面を遠隔操作出来ますが、「勝手に動かさないで」と怒られます。



サーバ(ハードウェア):

○NETGEAR RN51662E

 NAS(Network Attached Strage)で使ったことがあり、内部がよく判ったハードウェアでした。(実際はこれの前の製品で、この商品は触っていません。)
 UPSをUSBポートに繋ぐと自動で認識してくれるのはとても良かったです。
 出来ればRAID6相当(同時にHDD2台が故障しても復旧出来る)としたいのでSATAのHDD6スロット以上あるモデルをお薦めします。

該当商品(メーカーHP): http://www.netgear.jp/products/details/RN51662E.html

○NECサーバ

 どこのメーカーのサーバーでも良いのですが、なんとなくNECを選んで使ってます。
 型遅れの10万円以下のサーバでも十分それなりに動くので、問題無いと思います。
 後述するようにOSはCentOSを入れるので、気になる方は動作確認情報を確認した上で購入してください。

該当製品(メーカHP): http://club.express.nec.co.jp/store/tokka/index.html


 すこし長くなったので、つづきは改めて投稿します。

2014年1月19日日曜日

小規模オフィスのLAN構築

 こんにちは、稲田商会です。

 本題に入る前に、少し雑談をします。
 いま考えている今後の投稿内容は、次のように進めたいと考えています。
  • (新規またはレイアウト変更時などに)小規模オフィスのLANを構築するときのこと
  • LANの(最低限の状態での)運用を開始した後に設定するときのこと
  • 運用が安定しだして、管理上の効率化や、新規のサービス提供をしたいときのこと
 ただ、記事を書いているときに思いついたことがあれば、予定から外れていくことがあるかもしれません。

 では、以下本題です。

小規模オフィスのLAN構築

 小規模オフィスで、新規に、またはレイアウト変更時等にLANを構築するときのことを書きます。

構築前の準備

 事前に準備したいのは、オフィスの平面図です。
 平面図には、次のことを書き込んでおきましょう。
  • 個人PCを配置する机の位置、使用する社員の所属、役職
  • 電源コンセントの位置、口数、系統(どの配電盤のどのブレーカに接続されているか)、アースの有無(アース付きコンセントか否か)
  • (LANケーブルが壁内配線など固定の場合)LANケーブルの取り出し口の位置、本数、固定配線の結線状態
  • 各機器の概略位置、消費電力
 机の配置に所属、役職の情報を付け加えるのは、ファイルのアクセス権限などを制限する際に、LANケーブルの系統単位で処理出来る可能性があることと、ケーブルを繋ぎ変えるなどの際の影響範囲を明らかにするためです。

 電源コンセントは、壁内配線の系統を明らかにしておくと、複合機のような消費電力の大きなところにPCをたくさん繋いでブレーカが落ちる事態を防ぐことと、電源にノイズが乗るなど異常が発生した場合に影響範囲の確認が可能となることになります。
 また、アースはファイルサーバなど重要機器には是非とも必要ですし、UPSの電圧レベリング機能を利用するには必要となります。もし、オフィスに無いなら(重要機器設置位置だけでも)導入することを検討してみてください。

 LANケーブルは、小規模オフィスでは床にそのまま配線することが多いでしょうが、壁内配線の固定配線がある場合には結線状態(どことどこが繋がっているか、どこで枝分かれしているか)を確認しておくと、固定配線の破損などがあった場合問題の切り分けが出来ます。

 各機器の概略位置、消費電力は、コンセント当たり、系統当たりの合計消費電力のチェック、を行うためです。
 平面図の例はこのようになるでしょうか。


配線、結線

 ある程度机の位置などが定まったら、平面図上で、LANケーブルの配線とハブによる分岐位置、電源延長タップの配置を決めます。
 LANケーブルの分岐位置は、後で機器が追加されたときに対応出来るか、ハブが故障したときに作業出来るかなどを考えて決めます。
 延長タップは、アース付のものもあるので、サーバなど重要機器やUPS用にはそれを使用してください。
 確認として、LANケーブルで“閉じた輪”や未接続箇所が出来ていないか、電源延長タップでぶら下がっている機器で消費電力合計が許容量を超えていないかをチェックします。
 小規模のオフィスでは、電源コンセントは近くに無いことが多いと思いますので、延長タップの取り回しは重要だと思います。

 時間的余裕がある場合には、ケーブルの両端にインシュロックなどでタグを付け、ケーブルの区別がつくようにすることが望ましいです。

 配線、結線が終わったら、まず電源を同時に入れてブレーカが落ちないことを確認してください。つぎに、インターネットが見えるかどうかなどLANの結線状態を確認してください。
 同時に電源を入れることで一番負荷の掛かった状態になるので、その状態でブレーカが落ちないならほぼ大丈夫と言えます。

 また、配線の状態を平面図に書き加え、電気配線図、LAN配線図として整理しておくと後で配線を変更する際の参考になります。
 併せてLANの結線構造や電気配線の系統を漫画的にまとめた図も作成しておくと、理解し易くなります。

 電気配線図と電気配線系統図の例です。


 LAN配線図とLAN結線構造図の例です。
 

IPアドレス、インターネットの設定

 最近のLANではTCP/IPでの通信となるでしょうから、IPアドレスの設定が必要です。
 個人PCについてはDHCPの自動取得が面倒が無くて良いと思います。
 複合機、サーバについてはきちんとIPアドレスを設定する必要があります。
 LAN内ですからIPv6にする必要はないと思います。(私としてはIPv6をチャレンジしたかったのですが、他の人に止められました。)
 個人PCの設定ではPCの名前をきちんと重複しないようにしてください。
 注意としては、Windows7機のXPモードは、PC内で仮想マシンとしてXPが動くので2台のPCが同時にあるようになるので、IPアドレスの重複やPC名称の重複が発生する可能性があります。

 インターネットの設定はブロードバンドルータに対して行いますが、VPNを貼るので無ければ設定ウィザードに沿って行うと出来ると思います。
 個人PCから直接PPPoEなどで接続する設定が残っていないか確認しておかないと、繋がらないと文句の出る可能性があるので注意してください。

 以上で、とりあえずLANが動き、個人PCからインターネットが見えるので、“仕事が出来る”状態になったと思います。
 ファイルサーバについて触れていませんが、外付けのハードディスクとしてなら稼働しているものと思います。
 今回の投稿は、とりあえずここまでとさせてください。