Tumblr4/1のエントリで、頑張ってブログを書く頻度を上げます、と言ったまま4日が経過し、このままだとただのエイプリルフールの戯言になりかねないと思ったので、ちょっと調べてみたログを残します。XFSの設計はエクステントベースで、ファイルの内容は1つ以上のエクステントと呼ばれる連続的な領域内に保存されている。XFSファイルシステム内のファイルは、ユーザーの使い方によってはフラグメント化することがあるが、xfs_fsrユーティリティを使ってそのようなファイルをデフラグすることでファイルアクセスについてのシステムの性能を向上させることができる。エンタープライズココの部分の使い方を実際に試してみることにしました。用意したのは、xfsファイルシステムで2年くらい運用して役目を終えた、とあるサーバ(ハードディスク搭載、ディスクI/O多数)です。デフラグのやり方さて、まずフラグメンテーション度合い(断片化量)を測定してみます。コマンドは↓のような感じでパーティションを指定します。24.49%正直、数字はピンとこないのですが、理想長に対して実長が長いので、幾分か断片化しているということなのでしょう。実際にいくつかのファイルを確認してみたところ、エクステントが分割されたような形になっていました。996640こんな感じです。こいつを最適化するには、"xfs_fsr"コマンドを使います。xfsdumpこんな感じでインストールしましょう。/data/foo/hoge.1その後、↑のような感じでコマンドを実行すると、今回の例だと"hoge.1"ファイルの最適化が実施されます。結果、フラグメントの状態はこんな感じに最適化されました。このコマンドは↑のように1ファイルに対するだけじゃなくて、パーティションを指定して、ファイルシステム全体を最適化したり、制限時間を設けること(利用が少ない深夜帯だけ実行するとか。inode=0こんな感じでパーティションを指定して最適化。0.00%こんな感じで最適化されました。4192256最適化後は、こんな感じで全ファイル綺麗に並んでおります。パフォーマンスに関してとはいえ、これって性能にどのくらい影響出ているのだろう?と思って、超超簡単に比較してみました。適当に、断片化させまくった1GBのファイルを何パターンか作って、単純なシーケンシャルアクセスで読み出しにかかった時間を測ってみました。ちなみに都度OSキャッシュはdropさせています。0m0.339s2.686秒でした。以降、この環境が前提となります。0m0.273s2.798秒と、さほど差は出ません。ケースバイケースだとは思いますが、シーケンシャルアクセスでは、フラグメンテーションはさほど気にしなくてもいいのかもしれません。0m0.355s3.242秒です。遅くなってきましたが、大きくは劣化していませんね。6144これはひどいレベルですね。ありえない感じじゃないでしょうか。0m0.456s16.378秒。0m1.291sぬお、2分39.257秒と、ここまで来るともう実用できない感じですね。こんな状態になるケースが・・・。まとめということで、今日はxfsファイルシステムのデフラグ方法を学びました!多少はエクステントが分割していようが、シーケンシャルアクセスだとそれほど影響がでないことがわかりました。ioDrive2の基本セットアップ久しぶりに触ったのと、人と共有するためにメモっておく。EC2で使える、2TB分のSSDを積んだ新しいインスタ...2012-07-13xfsが壊れたので修復...久しぶりにxfsを壊した。読者になる@namikawaをフォローメールアドレス執筆・講演依頼や、その他ご連絡は、以下のメールアドレスまでお願いします。お問い合わせスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。