2010/10/24 日曜日

CentOSでClamAntiVirus大量増殖

ファイルサーバーに用いているCentOS(Linux)マシン。

ちょっと前から動作速度がちょっとずつ遅くなってきていたけど、とりあえず我慢して使ってきた。ところが、ここ数日でウィンドウを開くだけでも1分近くかかるようになってしまった。さすがに、異常だと思って『top』コマンドを打ってみると、特に他の操作はしていないのにCPU使用率は50%(デュアルコアCPUでシングルスレッド処理だから?)。そして、『clamscan』が大量増殖していた。

これはヤバいと思いググってみると…

№1758 clamavスキャンエラー – Web Patio – CentOSで自宅サーバー構築
http://centossrv.com/bbshtml/webpatio/1758.shtml

どうやら、同じ症状の方がたくさんいるようで。

#clamscan -V

でとりあえずバージョンを確認したところ…

ClamAV 0.96.2

古い…

#yum update clamd

を実行して再起動し再びバージョンを確認したところ…

ClamAV 0.96.3

になりました。再びtopコマンドを打ってみると、CPU使用率は0.0%まで下がりました。

しか~し!このあと数日放置すると改善されているわけではないようで、再びレスポンスが悪くなってtopコマンドを打つと複数のclamscanが…

どうやら、最新版でも改善されていないようで。

というわけで、こちらのサイトの情報をもとに定期実行スクリプトを改変しました。

アンチウィルスソフト導入(Clam AntiVirus) – Fedoraで自宅サーバー構築
http://fedorasrv.com/clamav.shtml

どうやら、/sysディレクトリが悪さをしているようで定期実行スクリプトに/sysディレクトリを除外するようにexcludeオプションを加えればOKのようで。上のサイトのスクリプトを参考に自分の仕様に合わせて改変してみたところ、『clamscan』の大量増殖は発生しなくなりました。

というわけで、結論…

  • clamscanの大量増殖は現行バージョンでも改善されない(2010/10/23現在)
  • /sysをexcludeすることでとりあえず回避可能

2010/2/16 火曜日

Linuxで4KセクタHDDの使用方法

Linux Not Fully Prepared for 4096-Byte Sector Hard Drives – OS news
http://www.osnews.com/story/22872/Linux_Not_Fully_Prepared_for_4096-Byte_Sector_Hard_Drives

自分もLinuxは使ってますが、勉強不足で正直なところLinuxのファイルシステム関連はちゃんと理解していません。詳しい解説はできませんが、困っている方がいるかもしれませんので、紹介しておきます。

Western Digitalが最近発売したHDDで『Advanced Format Architecture』という名称で4KiBセクタを採用していますが、Windows XP以前においてセクタ開始位置がズレるためパフォーマンス低下が指摘されている。Western Digitalのよると「LinuxやMacOSX」ではこの低下は発生しないとのことでしたが、実際にはLinuxにおいて低下することが確認されているようです。

OS newsの記事では、Gentoo(2.6.31)上でWD Caviar Greenを用いてパフォーマンスを検証している。今のところ、完全な解決策はなく、Ubuntuの『parted』で利用できるオプション『–align optimal』でも不完全とか。

そのほか色々と書かれていますが、熟練したLinuxユーザーの方は自分よりも英語の経験値は高いと思いますので、詳しくは上記記事を参照してください。

2009/12/21 月曜日

Advanced Format Architectureの意義

Western Digital’s Advanced Format: The 4K Sector Transition Begins – AnandTech
http://www.anandtech.com/storage/showdoc.aspx?i=3691

AnandTechにWestern Digitalとの取材で得たAdvanced Formatアーキテクチャ関連情報が掲載されていました。

Western Digitalに限らず、他のHDDメーカーもセクタサイズを4KiB※へ移行するようですので、その意義についてAnandTechの記事を参考にちょっと調べてみました。

※今回はHDD関連ですのでkB(1kB=1000Byte)を使用すると紛らわしいのでKiB(1KiB=1024Byte)表記に統一しました。

プラッタの高密度化によるエラー発生率上昇

通常1つのセクタには1つのファイルしか格納できず、現在と比べるとファイルサイズが小さかった1990年代はこれまでのHDDが採用した512Byteセクタがバランスが良かった。

しかし、現在の記録するファイルのサイズが増大し、さらにHDDはプラッタの密度が上昇し、それに伴いプラッタ上に記録される磁気の信号に対するノイズの割合(S/N比)が減少している。

SNR

