第1章 RHEL Atomic Host のインストール

1.1. 概要

Red Hat Enterprise Linux Atomic Host は、Linux コンテナーを Docker フォーマットで実行するために最適化された Red Hat Enterprise Linux 7 製品です。Red Hat Enterprise Linux Atomic Host は、Red Hat Enterprise Linux 7 で提供されている高度な技術を使用できるように設計されました。

Red Hat Enterprise Linux Atomic Host は、SELinux によるマルチテナント環境での強固な保護機能、およびアトミックなアップグレードとロールバック機能によるダウンタイムの少ない迅速で簡単なメンテナンスを提供しています。Red Hat Enterprise Linux Atomic Host は、Red Hat Enterprise Linux 7 と同じ RPM パッケージから配信されるアップストリームプロジェクトを使用します。

Red Hat Enterprise Linux Atomic Host には、Linux コンテナーをサポートするために以下のツールがプリインストールされています。

  • Docker
  • Kubernetes

Red Hat Enterprise Linux Atomic Host は、以下のテクノロジーを使用します。

  • OSTree および rpm-OSTree: アトミックなアップグレードと、アップグレードをロールバックする機能を提供します。
  • systemd: Linux システムにおける強力な新しい init システムにより、起動時間が速くなり、システムのオーケストレーションが容易になります。
  • SELinux: 完全なマルチテナントセキュリティーを提供するため、デフォルトで有効にされます。さらに Integrity Measurement Architecture (IMA)、audit、および libwrap が systemd から利用できます。

重要: Red Hat Enterprise Linux Atomic Host の管理方法は、その他の Red Hat Enterprise Linux 7 製品とは異なります。主に以下の点が異なります。

  • yum を使用せずにシステムをアップグレードします。
  • ローカルシステム設定の 2 つの書き込み可能なディレクトリー (/etc/ および /var/) があります。/usr/ ディレクトリーは読み取り専用でマウントされます。その他のディレクトリーは書き込み可能な場所へのシンボリックリンクです。たとえば、/home/ ディレクトリーは /var/home/ ディレクトリーへのシンボリックリンクです。
  • デフォルトのパーティション方法では、利用可能なほとんどの領域をコンテナーに割り当て、デフォルトのループバックの代わりに direct LVM を使用します。

ユーザーおよびホスト固有のデータは、/var/ ディレクトリーにのみ保存される必要があります。/etc/ ディレクトリー内の設定ファイルのみが変更対象になります。

1.2. システム要件

Red Hat Enterprise Linux Atomic Host は、過去 2 年以内に工場で生産された大半のハードウェアと互換性があります。ハードウェアの互換性は、古いシステムをお使いの場合やシステムをカスタマイズした場合にとりわけ重要になります。ハードウェアの仕様はほぼ毎日変更されるため、すべてのシステムの互換性を確認することが推奨されます。サポートされるハードウェアの最新リストについては、「Red Hat Hardware Compatibility List」を参照してください。システム要件の一般的な情報については、「Red Hat Enterprise Linux テクノロジーの機能と制限」を参照してください。

Red Hat Enterprise Linux Atomic Host のランタイム要件は Red Hat Enterprise Linux と同じです。ただし、ベアメタルまたは仮想環境の Anaconda ベースのインストール (インタラクティブ、キックスタート、および PXE) の場合はメモリーが 2GB 必要です。

1.3. RHEL Atomic Host の登録

ソフトウェアアップデートを有効にするには、Red Hat Enterprise Linux Atomic Host インストールを登録する必要があります。これは、以下に説明したとおりに subscription-manager コマンドで実行できます。お使いのシステムは、HTTP プロキシーを使用する必要があるネットワークに置かれます。詳細は、Red Hat ナレッジベースの記事「Red Hat Subscription Manager に HTTP Proxy を設定する」を参照してください。--name= オプションを使用すると、サブスクリプションレコードを表示する際に覚えやすい名前を使用できます。

$ sudo subscription-manager register --username=<username> --auto-attach

注意: Red Hat Enterprise Linux Atomic Host は Red Hat Subscription Manager (RHSM) とのみ連携します。Red Hat Enterprise Linux Atomic Host は RHN とは連携しません。

注意: Red Hat Enterprise Linux Atomic Host を使用するには、製品 ID 271 の Red Hat Enterprise Linux Atomic Host と製品 ID 61 の Red Hat Enterprise Linux Server を登録する必要があります。これらはどちらも同じエンタイトルメントを使用します。

システムが適切に登録されると、以下のように両方の ID が表示されます。

$ sudo subscription-manager list
+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Red Hat Enterprise Linux Atomic Host
Product ID:     271
Version:        7
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         02/27/2015
Ends:           02/26/2016

Product Name:   Red Hat Enterprise Linux Server
Product ID:     69
Version:        7.1
Arch:           x86_64
Status:         Subscribed
Status Details:
Starts:         02/27/2015
Ends:           02/26/2016

