Monthly Archives: May 2016

smartmontools self-testのスケジュール設定 (smartd.conf)

smartmontoolsのsmartd.confのself-testスケジュール設定、
デフォのコンフィグには曜日と時間の設定例しかなかったのでメモ。

man – SMARTD.CONF

-s REGEXP
Run Self-Tests or Offline Immediate Tests, at scheduled times. A Self- or Offline Immediate Test will be run at the end of periodic device polling, if all 12 characters of the string T/MM/DD/d/HH match the extended regular expression REGEXP.

T/MM/DD/d/HH

T: テスト種別
  S:Short self-test: 低精度短時間(定期検査に向く)
  L:Long self-test: 高精度長時間
  C:Conveyance self-test: 運搬過程で障害が発生しやすいセクタの検査
  O:Offline immediate-test:オフライン緊急テスト???

MM: 月(01-12)

DD: 日(01-31)

d: 曜日(0-7) 月(1)~日(0,7)

HH: 時間(00-23)

例: Shorttestを毎日00時、Longtestを毎月1,15日00時に実施

DEVICESCAN -a -o on -S on -s (S/../.././00|L/../(01|15)/./00)

テスト種別がS,Lの他にもあるの初めて知った。
HDD買ったら、まずは種別C→Lの順で検査してから運用に回した方がいいかもね。

Seagate Archive HDD ST8000AS0002 の状況

去年の2月頃からちょいちょい買いだしたSeagateのSMR方式 Archive HDD「ST8000AS0002」。
他のPMR方式のHDDと混在させてプールを作ると、こいつが足手まといになって、
パフォーマンスが落ちるので、現在では8台をZFS Mirror(2×4)で構成してる。

使い方は24/365で稼働で、録画したTV番組データをPMRのプールに一旦保存して、
ドラマならタイトルが全部揃って、残しておくものだけ、SMRのプールに移動させてる。
加えて毎日のS.M.A.R.T Self-test(short)、
週1回のSelf-test(long)と、
月1回のzpool scrubを掛けているけど、今まで1台も故障していない。

壊れやすいっていう評価もあるみたいだけど、使い方が良くないんじゃないかと思ってる。
ハード的には、センサーの構成はエンタープライズ級だけど、
それ以外の磁気ヘッドとかその他はデスクトップ級の構成だから、
頻繁に読み書きさせるとST3000DM000みたいにすぐ壊れるかも。
(Seagateのラインナップのスペックはこちら)

Archiveってシリーズ名通りの使い方限定で、使える人は使ってって感じかね。

Load_Cycle_Countは購入してからじわじわ上昇中。

st8000as0002_160425

うちの環境だと、1日あたり100くらいカウントしてるみたい。
100程度なら、5年運用しても182,500くらいにしかならないから、
仕様の上限300,000には余裕で届かない。

今の使い方には合ってるみたいだから、このまま使い続けるつもり。

[Docker] agettyのCPU使用率が高い

このブログをDockerのコンテナ(Centos7)に移設して2日くらい経って、
Dockerのホストサーバ(CentOS7)のCPU使用率が高くなっている事に気付いた。

tanker_util_160523

top - 18:28:32 up 2 days, 47 min, 5 users, load average: 0.99, 1.02, 1.08
%Cpu(s): 12.0 us, 38.5 sy, 0.0 ni, 49.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32818248 total, 11518944 free, 17437140 used, 3862164 buff/cache
KiB Swap: 511676 total, 511676 free, 0 used. 13301472 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5822 root 20 0 8028 836 716 R 100.0 0.0 2925:31 agetty

ホストサーバからtopコマンドで確認したら、agettyのCPU使用率が異様に高くなっていた。
調べるとdockerのバグ?の模様。

Bug 1046469 – docker privileged mode with cmd /sbin/init – agetty & high cpu

docker runで–privileged, /sbin/initしてると発生するみたい。
解決方法としては、対象のコンテナにログインして、
agetty.targetとsystemd-udevd.serviceを停止,自動起動無効にする。
これで暴走しなくなった。

コンテナにログイン
# docker exec -it [container name] /bin/bash

agettyの状態確認、停止、自動起動無効化
# systemctl status agetty.target
# systemctl stop agetty.target
# systemctl disable agetty.target
# systemctl status agetty.target

systemd-udevdの状態確認、停止、自動起動無効化
# systemctl status systemd-udevd.service
# systemctl stop systemd-udevd.service
# systemctl disable systemd-udevd.service
# systemctl status systemd-udevd.service

で最後にコンテナの停止/開始

# docker stop [container name]
# docker start [container name]