Product SiteDocumentation Site

3. Fedora の変更点 - システム管理者向け

3.1. Kernel

Fedora 16 には、新しいカーネル 3.1.0 が搭載されます。劇的なバージョンアップにもかかわらず、劇的な機能変更はありません。これについては 気にしないでください。Linus 氏も次のように言っています。
 I decided to just bite the bullet, and call the next version 3.0. It will get released close enough to the 20-year mark, which is excuse enough for me, although honestly, the real reason is just that I can no longer comfortably count as high as 40.

3.2. ブート

Fedora 16 では、ブート処理の速度、セキュリティ、そして効率を改善するためにいくつかの新しい技術を活用しています。

3.2.1. GPT ディスクラベル

新しいディスクラベル

マニュアルでパーティションを設定するインストール手順は、追加のステップが必要です。
Fedora 16 から、EFI ではない x86 (32 と 64 bit) システムにおいても、 anaconda はデフォルトで MSDOS ディスクラベルではなく GPT ディスクラベル (パーティションテーブル) を作成します。 このようなシステムで GPT ラベル付きディスクからブートする場合には、 小さな BIOS ブートパーティション (1MiB) を作成することを強くおすすめします (システムの BIOS/ファームウェアによっては必要ない場合もあります)。 このパーティションはブートローダ (GRUB2) のデータを保存するために使われます。
自動パーティション設定にすると必要に応じてこのパーティションが作成されます。 ただし、 手動のパーティション設定を選択するユーザーは、 自分でこのパーティションを作らなくてはいけません。
この BIOS ブートパーティションは、EFI ではない x86 システムであり、ブートデバイスが GPT ラベル付けされたディスクのときにだけ必要になります。

3.2.2. GRUB 2

Fedora 16 では、 GNU Grand Unified Bootloader (GRUB) に重要な更新があります。 GRUB 2 では設定オプションや x86 以外のアーキテクチャーに対するサポートが改善され、 スクリプト機能およびローカライゼーションサポートが含まれるようになります。 GRUB 2 では設定形式およびファイルが新しくなります。 詳細については GRUB のガイドを参照してください。

GRUB ユーザーが要求されます。

Anaconda はインストール時に GRUB のパスワードを設定することができます。オリジナルの GRUB を使用して、パスワードのみが要求されました。 GRUB2 ではインストール時にユーザー名の入力を求められます。ユーザー名として root を使用することもできます。

3.2.3. SysVinit スクリプトが systemd 上に移植されました

Fedora 15 では、 Linux 向けの新しいシステムとサービスのマネージャーである systemd が導入されました。 systemd の統合が進み、より多くの SysV init スクリプトがネイティブの systemd サービスファイルに変換されました。その結果、より速く、効率が良いブート処理が実現され、サービス管理もより間単になりました。

3.2.4. rc.local はパッケージでは提供されません

/etc/rc.d/rc.local はローカルのカスタマイズスクリプトで、今後、このスクリプトはデフォルトでは提供されません。管理者が必要であれば、このファイルを手動で作成してください。そうすれば起動時に実行されます。
アップグレードでは、この変更の影響を受けません。

3.3. UID の値の範囲が変更になりました

新しい UID と GID の値の範囲

一般ユーザーの UID と GID の値は 1000 から始めることになりました。以前までのバージョンでは 500 から始まっていました。
Fedora 16 から UID と GID の割り当てポリシーが変更になります。一般ユーザーのアカウントは 1000 から振られます。以前は 500 から振られていました。このポリシーはグローバルな設定 /etc/login.defs の中で定義されている UID_MIN と GID_MIN の値で決まります。詳しくは login.defs の中をご確認ください。以前のバージョンの Fedora からアップグレードした場合、この設定は昔のものが維持され引き続き 500 から始まります。
もしスクラッチで新しいシステムをインストールする時に Kickstart を使い場合、そして、そのシステムの UID が 500 から振られるようにしたい場合には、パッケージのインストールが開始される前に /etc/login.defs をスクリプトで差し替える必要があります。

3.4. 仮想化

3.4.1. USB エミュレーション

  • USB 2.0 (EHCI) デバイスのサポートが追加されました。

