コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2011年12月9日 >>> 2011年11月30日
link もっと後

2011年12月4日

Linuxのファイルシステム再考

目次: Linux

せっかくファイルサーバのRAIDを組み直すのだから、使用するファイルシステムも再考することにしました。

こんな話、前にも書きましたね(2009年2月1日の日記参照)。Linuxのファイルシステムは一長一短で選ぶのが難しいのです。

ext2/ext3
Linuxのデフォルトだったファイルシステム。枯れていて安定で速度も出る。最大の欠点はfsckが遅すぎること。待てど暮らせど一向に終わらないのです。
ext4
Linuxのデフォルトとなる(もうなってるかな)ジャーナルファイルシステム。一応ext3ベースだけど中身がかなり変わっている?安定で速度も出るけど、欠点はやはりfsckが遅い。ext3(数時間)から劇的改善されたext4(数十分)とのことですが、遅い、遅すぎるわ。
ReiserFS
Hans Reiserさん作のLinux初のジャーナルファイルシステム。Hansさん逮捕につき、NamesysとSuSEのナイスガイ達がメンテしていたものの、唯一の味方SuSE Linuxに標準ファイルシステムから外され、Linux 2.6.33でロック周りをめちゃくちゃイジられてバグバグになり、もはや死亡寸前?
XFS
SGIのジャーナルファイルシステム。SGI IRIXからの移植。シーケンシャルリード、ライトが速い、起動時のチェックもやたら早い。しかしファイル作成は遅い。巨大ファイルを読みながらディレクトリ削除なんて、ハエが止まるレベルの遅さ。
JFS
IBMのジャーナルファイルシステム。IBM AIXからの移植&バージョンアップ。AIXのJFSと区別するためJFS2とも呼ばれる。ネット上のベンチマークを見る限り、XFSに似ている、つまりファイル作成が遅いみたい。微妙だ。
ZFS
Sunのジャーナルファイルシステム。Sunの自信作だけあって、便利で速いらしい。しかしライセンス非互換&特許問題でLinuxに取り込めない。Fuse経由で使うのはイマイチだし、ネット上のベンチマークを見る限り、やはりXFSレベルのファイル作成スピードらしい。微妙だ。
NTFS
Microsoftのジャーナルファイルシステム。仕様は公開されていないはずなのに、カーネルハッカー達により解析され、今やLinuxからread/writeが可能。スゴい。とはいえLinuxで日常的に使うファイルシステムに適しているか?というと疑問符が付く。
BtrFS
Oracleのジャーナルファイルシステム。次期Linux標準を目指しスクラッチから作成された。現在も絶賛開発中なので、これからもしばらくUnstable状態が続きそう。大事なデータを置く場所には適さないだろう。

ここしばらくXFSを使ってきたけれど、ファイル削除が遅くてもう我慢ならない。じゃあ代替案は?と考えても、ご臨終寸前のReiserFSも、XFSと性能が似たり寄ったりのJFSも、どちらも微妙極まりないんだよなあ。

ダメ元でJFSにしてみるか、無難にext4にするしかなさそうですね…。

編集者:すずき(2023/04/29 21:34)

コメント一覧

  • hdkさん(2011/12/04 23:11)
    ReiserFS ってご臨終寸前なの? 性能いいし結構気に入ってるんだけどなぁ。Debian のカーネル 2.6.32 だから大丈夫とか? うーん。

    といいつつ、自宅サーバー PC では NILFS2 を積極的に使ってますw
  • すずきさん(2011/12/05 00:33)
    >hdk さん
    実際にパッチを見たわけではないし、見てもたぶんわからないので「ご臨終」は言い過ぎかも。
    ま、Reiser4 も Linux に入る見込みなさそうですし、明るい未来はないですね…。

    ReiserFSは会社のPC(2.6.33以降のカーネル)で容赦なく使っています。XFSだとコンパイルが遅くてやってられないのです。

    NILFS2 はおもしろそうだけど、容量食いそうだね…。
open/close この記事にコメントする



2011年12月3日

HDDがやばい

