ZFS v13プロダクションレベル

FreeBSD 8.0ではZFSが実験的という位置づけから、デフォルトの機能としての位置づけに変わっている。FreeBSDのZFSはOpenSolarisから移植されたZFSに、UFS/UFS2の拡張フラグ対応やJail対応など、FreeBSD独自の機能が追加されている。これまでは実験的な位置づけでの提供だったが、8.0では「実験的」という言葉がとれた。

ZFSはボリューム管理とファイルシステムの双方の機能を提供するうえに、大規模ストレージの構築が容易で運用もダイナミック。しかも堅牢性が高く、UFS/UFS2で発生する長時間のfsckが不要という特徴がある。実験的導入という位置づけにもかかわらず、FreeBSDに移植されたZFSは多くの本番環境に取り込まれ活用されてきた。こうした現状を受け、すでにFreeBSDのZFSはプロダクションレベルに達したと判断。EuroBSDCon 2009の間に「実験的」という言葉がはずされた。

FreeBSDをベースにしたNASソリューションFreeNASもこの恩恵を受けることになる。FreeNASは最新版でZFSを導入した。FreeBSD 8.0をベースにしたFreeNASがリリースされた後は、プロダクションレベルのZFSストレージを簡単に構築できることになる。

アプリケーションの再構築または互換ライブラリのインストール

8.0をリリースするにあたってシステムの共有ライブラリのバージョンが上がっている。このため、ソースコードからビルドする場合でもFreeBSD Updatesでバイナリアップデートを実行した場合でも、一度すべてのアプリケーションをビルドし直す必要がある。または、互換ライブラリmisc/compat7xをインストールして以前のバイナリも動作するようにする。

FreeBSDの共有ライブラリにはシンボルバージョニングの機能が追加されているため、基本的には作り直しの必要はない。ただし、いくつかの共有ライブラリがまだシンボルバージョニングの機能を実装していないため、今回のメジャーアップグレードではアプリケーションの再構築が必要になった。

BSD Licenseツール GCC 4.2とLLVM

もう気がついているユーザも多いかもしれないが、FreeBSD 8.0のシステム標準のコンパイラはGCC 4.2.1とかなり古い。現在の方針からいけば、GCCのバージョンがこれ以上更新されることはない。FreeBSDはアプライアンスに採用されることも多く、ベースシステムにGPL3のもとで提供されているツールを同梱することに難色を示している。GCCが4.2.1と古いバージョンのままなのも、このライセンス変更が原因となっている。

FreeBSD 8.0-RC2のGCC 4.2.1

これ以外にもベースシステムに取り込まれているGPLベースのツールをBSD Licenseのもとで新しく開発する取り組みや、OpenBSDで実施されている同様の成果物を取り込む作業を進められている。FreeBSD 9かFreeBSD 10で具体的に統合の話が具体的に進むとみられるが、システムのデフォルトコンパイラをGCCからLLVMへ置き換える開発も進められている。

その他の注目ポイント

これ以外にも、たとえば次のような新しい注目点がある。

  • ファイルシステムまわりの見直しでマウント中のUSBメモリをアンマウントせずに引き抜いたとしてもパニックしないように改善
  • 改善されたULE3スケジューラ
  • NFSv4の登場
  • 高性能USB2スタック
  • ワイヤレスメッシュネットワーク対応
  • Giant Lockフリーをさらに前進
  • カーネルプロセスとカーネルスレッドの分離
  • 新しいTTYレイヤへの置き換え
  • SuperPages対応
  • スタックスマッシュプロテクション導入
  • テキストダンプ機能
  • Fedora Core 10対応のLinuxバイナリ互換機能強化
  • VirtualBox 3.0.51ホストOS対応
  • sysinfo(1)やprocstat(1)といったツールの導入