3.4.2. CD-ROM エミュレーション

  • ATAPI 規格に適合するように多くの変更を加えました。
  • GET_EVENT_STATUS_NOTIFICATION: 光学ドライブのトレイのオープン、クローズ、メディアのある/なしをゲストに報告する media サブコマンドを実装します。新しい Linux ゲスト(Kernel 2.6.38 以上)は、このコマンドを使ってディスクの状態を確認します。
  • 大きなコードのリファクタリングとクリーンアップを行いました。

3.4.3. セキュリティー

qemu-kvm パッケージは RELRO と PIE のサポートをフル機能有効化してコンパイルされています。これは特定の種類の攻撃を緩和するのに役立つサポートです。ホストシステムまたは同一ホスト上で実行されている他の仮想マシンを利用することは、これらのコンパイルオプションを使うことでより困難になります。

3.4.4. アップストリームのリリースノート

3.4.5. Xen

  • Xen のサポートが QEMU へマージされました。

3.4.6. x86

  • 仮想マシンをライブマイグレーションした場合でも、ゲストOS の TSC が安定するようになりました。
  • VIA 固有の CPU 機能がサポートされました。

3.4.7. 全般的な改善点

  • すべての virtio デバイスで、いくつかのメモリーリークの問題が修正されました。

3.4.8. qemu-img

  • qemu-img convert の性能が向上しました。
  • qemu-img convert と qemu-img rebase は、進捗状況を表示する -p オプションをサポートしました。

3.4.9. qcow2

  • qcow2 ディスクイメージの内部的なスナップショットを作成、削除する速度が改善しました。

3.4.10. ゲストエージェント

  • スナップショットの作成をサポートするゲストエージェントが追加されました。

3.5. Web サーバー

httpd が 2.2.17 から 2.2.19 へと更新されました。このバージョンは、おもにセキュリティとバグの修正が行われ、2.2.18 におけるバージョン間の非互換性も修正されました。2.2.19 は 2.2 (放棄されたと考えられている 2.2.18 以外) の以前のバージョンに対してコンパイルされたモジュールとの互換性をすぐに回復するよう、ユーザーにアドバイスします。
  • 2.2.18 において ap_unescape_url_keep2f() の関数シグネチャーの変更により引き起こされた ABI の問題を戻しました。このリリースは、2.2.17 およびそれ以前からシグネチャーを復元し、ap_unescape_url_keep2f_ex() を導入しました。

3.6. クラウド

3.6.1. Aeolus Conductor

Aeolus Conductor は、多種多様なクラウドに対して同じ Web UI からすべてのクラウド上のインスタンス作成および管理を行うための Web UI とツールの集まりです。Web UI とサポートされるクラウド環境に関する詳細な情報は Aeolus ホームページを参照してください。

3.6.2. Condor Cloud

