2012年8月26日日曜日

SecureErase を実施してみた

こちらの記事のように、SecureErase により、不良セクタを回収して代替セクタを割り当てられるケースがあることを知りました。
そこで、
http://marosama.blogspot.jp/2010/03/linuxsecureerase.html
こちらの方の Linux で SecureErase を実施する手順を参考に、わたしもやってみた次第です。
昔、RAID1 を組んでいた IDE HDD 2台のうちの片方が異常になり、別の HDD に移行したことがあったのですが、その時の HDD 2台を死蔵しておりましたので、今回はその 2台に対して SecureErase を試しました。

最初に作業機材について、まとめますと、
・ThinkPad T510 OS:CentOS 6.3 x86_64
・センチュリー社
 NEW 裸族のお立ち台 USB3.0 & eSATA
 裸族のお立ち台のお立ち台 IDE to SATA 変換アダプター
という構成です。T510 の左側面標準装備の eSATA 接続で実施しました。

作業手順はもとの記事のほうに詳しく書いてありますが、いちおうわたしの行った手順を要約しますと、次のような具合です。
# cat /sys/block/sdXX/device/model  等により実施対象の sdXX を確認
                 ディスクが複数接続された環境での作業では十分注意必要
# hdparm -I /dev/sdXX で not frozen 確認
# hdparm --user-master u --security-set-pass password /dev/sdXX でパスワード設定
# hdparm --user-master u --security-erase password /dev/sdXX

作業を行った2台のHDDのうち、1台は不良セクタがあったのですが、SecureErase により除去できたようでした。まあ、今や時代遅れで使い道がほとんどないのですが。


この2枚は、作業完了後に Windows 上から HDDSCAN を行った結果です。
アクセス時間が遅い部分があり、まだら状になっているほう(上)が、RAID1 から外れたディスクだったと思います。

2012-08-29追記


CrystalDiskInfo のデータです。2番目のディスクのほうが注意になってます。
(補足:画像の掲載順序が逆なわけではないです)

2012-09-02追記
さらに別のディスクのデータです。このように、不良セクタが生じていましたが、、、
SecureErase 後には、ひとまず不良セクタが消えました。

掲載したのは、SecureErase が功を奏したデータばかりですが、もちろんのこと、ダメ(無理)だった HDD もありました。手持ち7台のうち2台は無理でした。

なお、壊れたと思っていた SSD にも SecureErase を実行してみたところ、不良部分が無くなりました。次の記事を参照ください。
ThinkPad X300 のSSDで不良セクタを発見

2012-09-29追記
クセになり、また別の死蔵ディスクもやってみました。少なくとも5年ぶりに動かしたところ、不良セクタが生じていましたが、、、
SecureErase 後には、不良部分が解消しました。

2012年8月21日火曜日

perl の print 文の書き方による効率の違い

おそらくは、perl に造詣の深い方には当たり前レベルかもしれませんが、print 文でいくつかの変数を出力する際に、カンマ(,)で区切ると若干効率が悪いようです。
#!/usr/bin/perl

$j = 0 ;
for ($i = 0; $i < 1000000; $i++) {
        $a = $j++ ;
        $b = $j++ ;
        $c = $j++ ;
        $d = $j++ ;

        print $a, $b, $c, $d, "\n" ;
}
と書くよりも、
#!/usr/bin/perl

$j = 0 ;
for ($i = 0; $i < 1000000; $i++) {
        $a = $j++ ;
        $b = $j++ ;
        $c = $j++ ;
        $d = $j++ ;

        print "$a$b$c$d\n" ;
}
としたほうが効率が良いです。
# diff -u perf_joint.pl perf_joint2.pl 
--- perf_joint.pl       2012-08-21 00:17:46.000000000 +0900
+++ perf_joint2.pl      2012-08-21 00:18:16.000000000 +0900
@@ -7,5 +7,5 @@
        $c = $j++ ;
        $d = $j++ ;
 
-       print $a, $b, $c, $d, "\n" ;
+       print "$a$b$c$d\n" ;
 }
# time ./perf_joint.pl | md5sum
8a80cd09e1b5bcad31bdf23d5738c21a  -

real    0m2.224s
user    0m0.230s
sys     0m1.990s
# time ./perf_joint2.pl | md5sum
8a80cd09e1b5bcad31bdf23d5738c21a  -

real    0m1.210s
user    0m0.050s
sys     0m1.160s
些細なことではありますが、チリも積もればという局面もあろうかと思います。

2012年8月4日土曜日

ZFS関連記事のリンク集

ZFSのリンク集


■ZFS-FUSE project
http://zfs-fuse.net/


■ZFS on Linux
http://zfsonlinux.org/


■FUSE経由でZFSを使う
http://sourceforge.jp/magazine/08/06/23/0154238

■L2ARC and Metadata Compressability
http://comments.gmane.org/gmane.linux.file-systems.zfs.user/4101


■ZFS Best Practices Guide
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
ZIL は搭載物理メモリの 1/2 ぐらい。


■How to improve ZFS performance
http://icesquare.com/wordpress/how-to-improve-zfs-performance/


■Use scatter-gather lists for ARC buffers
https://github.com/zfsonlinux/zfs/issues/75
現状(現在:0.6.0-rc14)、vmalloc 依存になっていて、ext4 等と違い page cache を使えてない。zfs 領域から大量にファイル read しても、cached は増えない。


人気ブログランキングへ にほんブログ村 IT技術ブログへ