(引用:http://www.anandtech.com/storage/showdoc.aspx?i=3691)

信号なのかノイズなのかを見分けることが難しくなるため、エラーを防ぐためエラー訂正符号(ECC)を添付するが、S/N比が小さくなればなるほど長いECCが必要となってくる。そのため、現在の高密度プラッタではECCが占める割合が増えてきている。

このまま高密度化を進めていくといずれ実データとECCの量が同じなってしまい、さらに高密度記録が難しくなってしまう。

ECCの効率的な符号化

現在のHDDのECCにどのような符号が使われているのかはわかりませんが、HDDのECCはデータサイズが大きくなるほど効率が高くならしい。つまり、セクタサイズを大きくすることでECCの占める割合を減らすことができる。

※磁気記憶媒体には効率は悪いが高速処理可能な『ファイヤ符号(fire code ECC correction)』を使用していると習ったが今も使っているかは知らない… 知ってたら教えて(^^;)

hgst_eccsectorsize

(引用:WinHEC2005 HGST発表資料より)

例えば、セクタサイズが512Byteであれば40ByteのECCが必要であるとすると、8倍である4096Byteのセクタではこれが100Byteで済む。

何故に4KiB?

データサイズを長くすればするほど効率が向上するなら、4KiBと言わずもっと長くすればいいのに!と思いますが、4KiBというのもワケあり。

多くのPCで用いられているx86アーキテクチャはメモリを4KiB単位でページし記憶している。また、Windowsで用いらているNTFS、LinuxのEXT3、MacOSのHFS+のファイルシステムはいずれも現在はデフォルトでのクラスタサイズが4KiBとなっている。これらとセクタサイズを統一することでより利用効率の向上を図っているわけである。

まとめ

調べてみると、4KiBセクタへの移行準備が始まったのは1990年代後半。BIOSでの対応、OSでの対応などを経て、今年ようやくHDD側が対応。高い信頼性を保ちながら高密度化を進めていくために4KiBセクタが徐々に標準になって行きそうですね。

参考文献等(AnandTech以外)

(PDF) Sample Title Goes In This Space – IDEMA
http://www.idema.org/_smartsite/modules/local/data_file/show_file.php?cmd=download&data_file_id=1699

(PDF) Hard Disk Drive Long Data Sector White Paper – IDEMA Japan
http://www.idema.gr.jp/technical/white/6_13_07.pdf

(PDF) Advanced Format Technology – Western Digital
http://www.wdc.com/wdproducts/library/whitepapers/en/2579-771430-A00.pdf

(DOC) 4K Byte-Sector HDD-Data Format Standard
http://www.idema.org/_smartsite/modules/local/data_file/show_file.php?cmd=download&data_file_id=1259

今井秀樹(1984) 『情報理論』 昭晃堂 ISBN4-7856-1139-1

これまでのAdvanced Format Architecture関連記事

はいじん☆ちゃんねる >> 【注意!】WD10EARSは特殊な物理フォーマットを採用
http://haizin.serveblog.net/?p=5953

はいじん☆ちゃんねる >> 64MB版のCaviar Green WD15EARSが発売
http://haizin.serveblog.net/?p=6086

はいじん☆ちゃんねる >> WD10EARSの比較ベンチマーク
http://haizin.serveblog.net/?p=6092

2009/12/8 火曜日

64bit版Google Chrome『ChromiumOS64』

64-bit Chromium OS surfaces – techradar.com
http://www.techradar.com/news/software/operating-systems/64-bit-chromium-os-surfaces-656314

Googleが開発中のOS『Google Chrome』。Intel Atom等の32bit CPUを採用するネットブックでの利用を想定しているため、Google Chromeは32bit版のみになるようですが、非公式なが64bit版の『ChromiumOS64』の開発も行われているようです。

知りませんでしたが、Google Chrome自体はUbuntu 9.10をベースにしており『Chromium OS Project』としてオープンソースとなっている。32bitだと実質使用できるRAMが3.3GB程度になってしまうために、さらにメモリを活用できる64bit版を開発しているとか。

開発元のサイトを見ると、すでにx86_64プラットフォームのCPUであれば利用できるアルファ版が公開されていました。アルファ版ですのであくまで自己責任でね(お約束)

The ChromiumOS64 Project (閉鎖? 2010/10/16)
http://www.chromiumos64.com/

2009/4/21 火曜日

EeePCは次世代サーバープラッタフォーム?!

ニコニコ大百科のアーキテクチャ – グニャラくんのグニャグニャ備忘録@はてな
http://d.hatena.ne.jp/tasukuchan/20090417/nicopedia_hardware

未来検索ブラジルによって運営されているニコニコ大百科ですが、その未来検索ブラジルの方のブログにニコニコ大百科に用いられているハードウェアとソフトウェアについて書かれていました。これによりますと…

EeePCは、SSDUPSを備えた次世代サーバプラットフォームです。

メンテナンスの際、キーボードやモニタをつなぐ必要もありません。

また、各種Linuxの導入情報が充実しています。

メモリ増設などを行っても5万未満で調達を行うことができます。

消耗品として扱えるため、減価償却の必要もありません。

ラック内占有体積も少ないです。

だそうです。確かに、下手なサーバー環境をそろえるよりもコストパフォーマンス良さそう(^^;)参考にさせていただきます。

HTML convert time: 0.643 sec. Powered by WordPress