DSC06029DSC06031DSC06032DSC06001DSC06004DSC06009DSC06017

第9回FreeBSD勉強会 ストレージの管理: GEOM, UFS, ZFS / 佐藤広生

DSC06002DSC06003

DSC06019

GEOM

  • 一次元の配列のように見える。
  • GEOMを回避してストレージにアクセスできない。どうやっても通る。
  • /dev/ada0とか1バイト単位でアクセスできるようになっている。FreeBSDではcdev,bdevの区別をすてた。ブロックデバイスはない。
  • デバイスノード → コンシューマ → プロバイダ → ディスクノード
  • プロバイダとコンシューマはペアになる。
  • ストレージデバイスがつながれたらGEOMの構造が自動でつくられる。伝統的なUNIXと同じように見えるようになっている。
  • BSDラベルのなかにBSDラベルをきっても対応できるらしい。
  • sysctl kern.geom.confdot でgraphviz形式でダンプできる。
  • mirror classは勝手には作られないが、デバイスの最後のブロックにgmirror(8)で書き込むとカーネルがちら見して、設定を読んでミラークラスをつくってくれる。→ tasting と呼ばれている。
  • mirror/mymirrorという名前でもいいけど、UNIX likeなgm0とかにおちついた。
  • ミラーのprimaryの指定は後から変更できるが、基本はlabelの先頭のやつ。
  • ストレージを切り離すにはgmirror forgetという分かりにくい。
  • gmirrorはGENERICに入ってないのでgmirror loadしないといけない。loader.confに入れてブート時に読み込まれるようにしておくこと。
  • 基本的に専用コマンドでGEOMメタデータを書き込む。
  • ZFSを実現するためにGEOMをくみあわせてつかっている(が表にはみえてこない)。

ファイルシステム

  • マウントポイントはディレクトリ基本だが、一部のOSではNFSなどファイル単位でマウントできるものもある。
  • mdconfig -a -t swap -u 0 -s 10m でメモリデバイスをつくる。本当にシステムのメモリが枯渇すると落ちるので注意。
  • UFSはinode領域はディスクの真中あたりに置いてあって先頭に置くよりも平均的にはアクセスが速くなる。
  • inode=2がルートディレクトリ。
  • カーネルをアップデートしても落ちるケースはスーパーブロックやinodeが壊れているかもしれない。
  • ファイルシステムが壊れてたらmountするとパニックしちゃうのでfsckが終わるまでmountできないようになっている。
  • fsckは未使用ブロックの解放をおこなうがメモリがたくさん要る。ディスク1GBに対して0.5MBのメモリが必要。
  • fsckはswaponの前なので注意。
  • inodeを非同期で書き込むと速くなるが信頼性が落ちる。FreeBSDは遅いといわれると悲しい→softupdatesが開発された。
  • softupdatesは削除は参照されないようにしてからブロックを消す。追加はブロックをつくってから参照をいれる。
  • softupdatesを有効にしてても未使用ブロック管理の回収でfsckが必要になる。fsckの時間は短かくならないが損傷の可能性は低くなる。
  • ジャーナリングでメタデータ操作の手順を記録する→復旧時にリプレイすればok。リプレイは何度やっても同じ結果になる。fsckの時間はほぼなくなったが、電源断で戻る幅がおおきくなった。やってないことになる量が増えたということ。10分とか15分とかのオーダで戻る。
  • 現状ジャーナリングを有効にるとdump -Lがつかえなくなる。改修中。
  • Q バグは9.1で直る? A: リリース前にレポートしてほしい、リリース直後は疲弊していてメールをよみとばしてしまう傾向が..
  • Q dragonflyのhammerは移植されるか? A: hammer FSはVFSの改造が入っているのでもってくるのはむつかしい。fuseの形で動かせるが、FreeBSDにもってきてても性能が出ない。技術的に難しい。hammer2でOSもかきかわってきているので。

[2012-07-20 20:37]

FreeBSDとCloudCore VPSと私 / 小原聖健

  • 自宅に置く電気代よりも安いよ。
  • たくさん購入すると安くなるよ。
  • そのうち新しいメニューが出るよ。

[2012-07-20 20:42]

FreeBSD勉強会 / 後藤大地

  • portsはバージョン管理されていないのでどんどん新しくなってしまう、古いバージョンにセキュリティパッチだけあてるサービス。
  • RedHatのような動作検証サポート。検証結果だけでなくてプログラム自体を提供するとか。

懇親会

~22:50

日本酒がいっぱいならんでました。

DSC06034

DSC06038DSC06046

次回以降