subscription-manager コマンドについては、『Red Hat Subscription Management Guide』の 3.2 「Registering from the Command Line」にも記載されています。

1.4. RHEL Atomic Host の設定

Red Hat Enterprise Linux Atomic Host は、/etc/ ディレクトリーの設定ファイルを使用して、Red Hat Enterprise Linux 7 と同様の方法で設定されます。Red Hat Enterprise Linux Atomic Host は、デスクトップを使用しない最小のサーバー製品です。したがって、GUI で使用されるグラフィカル設定ツールは利用できません。

現時点で Red Hat Enterprise Linux 7 の /etc/passwd ファイルに一覧表示されている一部のシステムユーザーは、読み取り専用の /usr/lib/passwd ファイルに移動しています。Red Hat Enterprise Linux Atomic Host のアプリケーションは Linux コンテナー内で実行されるため、これがデプロイメントに影響することはありません。useradd などの従来のユーザー管理ツールについては、/etc/passwd ファイルにローカルで追加したユーザーを書き込みます。

インストール時にネットワークを設定していない場合は、nmcli ツールを使用し、インストール後に設定することができます。以下のコマンドは、atomic というネットワーク接続の作成、ホスト名のセットアップ、およびその接続のアクティブ化を実行します。

# nmcli con add type ethernet con-name atomic ifname eth0
# nmcli con modify atomic ipv4.dhcp-hostname atomic ipv6.dhcp-hostname atomic
# nmcli con up atomic

nmcli ツールの使用方法についての詳細は、『Red Hat Enterprise Linux 7 ネットワークガイド』の「2.3.2. nmcli を使用したネットワーク接続」を参照してください。

Red Hat Enterprise Linux 7 の設定方法についての詳細は、『Red Hat Enterprise Linux 7 システム管理者のガイド』を参照してください。

1.5. インストールのアップグレードおよびダウングレード

RHEL Atomic Host は、オープンソースツールの 1 つである rpm-OSTree を使用し、起動可能で不変の、バージョン管理された RPM コンテンツのファイルシステムツリーを管理します。yum を使用し、従来のパッケージ管理モデルを持つその他の Red Hat Enterprise Linux 7 製品とは異なり、Red Hat Enterprise Linux Atomic Host は OSTree を使用します。新しいオペレーティングシステムの root を用意し、次回の起動時のデフォルトに設定するとアップグレードが行われます。

1.5.1. 新規バージョンへのアップグレード

アップグレードを実行するには、以下のコマンドを実行します。

$ sudo atomic host upgrade
$ sudo systemctl reboot

HTTP プロキシーが必要なシステムを使用している場合は、環境変数でプロキシーを設定できます。環境変数を設定するには、以下のようなコマンドを使用します。

$ sudo env http_proxy=http://proxy.example.com:port/ atomic host upgrade

1.5.2. 直前バージョンへのロールバック

Red Hat Enterprise Linux Atomic Host の直前のインストールに戻すには、以下のコマンドを実行します。

$ sudo atomic host rollback
$ sudo systemctl reboot

初回アップグレード後は、Red Hat Enterprise Linux Atomic Host の 2 つのバージョンがシステムで利用可能になります。1 つ目は現在実行されているバージョンです。2 つ目は、アップグレードでインストールされたばかりの新規バージョンか、または最新のアップグレード前にインストールされていたバージョンです。

重要

設定は複数回のアップデート後も保持されますが、以前のバージョンに戻す場合は保存されません。つまり、設定を変更した後に直前のバージョンにロールバックする場合は、変更した設定が元に戻ります。

注記

atomic host upgrade コマンドを実行すると、Red Hat Enterprise Linux Atomic Host の実行されていないバージョンの置換が実行されます。さらに、このバージョンは次回の起動時に使用されるように設定されます。

実行されているオペレーティングシステムのバージョンを判別するには、以下のコマンドを実行します。

$ sudo atomic host status

/ostree/deploy/rhel-atomic-host/ ディレクトリーにディレクトリーのハッシュ名が含まれる出力は以下のようになります。

$ sudo atomic host status
  TIMESTAMP (UTC)         VERSION   ID             OSNAME               REFSPEC
* 2015-05-07 19:00:48     7.1.2     203dd666d3     rhel-atomic-host     rhel-atomic-host:rhel-atomic-host/7/x86_64/standard
  2015-04-02 20:14:06     7.1.1-1   21bd99f9f3     rhel-atomic-host     rhel-atomic-host:rhel-atomic-host/7/x86_64/standard

この出力例は、次回の再起動時にバージョン 7.1.1-1 が起動することを示しています。次回の再起動時に起動するバージョンは先頭に表示されます。

また、この例ではバージョン 7.1.2 が現在実行中であることを示しています。現在実行中のバージョンにはアスタリスク (*) が付けられます。

この出力は atomic host upgrade コマンドの実行後すぐに作成されました。したがって、新規バージョンは次回の再起動時に適用されるように設定されています。