先週くらいからファイルサーバに書き込むとプチフリするようになりました。サーバを見に行くとRAID 5のrebuildで頑張っていました。あれ?ディスク入れ替えてないのになんでrebuildが走ってるの??

ひとまずdmesgを見るとHDDのリードエラーが記録されていました。ついでにSMARTもチェックすると、リードエラーだかシークエラーだかが記録されています。どうも故障寸前っぽいです。やばい。

ファイルサーバには、sdb, sdc, sdd, sde, sdfの5台HDDが繋がっていて、そのうちsdbが死にかけているようです。

俺の対応がやばい

本来であればやばくなったsdbを引っこ抜いて、新しいディスクに入れ替えればOKなのですが、間違ってsd"f" を引っこ抜いて再起動してしまいました。

5台縦に並んでいたのを見て、 sdbが一番「下」で、sdfが一番「上」だとは思わなかったのよね。マズったね、どうするね、これ…。

何がやばい?

何を言ってるかわからねーt(略)なので、実際どうやばいのか図示します。


[本来の対処]
1. やばいディスクを取って、元気なディスク4台の縮退モードで動かす
   sdb, sdc, sdd, sde, sdf→ [sdb], sdc, sdd, sde, sdf
   ↑やばいディスク
2. 元気なディスクを足す(ただし足しただけではスペア状態なので、
   読み書きには使えない)
   [sdb'], sdc, sdd, sde, sdf
   ↑元気なディスクと入れ替え(スペア状態)
3. rebuildしてRAID復活
   sdb', sdc, sdd, sde, sdf
   ↑rebuildによりRAIDの仲間入り

以上が本来の対処なのですが、間違って下記のようにしてしまいました。


[俺の対処]
1. 元気なディスクを取って、やばい+元気なディスク4台の
   縮退モードで動かしてしまった(!)
   sdb, sdc, sdd, sde, sdf→sdb, sdc, sdd, sde, [sdf]
   ↑やばいディスク
   (... 再起動 ...)
   sdb, sdc, sdd, sde, [sdf]
   ~~~~~~~~~~~~~~~~~~~
   ↑再起動によりRAIDが書き換わり、sdfの内容と食い違うため、
     sdfは元のRAIDには戻せない!

ここから5台構成に戻すには、何食わぬ顔でsdfを戻しrebuildする方法がありますが、壊れかけのsdbを酷使するため危険です…。もしrebuild中にsdbが壊れるとsdb, sdfの2台が故障したことになり、RAID 5のデータが消滅します。


2-1. 何食わぬ顔でsdfを戻す(sdfはスペアになる)
     sdb, sdc, sdd, sde, [sdf]
                         ↑スペア状態
3-1. rebuildしてRAID復活?
     sdb, sdc, sdd, sde, sdf
     ↑rebuildにより負荷かかって故障→RAIDデータ消滅の可能性大

この方法はリスクがでかすぎるだろってことで、新たにHDDを買ってきてちまちまコピーしています。データが1.5TBもあって面倒くさい…。まあ、全部俺のせいだけどな!ちくしょー…orz

編集者:すずき(2011/12/04 20:26)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2011年12月9日 >>> 2011年11月30日
link もっと後

管理用メニュー

link 記事を新規作成

<2011>
<<<12>>>
----123
45678910
11121314151617
18192021222324
25262728293031

最近のコメント5件

  • link 20年6月19日
    すずきさん (04/06 22:54)
    「ディレクトリを予め作成しておけば良いです...」
  • link 20年6月19日
    斎藤さん (04/06 16:25)
    「「Preferencesというメニューか...」
  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」

最近の記事3件

  • link 24年4月17日
    すずき (04/18 22:44)
    「[VSCodeとMarkdownとPlantUMLのローカルサーバー] 目次: LinuxVSCodeのPlantUML Ex...」
  • link 23年4月10日
    すずき (04/18 22:30)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linuxのstruct pageって何?Linu...」
  • link 20年2月22日
    すずき (04/17 02:22)
    「[Zephyr - まとめリンク] 目次: Zephyr導入、ブート周りHello! Zephyr OS!!Hello! Ze...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 04/18 22:44