月別アーカイブ: 12月 2013

HDDのバスタブ曲線と我が家のHDDたち

 装置の寿命指標としてよく言われるのがバスタブ曲線。

 初期不良率等で最初故障率が高く、安定稼働を開始すると故障率が下がり、寿命末期に故障率が上昇する形がバスタブに似ているから付いているやつ。 最近、データセンターのレポートとかを見ても、実際にバスタブ曲線を描いていて、通常のHDD装置は導入から3ヶ月を超えると故障率が下がり、3年を過ぎると故障率が上昇するらしい。

 まぁ、確かにSASじゃないHDDの上位モデル(NAS用とか)はだいたい3年のRMA保証が付いているから、3年過ぎたら買い換えたほうが安心という事なんだろうな。

 我が家の現在のストレージは、3TBドライブ4台のRAID5構成NASが2台、3TBドライブ8台のRAID5構成PCサーバが1台、3TBドライブ15台RAID6構成PCサーバが1台ある状態だけど、結構故障が発生する。

rack1
※我が家のサブシステムのラック
上から
Alliedtelesis GS916M 16ポートGbEインテリスイッチ(予備設置)
DELL PowerVault TL2000 LTO4 オートローダ
HP Proliant DL360G6 Xeon E5405サーバ
DELL PowerVault MD1000 SAS15台エンクロージャ
DL360G6に増設したASR5805からローダーとエンクロージャにそれぞれ繋いでいる。

 NASの1台はWD Red、1台はSeagate Barracudaで組んだんだけど、Barracudaは2年で2台(18ヶ月、21ヶ月)交換、Redは1年3ヶ月無交換で稼働。
 8台のサーバはWD Greenで2年で2台(12ヶ月、17ヶ月)交換、15台のサーバはWD Redで1年3ヶ月で1台(3ヶ月)交換している。

 やはり、この結果を見ると長時間稼働用途そうでないドライブでは、数を入れた場合には寿命差が大きい感じがするね。 特に、BarracudaとGreenなんて通常では安定期の故障だし。
 空調設定もしているし、PCサーバ2台はOMRON常時インバータUPS噛ませてるし、NAS2台も一応ラインインタラクティブのSmartUPS噛ませてるから環境的にはやばくないはず。
 まぁ、Red導入している機体はまだ稼働時間短いから、今後どうなるかわからないところではあるかな。

 来年は熱アシスト記憶等の新技術実用化の期待も高まり、再来年まで待てば3.5インチで10TBとかも見えてくるとは思うんだけど、来年はヘリウム充填以外では5~6TBの熱アシストが期待されるところかな。
 まぁ、先日12ベイのエンクロージャを調達したんで、状況次第では4TB*12のRAID6を追加してしのぐかもしれないけど、出来ればシングルドライブ6TBあたりに順次リプレースできればいいな。 RAID構成を組んでいれば、ホットでディスク差し替えて予防保守交換も出来るし(RAID5でやるとエラーディスクが出た瞬間に即死だけど、6ならね・・・)

(132)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP] | コメントをどうぞ

出先や移動中にsshで作業する場合にはscreenを使う

 お名前.com VPSとかのVPSを仕事やら個人やらで使っていると管理にssh使うよね。

 Windows化していればRDPでの管理とかになるけど、その場合途中切断してもセッションが生き残ってて、再接続するとコンティニューできるけど、ssh管理の場合に途中で通信が切れるとプロセスが止まっちゃって処理が中途半端になったり色々不便。

 例えば、出先でsshでコマンド実行したけどやたら時間かかっちゃってなかなか離れられないとか、スマホとかで移動中に作業していて通信が途切れちゃって作業が完了できないとかで困る。

 で、そんなときはscreenを使うと便利。

 RedHat系ならyum install screenで入れられる。

 こいつは、マルチスクリーンのサービスとでもいうか、まぁ、コマンドラインでscreenと実行すると、そのままシェルが沸いてくるんだけど、シェルの管理がターミナルじゃなくてサービス側にあるのでターミナルが終了してもスクリーンが生き続ける。
 screen上で実行しておけば、sshを切断しても処理継続したりスリープさせておいたり出来る。 なので、出先のsshで繋いだときに
screen
mysqldump …
C+a d
みたいな動きをしておくと、screenで新規スクリーンを立てて、そこで時間のかかる処理(この場合mysqldump)をして、C+a dのコードでスクリーンを動かしたまま離れられる。 手動でデタッチせずにsshが切れるとデタッチ扱いになる。

 再度ssh等で接続した時、
screen -ls
すると、生きているスクリーン一覧が見られるので、必要なスクリーン名に対して
screen -r 1234.my.server
みたいに実行すると、そのスクリーンに再接続できる。

 スクリーンを終了する場合は、C+dのコード送信かスクリーン上のシェルをexitすればOK。

 接続したら毎回screenを実行するようにしておけば、不意な切断などでも処理継続させられるので、是非活用したい。

(1211)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP], サーバ設定 | コメントをどうぞ

Linux上の特定ユーザで動いているプロセスを全て止める

 Linux環境上で特定のユーザで動いているプロセスが暴走したりしてLoadAverageが上がったりしたとき、まとめて殺す方法。

 sudo -u ユーザ名 kill -SIGKILL -1

 killコマンドの対象を-1にすると、実行ユーザの全てのプロセスになる。
 で、sudo -uで対象ユーザ権限で実行すれば、そのユーザの全てのプロセスに送れる。
 SIGHUPとかでも良いけど、やばいときはSIGKILLかな?

(38)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP], サーバ設定 | コメントをどうぞ