Condor Cloud は Infrastructure as a Service (IaaS) 型クラウドの実装です。イメージから多くの仮想マシンを作成したいと思った時に、それを可能にします。構成済みのホストのプールをまたいで展開することもできます。ユーザーインタフェースとして Deltacloud API (http://deltacloud.org) を利用します。バックエンドは Condor (http://www.cs.wisc.edu/condor/) で実装しています。libvirt と KVM を利用して仮想マシンを開始させます。

3.6.3. HekaFS

HekaFS 0.7 は GlusterFS のさまざまな機能をマルチテナントでの利用を可能とするために、セキュリティおよび管理の観点で機能強化したものです。
HekaFS のデプロイは、管理と I/O レベルで双方における認証を推奨するため、OpenSSL の公開鍵と証明書をセットアップする方法に関する知識を必要とします。
ネットワークとストレージの暗号化は、どちらもオプションです。使用すると性能面で著しいペナルティーを招きます。
Quotaおよび課金のサポートは、GlusterFS の中で現在開発中で、今回の HekaFS のリリースでは利用できません。
強化されたローカルファイルの分散/レプリケーションおよび広域拠点間のレプリケーションは、最終的な機能として計画されていますが、今回のリリースには含まれません。

3.6.4. Matahari

Fedora 16 の新機能として Matahari が搭載されます。これはローカルやネットワーク経由でシステムの監視と管理を行う API 群の集合です。Matahari の API はエージェントの集合によって提供されます。Matahari には新たなエージェントや API 群を追加するフレームワークが含まれています。
現在利用可能なエージェントは以下のものがあります。
  • Host - ホストの状態を表示および制御するためのエージェント
  • Networking - ネットワークデバイスの状態を表示および制御するためのエージェント
  • Services - システムサービスの状態を表示および制御するためのエージェント

3.6.5. pacemaker-cloud

Pacemaker-Cloud は単一ノード上で動く仮想マシン内のアプリケーションサービスに高可用性の仕組みを提供します。この機能は仮想マシンイメージの作成する仮想マシンにリソースを関連付け、デプロイ時にこれらのイメージを結合するシェルを提供します。デプロイ可能な状態で起動され、高可用性を実現するために監視することができます。もし仮想マシンやアプリケーションが落ちた場合、これらのコンポーネントは再起動されて MTTR (平均故障復旧時間) を削減し、手動制御による再起動に比べて可用性を向上させます。
systemd を利用する Fedora のゲスト仮想マシンは次の bugzilla で議論されている修正が rawhide にマージされるまで機能しません。詳しくは systemd defect 702621 を参照ください。

3.7. データベースサーバー

3.7.1. systemd

MySQL と PostgreSQL は起動時に systemd unit ファイルをネイティブで利用するように更新されました。これは SysV スタイルの init スクリプトに代わるものです。systemd では SysV スタイルのスクリプトの処理がかなり貧弱なために、 Fedora 15 では様々な不幸な問題が発生していました。データベースサーバーの起動に時間がかかるケースでも、いままでの SysV スクリプトに比べて優位性があります。systemd のために、サーバーが実際に準備できるまで起動を待機するようにしない理由はありません。

3.7.2. PostgreSQL

service postgresql initdbservice postgresql upgrade という操作が SysVinit スクリプトでは提供されていましたが、systemd 上で管理されている unit ファイルではこのような操作は行うことができません。postgresql-setup という新しいスタンドアローンのスクリプトが提供されます。このコマンドを使うことによって提供される機能として、例としては PostgreSQL データベースを次のように行うことで初期化することができます。
sudo postgresql-setup initdb
もし、同じマシン上で複数の PostgresSQL サーバーを動かしたい場合、postgresql.service ファイルをコピーし、少し変更することで、systemd のカスタムサービスとして動かすことができます。(カスタムサービスは /etc/systemd/system/ にファイルを置くことを忘れないでください。/lib/systemd/system/ ではありません。) 注意して頂きたい点としては、カスタムサービスのファイル内の PGDATA と PGPORT の設定を必ず他の値に変更してください。
/lib/systemd/postgresl.service から /etc/systemd/myservice.service へファイルをコピーし、新しいファイル内の PGDATA と PGPORT の設定を調整し変更します。あとは動かすだけです。
sudo postgresql-setup initdb myservice
postgresql-setuppostgresql.service の代わりに設定ファイルから PGDATA を展開します。
/etc/sysconfig/pgsql/ のファイルは使われなくなりました。

3.8. システムデーモン

3.8.1. systemd

Many service names have changed

Under systemd, the systemctl command replaces many operations previously performed by chkconfig, service, and ntsysv. In addition, the names of a number of services have changed.
In Fedora 16, most services are controlled by systemd. Refer to the Fedora System Administrators Guide, "Services and Daemons" for information on how to manage system services under systemd.

3.8.2. Chrony

Fedora 16 ではデフォルトの Network Time Protocol (NTP) クライアントとして Chrony を使用します。Chrony は、ノートPCのように常時ネットワーク接続がないシステムにおいてもうまく動作するよう設計されてます。また、標準的な ntp よりも速く時刻同期できます。Chrony は、仮想マシンで実行しているシステムにおいて使用されるとき、すぐに狂う時刻を訂正する助けにするために時刻の訂正のためのより大きな範囲や、時刻の素早い変更へのよりよい反応のような、いくつかの優位性があります。

3.8.3. HAL の削除

Fedora 16 は HAL デーモンおよび libhal を同梱していません。それらは udisksupower および libudev に置き換えられました。特定のアプリケーションが機能するために libhal を必要とするならば、新しい技術へ同様の機能が移植されるようバグ報告をしてください。