Red Hat Training
A Red Hat training course is available for Red Hat Satellite
スタートガイド
Red Hat Satellite での基本セットアップと設定
Red Hat Satellite Documentation Team
satellite-doc-list@redhat.com
概要
第1章 チャンネル管理
- Red Hat チャンネル - Red Hat のリリース済みパッケージ群を含む公式の Red Hat リポジトリーです。
- カスタムチャンネル - Satellite 管理者が組織やグループのニーズに基づいて作成するチャンネルです。これらは組織によって管理され、サードパーティーのパッケージとリポジトリーが含まれる場合もあります。
1.1. Red Hat Network チャンネルの管理
1.1.1. ベースチャンネルと子チャンネルの区別
1.1.2. Red Hat Satellite へのシステムのサブスクライブ
- アクティベーションキーを使って登録する - アクティベーションキーを使用する方法が簡単で速いため、Red Hat Satellite Proxy Server や Red Hat Satellite Server いずれかのクライアントとしてシステムを登録する場合には適した方法になります。アクティベーションキーを使用して登録されたシステムはそのアクティベーションキーに関連付けられたすべてのチャンネルにサブスクライブされます。アクティベーションキーに関しては 『Red Hat Satellite クライアント設定ガイド』 または 『Red Hat Satellite リファレンスガイド』 をご覧ください。
- インストール時に登録する - Red Hat Update Agent または Red Hat Network Registration Client のいずれかで初めてシステムを登録すると、そのシステムの Red Hat Enterprise Linux バージョンに応じたベースチャンネルが自動的に割り当てられます。そのデフォルトのベースチャンネルをプライベートのベースチャンネルに変更する場合は、一旦システムの登録を完了させた後に、Red Hat Satellite を使用してシステム単位で行なうことができます。これらのアプリケーションの使い方については、エンタイトルメントレベル (Management または Provisioning) に応じて 『Red Hat Satellite リファレンスガイド』 の該当する章を参照してください。
- Web サイトでのサブスクライブ - システムのベースチャンネルに応じて、さまざまな子チャンネルのサブスクライブが可能です。子チャンネルへのサブスクライブは Satellite Web インターフェースから行なうことができます。カスタムのベースチャンネルを作成している場合、そのカスタムのベースチャンネルへの再割り当ても Web サイトから行なうことができます。オンラインでのチャンネルへのサブスクライブについてさらに詳しくは、『Red Hat Satellite リファレンスガイド』 の Satellite Web サイトの章を参照してください。
spacewalk-channel
コマンドラインツール (CLI) の使用 -spacewalk-channel
を使用すると、Red Hat Network Web サイトにログインしなくてもコマンドラインを使って特定のチャンネルへのサブスクライブを行なうことができます。いくつか例を示します。2 種類のチャンネルにサブスクライブさせる場合:# spacewalk-channel --add -c rhn-tools-rhel-x86_64-server-6 -c \ rhel-x86_64-server-6 --user username --password password
チャンネルのサブスクライブを中止する場合:# spacewalk-channel --remove -c rhn-tools-rhel-x86_64-server-6 -c \ rhel-x86_64-server-6 --user username --password password
サブスクライブしているチャンネルを表示させる場合:# spacewalk-channel --list
1.1.3. Red Hat Satellite からの Red Hat ベースチャンネルの削除
- 特定のアーキテクチャーが組織によってサポートされておらず、利用できない。
- 特定のアーキテクチャーのサブスクリプションの有効期限が切れており、更新が利用できない。
- 製品チャンネルのサポートが終了している。
- Red Hat Satellite サーバーにディスクの空き容量が必要である。
spacewalk-backend-tools バージョン 0.5.28.49 以降が以下のコマンドの実行に必要です。
- Red Hat Satellite サーバーに root としてログインします。
- Satellite がサブスクライブされているすべてのサブスクライブしているチャンネルを表示するには:
# spacewalk-remove-channel --list
削除するチャンネルに注意してください。これは、channel_label
というチャンネルで、次のステップで使用されます。 - チャンネルを Satellite から削除するには:
# /usr/bin/spacewalk-remove-channel -c channel_label --unsubscribe
上記の設定で、--unsubscribe
は、削除するチャンネルにサブスクライブされているすべてのシステムのサブスクライブを自動的に中止します。
注記
1.1.4. リポジトリーの管理
1.1.4.1. リポジトリーの追加
- チャンネル管理者または組織管理者としてログインします。
- チャンネル → ソフトウェアチャンネルの管理 → リポジトリーの管理 をクリックします。
- ページの右上にある、新規リポジトリーの作成 をクリックします。
- 以下のフィールドに入力します。
- リポジトリーラベル - リポジトリーを識別する名前です
- リポジトリー URL - リポジトリーの場所への有効な URL。
- SSL CA 証明書 - HTTPS 上でリポジトリーにアクセスするために必要な SSL 証明機関。
- SSL クライアント証明書 - HTTPS 上でリポジトリーにアクセスするために必要な SSL 証明書。
- SSL クライアントキー - HTTPS 上でリポジトリーにアクセスするために必要な SSL キー。
注記
システム → キックスタート → GPG および SSL キー と移動して、新しい SSL 証明書の作成および既存の証明書の管理を行います。 - Filters - リポジトリーに適用するパッケージフィルターを定義します。プラス (+) を使用してパッケージを追加し、マイナス (-) を使用してパッケージを除外します。以下の例では、
kernel
パッケージと、zsh-html
以外のzsh
で始まるパッケージが除外されます。-zsh*,kernel +zsh-html
- リポジトリーの作成 を作成します。
1.1.4.2. リポジトリーのチャンネルへの追加
- チャンネル → ソフトウェアチャンネルの管理 をクリックします。
- リポジトリーを組み込む特定のチャンネルを選択します。
- リポジトリー サブタブを選択し、チャンネルに追加するリポジトリーを選択します。
- チャンネルに追加するリポジトリーを選択します。
- リポジトリーの更新 をクリックします。
1.1.4.3. リポジトリーの同期のスケジューリング
- チャンネル → ソフトウェアチャンネルの管理 をクリックします。
- リポジトリーがメンバーとなるチャンネルを選択します。
- リポジトリー → 同期 をクリックします。
- 同期をスケジュールする時間を選択します。同期を即時にスケジュールするには 今すぐ同期 をクリックするか、または以下のオプションを指定してスケジュールを選択します。
- スケジュールを無効にする - 現在実施されているスケジュールを無効にします。
- 毎日 - 指定される時間に、ソースリポジトリーとの日次の同期をスケジュールします。
- 毎週 - 指定される日時に、ソースリポジトリーとの週次の同期をスケジュールします。
- 毎月 - 指定される月と時間に、月次の同期をスケジュールします。
- カスタム Quartz 形式 - 同期のカスタムスケジュールを定義します。
- 変更を保存し、同期をスケジュールするには、スケジュール をクリックします。
注記
1.1.4.4. リポジトリーの削除
- チャンネル管理者または組織管理者としてログインします。
- チャンネル → ソフトウェアパッケージの管理 → リポジトリーの管理 をクリックします。
- 削除するリポジトリーを選択します。
- ページの右上にある、リポジトリーの削除 をクリックします。
1.2. カスタムチャンネルの作成と管理
- 有料サービスチャンネル - 有料サービスチャンネルへのアクセスを直接購入した場合、または特定の Red Hat ソリューションと合わせてアクセスを購入した場合に使用できるチャンネルです。Red Hat Enterprise Linux などが有料サービスチャンネルの一例です。
- カスタムチャンネル - カスタムのパッケージを管理する目的で組織の管理者によって作成されるチャンネルです。プライベートのチャンネル とも呼ばれるこのチャンネルは、デフォルトでは作成側の企業または組織にしか表示されません。このため、それらの企業または組織以外からのアクセスは一切ありません。ただし、プライベートのチャンネルは、組織的な信頼を設定し、チャンネルを共有することで複数の組織間での共有が可能になります。
注記
1.2.1. ツール、リポジトリー、および実践例について
- Red Hat Network Package Manager - カスタムのパッケージを Red Hat Satellite Proxy Server 上のカスタムチャンネルにプッシュする際に使用します。
- Red Hat Network Push - カスタムのパッケージを Red Hat Satellite Server 上のカスタムチャンネルにプッシュする際に使用します。
- Red Hat Satellite Synchronization Tool - 指定の場所で、Red Hat Network Classic から Red Hat Satellite サーバーに標準パッケージをインポートしたり同期したりする際に使用します。インターネット経由または CD や DVD の ISO イメージを利用して行います。
注記
1.2.2. ソフトウェアチャンネルの作成
- チャンネル管理者として Red Hat Satellite Web サイトにログインします。
- 上部のナビゲーションバーで チャンネル タブをクリックしてから左側のナビゲーションバーにある ソフトウェアチャンネルの管理 ボタンをクリックします。
- ソフトウェアチャンネル管理 ページで右上にある 新しいソフトウェアチャンネルの作成 をクリックします。Red Hat Satellite Server の管理者には チャンネルのクローン作成 のオプションが表示されます。詳細は 「ソフトウェアチャンネルのクローン作成」 を参照してください。
- 新規チャンネル ページ上でページの指示に従ってチャンネルの詳細を定義します。ほとんどのチャンネル管理作業でチャンネルを識別する際は チャンネルラベル が使用されるため、ラベルにはわかりやすいラベル名を付けてください。既存のチャンネルの詳細を参照するとよいでしょう。GPG キーの URL はサーバー上のキーの配置場所になります。この配置場所は、クライアント設定のプロセスで定義します。『Red Hat Satellilte クライアント設定ガイド』 を参照してください。GPG キー ID は「DB42A60E」などの固有の識別子となります。GPG キーのフィンガープリントは「CA20 8686 2BD6 9DFC 65F6 ECC4 2191 80CD DB42 A60E」などの文字列になります。キー ID はキーのフィンガープリント内の最後の 8 文字と同じである点に注意してください。
- 終了したら、ページ下部の チャンネルの作成 をクリックします。
1.2.3. パッケージのソフトウェアチャンネルへの割り当て
- 上部ナビゲーションバーにある チャンネル タブ、 次に左側のナビゲーションバーの ソフトウェアチャンネルの管理 をクリックします。
- ソフトウェアチャンネル管理 ページで、 パッケージを受信するチャンネルのチャンネル名をクリックします。
- ベースチャンネルの詳細 ページで、パッケージ のタブ、次に 追加 のサブタブをクリックします。編集しているチャンネルにパッケージを関連付けるには、表示 のドロップダウンメニューからそのパッケージを含むオプションを選択し、表示 をクリックします。
注記
編集しているチャンネルにすでに割り当てられているパッケージは表示されません。特定のチャンネルに割り当てられていないパッケージは チャンネルに割り当てられていないパッケージ (Packages in no channels) のメニューアイテムで確認できます。管理している全パッケージ (All managed packages) を選択すると使用できる全パッケージが表示されます。 - 編集しているチャンネルに割り当てるパッケージのチェックボックスを選択して、ページ右下にある パッケージの追加 をクリックします。選択したパッケージが記載された確認ページが表示されます。
- 確認 をクリックするとパッケージがチャンネルに割り当てられます。 管理しているソフトウェアチャンネルの詳細 ページの 一覧表示/削除 のサブタブに新しいパッケージが表示されます。
1.2.4. チャンネル管理の特権の管理
- 組織の管理者として Red Hat Satellite Web サイトにログインします。
- 上部ナビゲーションバーで ユーザー タブをクリックしてチャンネル管理の機能を使用するユーザー名をクリックします。
- ユーザーの詳細 ページで ロール セクションまでスクロールして チャンネル管理者 のラベルが付いたチェックボックスを選択します。ページ下部にある サブミット をクリックします。組織の管理者にはチャンネル管理者の特権が自動的に与えられます。
- このユーザーで Red Hat Satellite Web サイトにログインし、上部ナビゲーションバーの チャンネル タブをクリックして ソフトウェアチャンネルの管理 ボタンが左側のナビゲーションバーに表示されることを確認します。
1.2.5. カスタムチャンネルのパーミッションの変更
- 本番稼働前にソフトウェアの各種設定をテストするなどの評価目的で、チャンネルのコンテンツを特定の組織とシステムに制限する
- ライセンス化されているパッケージまたはサードパーティーのパッケージの制御された配信
1.2.5.1. カスタムチャンネルのユーザーパーミッションの変更
パーミッションの変更を必要とする既存のチャンネルがあることを前提とします。
- チャンネルまたは組織の管理者として Satellite サーバーにログインします。
- チャンネル → ソフトウェアチャンネルの管理 をクリックします。
- パーミッションを変更する必要のあるチャンネルをクリックします。
- チャンネルアクセス制御 → ユーザー毎のサブスクリプション制限、および この組織内の指定されたユーザーのみがこのチャンネルにサブスクライブ (Only selected users within your organization may subscribe to this channel.) までスクロールします。
- チャンネルの更新をクリックして変更を保存します。
- サブスクライバー サブタブをクリックして、チャンネルにサブスクライブできるはずのユーザーを選択します。
- 更新 をクリックします。
1.2.5.2. カスタムの企業/組織のパーミッションの変更
パーミッションの変更を必要とする既存のチャンネルがあることを前提とします。
- チャンネルまたは組織の管理者として Satellite サーバーにログインします。
- チャンネル → ソフトウェアチャンネルの管理 をクリックします。
- パーミッションを変更する必要のあるチャンネルをクリックします。
- チャンネルアクセス制御 → 組織共有 までスクロールします。以下のいずれかを選択します。
- このチャンネルはプライベートのため、他の組織はアクセスできません。
- このチャンネルは保護されているため、特定の信頼された組織のみがアクセスできます。
- このチャンネルは公開されているため、この組織が信頼するすべての信頼された組織がアクセスすることができます。
- 「チャンネルの更新」をクリックします。
- (オプション) 保護されたチャンネルを選択すると、Satellite サーバーは、チャンネル共有に対して行われた変更を確認するように指示します。チャンネルパーミッションの変更によって削除されるチャンネルにシステムがサブスクライブされている可能性があるためです。以下のいずれかを実行するように選択します。
- アクセスを拒否して確認 をクリックして、信頼された組織から以前にサブスクライブされたすべてのシステムのサブスクライブを中止します。
- アクセスを許可して確認 をクリックして、信頼された組織からサブスクライブされたシステムを保持します。
- いずれかの操作を実行する前に、システムと信頼された組織を確認する場合は キャンセルをクリックします。
1.2.6. ソフトウェアチャンネルの管理
警告
1.2.7. ベースチャンネルの詳細
- 詳細 - 親チャンネル、チャンネル名、要約および説明などのチャンネルに関する基本的な情報が表示されます。この情報の一部は変更が可能です。また、組織の管理者とチャンネル管理者からは ユーザー毎のサブスクリプション制限 のコンボボックスが見えるようになっています。すべてのチャンネルのデフォルトの動作により、すべてのユーザーがシステムをこのチャンネルにサブスクライブさせることができるようになっています。このボックスのチェックを外して チャンネルの更新 をクリックすると サブスクライバー タブが表示されます。このタブを使用して特定のユーザーにこのチャンネルへのサブスクリプションパーミッションを与えます。
- 組織 - チャンネル内のコンテンツの表示および使用へのアクセスをチャンネルが付与した組織の一覧が表示されます。これらの組織は、組織の信頼が確立されているために表示されます。このチャンネルへの組織によるアクセスはここで修正できます。このチェックボックスを選択して アクセスの変更 をクリックし、組織のアクセスを削除できます。組織の管理者とチャンネル管理者は全チャンネルへのサブスクリプションのアクセスが自動的に与えられていることに注意してください。
- マネージャー - カスタムチャンネルの管理パーミッションを有するユーザーを一覧表示します。組織の管理者およびチャンネル管理者に対してこのタブが表示されます。このチャンネルのすべての管理パーミッションを許可するユーザーのチェックボックスを選択して 更新 をクリックします。このステータスでは、ユーザーは新規のチャンネルを作成することはできません。組織の管理者とチャンネル管理者は全チャンネルへの管理アクセスが自動的に与えられていることに注意してください。
- エラータ - 各カスタムチャンネルに関連付けられたエラータを表示します。Red Hat Network が Red Hat Enterprise Linux ソフトウェアに対してエラータ更新を生成し、配信するのと同様に、最新コードによるサーバー更新の一環として、カスタムチャンネルにエラータ更新を配信します。このタブには、エラータの表示や追加、削除、およびクローン作成などができる 一覧表示/削除、追加、および クローン作成 などのサブタブが含まれています。エラータのクローン作成は Red Hat Satellite Server からしか行えませんので注意してください。
- 一覧表示/削除 - カスタムチャンネルに現在関連付けられているすべてのエラータを表示し、その関連付けを取り消すことができます。チャンネルからエラータを削除するには、エラータのチェックボックスを選択してページ右下の エラータの削除 をクリックします。削除するエラータが一覧表示されている確認のページが表示されます。確認 をクリックして削除の作業を完了します。
- 追加 - チャンネルにエラータを追加できます。チャンネルに適用できる可能性があるエラータがすべて表示されます。チャンネルにエラータを追加するには、該当のチェックボックを選択して エラータの追加 をクリックします。エラータの管理については、5章エラータ管理 を参照してください。
- クローン作成 - Satellite を利用している場合、これを使用するとクローン作成したチャンネル用にエラータと関連のパッケージを複製することができます。このサブタブは、「オリジナルの状態」または「エラータ選択」のいずれかのオプションを使ってクローン作成したチャンネル用にフィールドが入力された状態ですぐに表示されます。ターゲットチャンネル (元となったチャンネル) に対してエラータが発行されると常に クローン タブもエラータを取得します。これは、現在の状態のオプションでチャンネルをクローン作成した場合に役立ちます。クローン作成オプションの詳細については 「ソフトウェアチャンネルのクローン作成」 を参照してください。クローン作成したチャンネルにターゲットチャンネルからのエラータを組み込むには、各アドバイザリのドロップダウンメニューから マージ または クローン作成 のいずれかを選択します。マージ オプションは、そのエラータのクローンが以前に作成されている場合にのみ表示されます。エラータをチャンネル全体に関連付ける際に重複エントリを避けるために使用します。以前のクローンからエラータに修正を加える場合など、新規のエントリを作成する場合は、クローン作成 オプションを使用します。デフォルトでは、クローン作成したエラータはオリジナルの Red Hat アドバイザリーのラベルを継承し、「RH?」のプレフィックス部分が「CL」になります。たとえば、RHSA-2003:324 は CLA-2003:324 になります。以降の同じアドバイザリーのクローンは「CM」や「CN」などのように 2 番目の文字がその順序を表します。ラベルは「エラータ管理」ページで変更することができます。詳細は 5章エラータ管理 を参照してください。以前にクローンされたエラータには、マージ オプションのほかに、所有しているエラータ の列内に値が含まれます。エラータラベルは詳細ページにリンクしています。そのクローンが作成されたエラータは発行済みなのか、またはオリジナルのアドバイザリーから変更が加えられたのかは、 括弧で囲まれた pub と mod の各フラグで識別します。フラグの前にプラスの印 + があれば肯定を示し、そのクローンのエラータは発行されています。 フラグの前のマイナスの印 - は否定を意味します。たとえば、(-mod) はパッケージが削除されたという意味になる場合があります。カスタムのエラータの発行および編集については 5章エラータ管理 を参照してください。クローン作成したチャンネルからエラータを排除する場合は、ドロップダウンメニューで 何も行わない を選択します。変更を確認したら エラータのクローン作成 をクリックします。 確認のページで発生する変更を確認して エラータの更新 をクリックします。
- 同期 - 最初にチャンネルのクローンを作成した時には含まれておらず、その後の更新で追加されたエラータパッケージを表示します。このページでは、必要なチェックボックスに印を付け エラータの同期 をクリックすることで、クローン作成されたチャンネルを現在のエラータに同期させることができます。
- パッケージ - 各カスタムチャンネルに関連付けされたパッケージを表示します。このタブにはパッケージの表示、追加および削除を行うことができる 一覧表示/削除、追加、比較 などのサブタブが含まれています。
- 一覧表示/削除 - 現在、カスタムチャンネルに関連付けられている全パッケージを表示します。また、その関連性を取り消すこともできます。チャンネルからパッケージを削除する場合は、そのパッケージのチェックボックスを選択してページ右下の パッケージの削除 をクリックします。削除対象のパッケージを一覧表示した確認のページが表示されます。確認 をクリックして削除作業を完了します。
重要
このページに表示される一覧は、ソフトウェアチャンネルの詳細 ページで使用できる標準的なパッケージの一覧とは異なり、パッケージの最新バージョンだけでなくデータベースにある全バージョンを表示します。最新バージョンを削除するとパッケージの旧バージョンに戻ることができます。 - 追加 - チャンネルにパッケージを追加することができます。利用可能なパッケージを表示するには 表示 ドロップダウンメニューから 1 つのオプションを選択して 表示 をクリックします。編集中のチャンネルにパッケージを追加する場合は、該当するチェックボックスを選択して パッケージの追加 をクリックします。この手順に関する詳細は 「パッケージのソフトウェアチャンネルへの割り当て」 を参照してください。
- 比較 - 異なるチャンネル間でパッケージ一覧の比較ができます。違いを見るには、「比較対照 (Compare to):」 ドロップダウンメニューからもう1つのチャンネルを選択して 比較 をクリックします。両方のチャンネルには含まれていないパッケージがすべて表示され、それぞれの既存チャンネルの場所が示されます。
- リポジトリー - リポジトリーの管理 を選択して、チャンネルに
yum
リポジトリーを割り当てリポジトリーの内容を同期します。- 追加/削除 - 設定したリポジトリーの一覧を表示します。リポジトリー名の横にあるチェックボックスを選択してから リポジトリーの更新 をクリックするとリポジトリーの追加や削除を行うことができます。
- 同期 - 設定したリポジトリーを一覧表示します。同期のスケジュールはドロップダウンボックスを使って設定できます。または、今すぐ同期 をクリックするとすぐに同期を開始することもできます。
1.2.8. ソフトウェアチャンネルのクローン作成
- 上部ナビゲーションバーの チャンネル タブ、次に左側のナビゲーションバーの ソフトウェアチャンネル管理 をクリックすると、ソフトウェアチャンネル管理 のページに移動します。
- 右上の チャンネルのクローン をクリックします。クローン作成のオプションが 3 つ表示されます。チャンネルの現在の状態、チャンネルのオリジナルの状態、またはエラータ選択の 3 つです。詳細については Web ページに記載されていますが以下に要約します。
- チャンネルの現在の状態 (Current state of the channel) - 現在、ターゲットチャンネルにある最新の全パッケージと全エラータです。
- チャンネルのオリジナルの状態 (Original state of the channel) - ターゲットチャンネルからの全オリジナルパッケージを含みます。ただし、エラータや関連の更新パッケージは含まれません。
- エラータ選択 (Select Errata) - ターゲットチャンネルからの全オリジナルパッケージが含まれます。このオプションでは特定のエラータや関連の更新パッケージを除外することができます。
- クローン フィールド内のラジオボタンを使用して該当オプションを選択します。 クローン作成元 (Clone From) ドロップダウンメニューを使ってターゲットチャンネルを特定し、チャンネルの作成 をクリックします。
- 「ソフトウェアチャンネルの作成」 で説明されているとおり、 新規のソフトウェアチャンネル (New Software Channel) ページのフィールドを入力します。 デフォルトの値のままでよいでしょう。
- チャンネルの作成 をクリックします。「オリジナルの状態」または「現在の状態」のいずれかを選択すると、管理しているソフトウェアチャンネルの詳細 ページの 詳細 タブが表示されます。新しいチャンネルの設定を変更します。詳しくは、「ベースチャンネルの詳細」 を参照してください。チャンネルのクローン作成に「エラータ選択」のオプションを選んだ場合は、管理しているソフトウェアチャンネルの詳細 ページの クローン サブタブにリダイレクトされます。クローンや新しいチャンネルへの組み込みを行うには、エラータやクローンに関連するパッケージを個別に選択する必要がある場合があります。手順は 「ベースチャンネルの詳細」 を参照してください。
注記
spacewalk-clone-by-date
というコマンドです。
1.2.9. 特定の更新レベルからのカスタムチャンネルの作成
- 最新の更新ではなくマイナーリリースの更新のみを必要とするシステムを含む制御された環境
- 特定のパッケージセットを含むテスト環境
- 特定のバージョンの機能を要求するアプリケーションを含むシステム
以下のソリューションを実装するには、Satellite Server が Red Hat Network Tools チャンネルにサブスクライブされており、spacewalk-remote-utils が Satellite Server 上にインストールされている必要があります。パッケージは Red Hat Network Tools チャンネルに含まれています。
- Satellite サーバーに root としてログインします。
- Red Hat Satellite の特定の更新レベルからカスタムチャンネルを作成します。
# spacewalk-create-channel --user=admin --server=localhost --version=6 --update=GOLD --release=Server --arch=x86_64 --destChannel=gold-rhel6 You have not specified a source channel, we will try to determine it from inputs Trying with source channel: rhel-x86_64-server-6 Creating channel, gold-rhel6, with arch x86_64 2797 packages in source file to push. Pushing 2797 packages, please wait. Successfully pushed 2797 packages out of 2797 # spacewalk-create-channel -l admin -s localhost -d update1-rhel6 -D /usr/share/rhn/channel-data/6-u1-server-x86_64 Password: You have not specified a source channel, we will try to determine it from inputs Trying with source channel: rhel-x86_64-server-6 Creating channel, update1-rhel6, with arch x86_64 2857 packages in source file to push. Pushing 2857 packages, please wait. Successfully pushed 2857 packages out of 2857
上記の設定で、- -lUSER, --user=USER - サーバーへの接続に使用するユーザー名です。
- -sSERVER, --server=SERVER - 接続先の Satellite または Spacewalk サーバーのホスト名または IP アドレスです。デフォルトは localhost です。
- -vVERSION, --version=VERSION - 作成するチャンネルのバージョンです (例: 6、5、4)。
- -rRELEASE, --release=RELEASE - 作成するチャンネルのリリースです (例: AS、ES、WS、Server、Client、Desktop)。
- -uUPDATE_LEVEL, --update=UPDATE_LEVEL - 作成するチャンネルの更新レベルです (例: GOLD、U1、U2、U3、U4、U5、U6、U7、U8、U9)。ここで、GOLD は初期リリースを表します。
- -aARCH, --arch=ARCH - 作成するチャンネルのアーキテクチャーです (例: i386、ia64、ppc、s390、s390x、x86_64)。
- -dDEST_CHANNEL, --destChannel=DEST_CHANNEL - 宛先チャンネルのラベルです。これは、表示されていない場合に作成されます。
- -DDATAFILE, --data=DATAFILE - 宛先チャンネルに移動させる RPM 一覧へのパスです。バージョン、リリース、更新、およびアーキテクチャーが指定されていない場合にのみ使用されます (オプション)。
注記
1.2.10. ソフトウェアパッケージの削除
警告
- パッケージ管理 ページに移動し、ドロップダウンメニューからパッケージを含むオプションを選択し、パッケージの表示 をクリックします。
- 該当するチェックボックスを選択して 削除の確認 をクリックします。パッケージの一覧が記載された確認ページが表示されます。パッケージを完全に削除するには、パッケージの削除 をクリックします。
注記
1.2.11. ソフトウェアチャンネルの削除
注記
重要
- チャンネルを削除してもそのチャンネルのパッケージはサーバー上に残ります。チャンネル削除後にパッケージも削除する方法があります。
- チャンネルを削除すると、そのチャンネルに関連するエラータの行き所がなくなり孤立する可能性があります。
- Satellite サーバーでは、子チャンネルがある場合には親チャンネルの削除は行なわれません。まず子チャンネルを削除してから親チャンネルを削除するようにしてください。
- チャンネルを削除する前に、キックスタートディストリビューションの関連付けの解除、またはキックスタートディストリビューションの削除を行なってください。
- Proxy で設定されたチャンネルが Satellite に接続されている場合は、Red Hat Satellite Proxy Server 上でチャンネルを削除してください。
1.2.12. カスタムパッケージのアップロードと保守
警告
1.2.12.1. Red Hat Satellite Proxy Server へのパッケージのアップロード
spacewalk-proxy-package-manager
RPM パッケージとその依存パッケージをインストールします。このパッケージは登録している Red Hat Satellite Proxy Server のシステム群で使用することができます。yum install spacewalk-proxy-package-manager
を実行してインストールを行います。
注記
*.rpm
) は Red Hat Satellite Proxy Server に収納されます。このため、カスタムのパッケージは Red Hat Satellite Web サイトに表示されていてもダウンロードすることはできません。クライアントシステムにカスタムのパッケージを取得させる場合は yum install
を使用してください。
1.2.12.1.1. Red Hat Network Package Manager の設定と使用
scp
を使用します。
# scp foo.rpm root@rhnproxy.example.com:/tmp
注記
# rhn_package_manager -c label_of_private_channel pkg-list
-c
または --channel
を使用)、アップロードしたパッケージのヘッダーは指定した全チャンネルにリンクされます。チャンネルを指定しないと、そのパッケージは パッケージの管理 ページの チャンネルがありません のセクションに置かれます。パッケージを再割り当てする方法については 「パッケージのソフトウェアチャンネルへの割り当て」 を参照してください。
-d
オプションを使用してチャンネルに追加するパッケージを含んだローカルのディレクトリーを指定することもできます。 Red Hat Network Package Manager は標準入力からパッケージの一覧を読み取ることもできます (--stdin
を使用)。
/etc/rhn/default/rhn_proxy_package_manager.conf
に格納されています。このデフォルト設定ファイル内に指定されているオプションの値は、メインの設定ファイル /etc/rhn/rhn.conf
の設定値や Red Hat Network Package Manager に渡すコマンドラインオプションなどで上書きすることができます。
.rhn_package_manager
から読み込まれます。また、ここにもない場合は最終的には /etc/rhn/rhn_package_manager.conf
から読み込まれます。これらのファイルが他の人から読み取られないよう必ず適切なパーミッションを持たせるようにしてください。
# rhn_package_manager -s -c name_of_private_channel
-s
オプションを使用することで、不足している全パッケージが一覧表示されます。このパッケージは、Red Hat Satellite Server にはアップロードされているものの、ローカルのディレクトリーにはないパッケージになります。このオプションを使用する場合は組織の管理者になる必要があります。アプリケーションにより Red Hat Satellite のユーザー名とパスワードの入力が求められます。
--copyonly
オプションは引数に記載されているファイルを Satellite にはアップロードせずに指定のチャンネルにコピーします。Red Hat Satellite Proxy Server 上のチャンネルにパッケージが1つ不足しているものの、このチャンネル内の全パッケージ群の再インポートを行ないたくない場合に便利です。
# rhn_package_manager -c channel-name --copyonly /path/to/missing/file
# rhn_package_manager -l -c name_of_private_channel
-l
オプションを使用すると指定したチャンネル内にある各パッケージのパッケージ名、バージョン番号、リリース番号、アーキテクチャー、およびチャンネル名が表示されます。他のオプションについては 「Red Hat Network Package Manager の設定と使用」 を参照してください。
rhn_package_manager
) の全コマンドラインオプションの要約については、「Red Hat Network Package Manager の設定と使用」 をご覧ください。
表1.1 rhn_package_manager
オプション
オプション | 説明 |
---|---|
-v, --verbose | 標準の出力メッセージの詳細レベルが冗長になります。 |
-d, --dir DIRECTORY_NAME | このディレクトリーからのパッケージを処理します。 |
-c, --channel CHANNEL_NAME | パッケージを検索するチャンネルを指定します。 -c を複数回使用すると複数のチャンネルを指定することができます (例、 -c channel_one -c channel_two )。 |
-n, --count NUMBER | 呼び出しごとに指定したヘッダー数を処理します - デフォルトは 32 です。 |
-l, --list | 指定したチャンネルのパッケージを一覧表示します。 |
-s, --sync | ローカルのディレクトリーがサーバーと同期しているかどうか確認します。 |
-p, --printconf | 現在の設定を表示して終了します。 |
--newest | サーバーにあるパッケージより新しいパッケージのみをプッシュします。ソースパッケージはバージョン同士の比較が行われないという点で特殊となります。新しいかどうかの定義は関連するバイナリパッケージに依存します。このオプションを Red Hat Network Package Manager とソースパッケージだけで使用すると、パッケージのアップロードは行なわれますが、関連バイナリパッケージがアップロードされるまでソースパッケージは Red Hat Satellite Web インターフェースに表示されません。 --source と比較して見てください。--source --newest を一緒に使用すると、単独ソースパッケージが新しいパッケージで 更新される ので、関連バイナリパッケージを先にアップロードしておく必要はありません。 |
--source | 指示されたソースパッケージをアップロードします。この場合、ソースパッケージはプレーンで単独のパッケージとして扱われ、別途すでに存在するバイナリパッケージと関連する特殊なソースパッケージとしては 扱われません。例えば、通常のソース制御管理とは別に、開発者やテスターに向けてアプリケーションソースを配布したい場合などに使用できます。 |
--stdin | 標準出力からパッケージ名を読み込みます。 |
--nosig | パッケージに署名がない場合も失敗しません。 |
--no-ssl | SSL をオフにします (推奨できません)。 |
--stdin | 標準出力からパッケージ名を読み込みます。 |
--username USERNAME | Red Hat Satellite のユーザー名を指定します。指定しないと有効なチャンネル管理者のユーザー名の入力が求められます。 |
--password PASSWORD | Red Hat Satellite のパスワードを指定します。指定しないと有効なチャンネル管理者のパスワードの入力が求められます。 |
--dontcopy | アップロード後の手順で、パッケージをパッケージツリー内の最終配置場所にコピーしません。 |
--copyonly | パッケージのコピーのみを行い再インポートは行いません。 |
--test | プッシュするパッケージの一覧を出力するだけです。 |
-?, --help | オプション一覧のヘルプ画面を表示します。 |
--usage | 使用可能なオプションの簡単な説明を表示します。 |
--copyonly | パッケージのコピーのみを行います。 |
注記
rhn_package_manager
の man ページ (man rhn_package_manager
) でも説明されています。
1.2.12.2. Red Hat Satellite Server へのパッケージのアップロード
rhnpush
パッケージとその依存パッケージをインストールします。このパッケージは登録している Red Hat Satellite Server のシステム群で使用することができます。yum install rhnpush
を実行してインストールを行います。
注記
1.2.12.2.1. Red Hat Network Push アプリケーションの設定
/etc/sysconfig/rhn/rhnpushrc
にインストールされます。このファイルには 「Red Hat Network Push アプリケーションの設定」 に記載されているすべてのオプションの値が含まれています。
rhnpush
コマンドを発行するディレクトリーに応じて設定を変更する場合、複数の異なる設定ファイルがあると便利です。現在のディレクトリー内の設定値 (./.rhnpushrc
) は、ユーザーのホームディレクトリー内の設定値 (~/.rhnpushrc
) より優先され、中央設定ファイル (/etc/sysconfig/rhn/rhnpushrc
) 内の設定値より先に使用されます。
- 移植するソフトウェアチャンネル
- 呼び出すユーザー名を組み込むためのホームディレクトリーの設定ファイル
- パッケージを受け取るサーバーを識別するための中央設定ファイル
rhnpush
コマンドのすべてのコマンドラインオプションが記載されています。
表1.2 rhnpush
オプション
オプション | 説明 |
---|---|
-v --verbose | 詳細レベルが冗長になります。-vv 、-vvv などのようにオプションは複数回使用することができます。 |
-d, --dir DIRECTORY | このディレクトリーからのパッケージを処理します。 |
-c, --channel=CHANNEL_LABEL | パッケージを受け取るチャンネルを指定します。チャンネルラベルの指定は必須となります。チャンネルラベルはチャンネル名とは異なります。-c を複数回使用することで複数のチャンネルを指定することができます (例、 -c=CHANNEL_ONE -c=CHANNEL_TWO )。 |
-n, --count N_HEADERS_PER_CALL | 呼び出しごとに処理するヘッダー数です。整数にしてください。デフォルトは 25 です。 |
-l, --list | 指定したチャンネルのみを表示します。 |
-r, --reldirRELATIVE_DIRECTORY | 各ファイルにこの相対ディレクトリーを関連付けます。 |
-o, --orgidORGANIZATION_ID | 組織や企業の ID 番号を組み込みます。整数にしてください。 |
-u , --username USERNAME | 指定したチャンネルに管理アクセス権を持つユーザーの Red Hat Satellite ユーザー名を組み込みます。ユーザー名を指定しないと rhnpush により有効なチャンネル管理者のユーザー名の入力が求められます。ユーザー名とパスワードは一定期間 ~/.rhnpushcache にキャッシュされます。デフォルトは 5 分です。新しいユーザー名とパスワードを強制する場合は --new-cache を使用します。 |
-p , --password PASSWORD | 指定したチャンネルに管理アクセス権を持つユーザーの Red Hat Satellite パスワードを組み込みます。パスワードを指定しないと rhnpush により有効なチャンネル管理者のパスワードの入力が求められます。ユーザー名とパスワードは一定期間 ~/.rhnpushcache にキャッシュされます。デフォルト値は 5 分です。新しいユーザー名とパスワードを強制する場合は --new-cache を使用します。 |
-s, --stdin | 標準入力からパッケージ一覧を読み込みます。例えば、パイプされた ls コマンドなど。 |
-X, --exclude GLOB | この glob 式と一致するパッケージを除きます。 |
--force | 現在、チャンネル内にその名前とバージョンのパッケージが存在する場合でもパッケージのアップロードを強制します。このオプションを指定しないと既存のパッケージのアップロードはエラーを返すことになります。 |
--nosig | パッケージに署名がない場合も失敗しません。 |
--new-cache | Red Hat Network Push にキャッシュされているユーザー名とパスワードを破棄させ、新しいユーザー名とパスワードを受け取るか、またはその入力を求めるよう強制します。これは、最初にユーザー名とパスワードを間違って入力した場合に便利です。 |
--newest | サーバーにあるパッケージより新しいパッケージのみをプッシュします。ソースパッケージはバージョン同士の比較が行われないという点で特殊となります。新しいかどうかの定義は関連するバイナリパッケージに依存します。このオプションを Red Hat Network Push とソースパッケージだけで使用すると、パッケージのアップロードは行なわれますが、関連バイナリパッケージがアップロードされるまでソースパッケージは Red Hat Satellite Web インターフェースに表示されません。 --source と比較してみてください。--source --newest を一緒に使用すると、単独ソースパッケージが新しいパッケージで 更新される ので、関連バイナリパッケージを先にアップロードしておく必要はありません。 |
--header | ヘッダーのみをアップロードします。 |
--source | 指示されたソースパッケージをアップロードします。この場合、ソースパッケージはプレーンで単独のパッケージとして扱われ、別の既存のバイナリパッケージと関連する特殊なソースパッケージとしては 扱われません。例えば、通常のソース制御管理とは別に、開発者やテスターに向けてアプリケーションソースを配布したい場合などに使用できます。 |
--server SERVER | パッケージのアップロード先となるサーバーを指定します。現在、http://localhost/APP の値が必要です。このパラメータは必須です。 |
--test | プッシュするパッケージの一覧のみを表示し、実際のプッシュは行いません。 |
-h, --help | オプションの簡潔な説明を表示します。 |
-?, --usage | 使用法の要約を表示します。 |
注記
rhnpush
の man ページ (man rhnpush
) でも説明されています。
1.2.12.2.2. Red Hat Network Push アプリケーションの使用
注記
# rhnpush -c label_of_private_channel pkg-list
# rhnpush -c label_of_private_channel --server=localhost pkg-list
-c
または --channel
を使用)、アップロードしたパッケージのヘッダーは指定した全チャンネルにリンクされます。チャンネルを指定しないと、そのパッケージは パッケージの管理 ページの チャンネルがありません のセクションに置かれます。パッケージを再割り当てする方法については 「パッケージのソフトウェアチャンネルへの割り当て」 を参照してください。
--server
オプションはパッケージのインストール先となるサーバーを指定するため必須となります。 Red Hat Network Push は外部のシステムにインストールしても構いませんが、 Red Hat Network Push の実行は Red Hat Satellite Server 上でローカルに行なうことをお勧めします。
pkg-list
参照はアップロードするパッケージの一覧を表示します。別の方法として、-d
オプションを使用してチャンネルに追加するパッケージを含むローカルのディレクトリーを指定することもできます。Red Hat Network Push は標準入力からパッケージ一覧を読み込むこともできます (--stdin
を使用)。
1.3. 設定チャンネルの管理
1.3.1. 設定管理のためのシステムの準備
config-enable
ファイルがインストールされている必要があります。システムを設定管理機能付きでキックスタートしている場合はとくに、これらのツールはすでにシステムにインストールされている可能性があります。インストールされていない場合は、これらのツールは Red Hat Network Tools の子チャンネル内にあります。以下のパッケージをダウンロードし、インストールしてください。
rhncfg
-rhncfg-*
のすべてのパッケージで必要となるベースライブラリと機能になります。rhncfg-actions
- Red Hat Network Web サイト経由でスケジュールされた設定動作を実行するのに必要なコードになります。rhncfg-client
- Red Hat Network 設定管理システムのクライアント機能に対するコマンドラインインターフェースです。rhncfg-management
- Red Hat Network 設定を管理するために使用するコマンドラインインターフェースです。
1.3.2. 新規設定チャンネルの作成
- チャンネル管理者または組織管理者としてログインします。
- 設定タブをクリックします。
- 設定の動作 とマークされている右側のフレーム上で、新規の設定チャンネルを作成をクリックします。
- 以下のフィールドに入力します。
- 名前
- ラベル このフィールドには、英数字、「-」、「_」、および「.」のみを入力してください。
- 詳細 詳細を入力してください。このフィールドには、このチャンネルを他と区別するための簡単な情報を入力できます。
- 設定チャンネルの作成 をクリックします。
1.3.3. 設定チャンネルへの設定ファイルの追加
- チャンネル管理者または組織管理者としてログインします。
- 設定タブをクリックします。
- 左側のサブメニューで、設定チャンネル をクリックします。
- 設定ファイルが追加される設定チャンネルを選択します。
- サブタブの ファイルの追加 をクリックします。
- 必須のフィールドに入力します。
- アップロードするファイル - 設定ファイルの最大許容サイズは 128kb です。
- ファイル名/パス - 設定ファイルの配備先とする必要のあるターゲットシステムのパスです。
- 所有権 - ファイルを所有するユーザーおよびグループです。フィールドに追加されたユーザーおよびグループが、ファイルが配備されるシステム上に存在しない場合は、配備は失敗します。
- ファイルパーミッションモード - 変更可能なユーザーを基にしたパーミッションです。テキストファイルに「644」、ディレクトリーおよび実行可能ファイルに「755」を設定することで、グローバルなアクセスまたは実行が可能になります (変更は不可)。
- SELinux コンテキスト - user_u:role_r:type_t:s0-s15:c0.c1024 などの SELinux コンテキストを入力します。
- マクロデリミタ - 使用できるマクロの一覧は、次のセクションの 「設定ファイルへのマクロの組み込み」 に記載されています。
1.3.4. 設定ファイルへのマクロの組み込み
- rhn.system.sid
- rhn.system.profile_name
- rhn.system.description
- rhn.system.hostname
- rhn.system.ip_address
- rhn.system.custom_info(key_name)
- rhn.system.net_interface.ip_address(eth_device)
- rhn.system.net_interface.netmask(eth_device)
- rhn.system.net_interface.broadcast(eth_device)
- rhn.system.net_interface.hardware_address(eth_device)
- rhn.system.net_interface.driver_module(eth_device)
server.conf
などのような IP アドレスとホスト名のマクロを含む次のような単一ファイルを作成することができます。
hostname={| rhn.system.hostname |} ip_address={| rhn.system.net_interface.ip_address(eth0) |}
rhncfg-client
) によるかにかかわらず、変数は、Satellite のシステムプロファイルに記録されている、システムのホスト名と IP アドレスに置き換えられます。例えば、上記の設定ファイルでは、配備されたバージョンは以下のようになります。
hostname=test.example.domain.com ip_address=177.18.54.7
asset={@ rhn.system.custom_info(asset) @}
asset=Example#456
asset={@ rhn.system.custom_info(asset) = 'Asset #' @}
rhncfg-manager
) はシステム不問のツールであるため、ファイルを変換したり、変更したりしません。rhncfg-manager
はシステム設定に依存しません。
注記
1.3.5. 設定チャンネルへのシステムのサブスクライブ
- システムを設定チャンネルにサブスクライブさせる必要がある。
- 設定管理はシステム上で有効にする必要がある。手順については、「システム上での設定管理の有効化」 を参照してください。
- 設定 をクリックします。左側のサブメニューで、設定チャンネル をクリックします。
- システムを追加する必要のある設定チャンネルを選択します。
- チャンネルページで、システム → ターゲットシステム サブタブの順にクリックします。
- 設定チャンネルに追加するシステムを選択し、システムのサブスクライブ をクリックします。
1.3.6. システム上での設定管理の有効化
- ターゲットシステムには、Provisioning のエンタイトルメントが必要です。Provisioning のエンタイトルメントをシステムに追加するには、『システム』 の章を参照してください。
- Red Hat Satellite Tools チャンネルへのサブスクリプション。子チャンネルを変更する方法については、『システム』 の章を参照してください。
- チャンネル管理者または Satellite 管理者としてログインします。
- 設定 をクリックします。
- 設定の動作 というマークが付けられている右側のフレーム上で、システムで設定管理を有効にする をクリックします。
- 有効にするシステムを選択します。
rhcfg-*
パッケージのパッケージインストールをスケジュールします。これらの設定パッケージをインストールする時間を選択します。- Red Hat Satellite 設定管理を有効にする (Enable Red Hat Satellite Configuration Management) をクリックします。
- 個々のシステムでターミナルコンソールを開くか、root としてリモートからログインします。以下の動作を実行する必要があります。
- このコマンドを実行して、保留中の
rhncfg-*
パッケージのインストールを完了します。# rhn_check
- 以下のコマンドを実行して Red Hat Network の動作を有効にします。
# rhn-actions-control --enable-all
第2章 組織
2.1. 組織の作成
- 新規の組織を作成するには、管理 (Admin) → 組織 → 新規の組織を作成 の順でをクリックします。
- 所定のテキストボックスに組織名を入力します。この名前は、3 〜 128 文字にしてください。
- 以下のような情報を入力して組織の管理者を作成します。
- 組織管理者用の 希望のログイン を 5 〜 64 文字の長さで入力します。組織管理者のアカウント名にはその組織の管理ログイン名と一致する、わかりやすい名前にすることをお勧めします。
- 希望のパスワード を作成しそのパスワードの 確認 を行います。
- 組織管理者の Email アドレスを入力します。
- 組織管理者の 名前 と 姓 を記入します。
- 組織の作成 ボタンをクリックしてこのプロセスを終了します。
organization 1
の組織管理者アカウントを Satellite 管理用に確保しておくことをお勧めします。必要が生じた場合、組織へのログインが可能になります。
重要
2.2. 組織別のエンタイトルメントの管理
- システムエンタイトルメント - Managementエンタイトルメントは、すべての組織が正しく機能するための基本的な要件となります。組織に割り当てられる Management エンタイトルメントの数は、利用可能なソフトウェアエンタイトルメントの数には関係なく、Satellite 上のその組織へ登録する可能性のあるシステムの最大数です。例えば、Red Hat Enterprise Linux Client のエンタイトルメントが 100 あるのに対し、その組織には管理システムエンタイトルメントが 50 しかない場合、この組織に登録できるシステムは 50 システムのみになります。組織で管理されるシステムの場合は、Provisioning も推奨されています。
- ソフトウェアチャンネルのエンタイトルメント - Red Hat チャンネルを使用するシステムの場合、Red Hat Enterprise Linux Server が必要になる場合があります。Red Hat Network Tools チャンネルも推奨されます。Red Hat Network Tools チャンネルには、設定管理やキックスタートのサポートなどの Red Hat Satellite の拡張機能に必要なクライアントソフトウェアのほか、Xen や KVM の仮想ゲストのエンタイトルメント数が正しくカウントされるために必要な
rhn-virtualization
パッケージなども含まれます。
2.2.1. 組織のシステムエンタイトルメントの変更
- 管理 メニューをクリックし、組織 を選択します。
- 一覧から組織を選択し、サブスクリプション タブを選択します。ページは、システムのエンタイトルメント にデフォルト設定されています。
- 組織に割り当てられる必要のあるエンタイトルメントの数に基づいて、システムエンタイトルメントの 提示合計数 (Proposed Totals) を変更します。最大および最小の合計数は、フィールドのすぐ下に示されます。
- すべての変更を更新するには、組織の更新 をクリックします。
2.2.2. 組織のソフトウェアチャンネルのエンタイトルメントの変更
- 管理 メニューをクリックし、組織 を選択します。
- 一覧から組織を選択し、サブスクリプション タブを選択します。
- サブスクリプション インターフェースで、ソフトウェアチャンネルのエンタイトルメント タブをクリックし、すべての組織のすべてのエンタイトルメントとその使用状況を確認します。組織に割り当てる必要のある予定されたチャンネルのエンタイトルメントに応じて、通常の提示合計数 を変更します。最大および最小の合計数は、フィールドのすぐ下に示されます。チャンネルエンタイトルメントは、通常 または Flex のいずれかになります。通常のエンタイトルメントはどのシステムにでも使用できます。Flex のエンタイトルメントはサポートされている仮想化タイプのゲストとして検出されたシステムでのみ使用することができます。
- すべての変更を更新するには、組織の更新 をクリックします。
注記
2.3. 複数の組織の管理
2.3.1. Satellite の複数組織向け使用のモデリング
2.3.1.1. 集中型管理の Satellite − 1 つの組織が複数の部署を持つ場合
図2.1 集中型管理の Satellite − 1 つの組織が複数の部署を持つ場合
2.3.1.2. 分散型管理 − 複数の第三者組織の場合
図2.2 分散型 Satellite 管理 − 複数の部署から構成される組織
2.3.1.3. 複数組織向け使用に関する推奨事項
- 単一の組織向け Satellite として使用する。
- Satellite が単一組織向け Satellite から複数組織向け Satellite に移行中である。
- 管理組織はエンタイトルメントに関連した特殊ケースとして扱われます。 Satellite にある他の組織でエンタイトルメントを追加したり削除したりすることによってのみ暗示的にこの管理組織に対するエンタイトルメントの追加または削除を行えます。
- 管理組織は、サブスクリプションやエンタイトルメント用のステージングエリアとなります。Satellite を新しい証明書に関連付けると、新しいエンタイトルメントがデフォルトでこの組織に与えられます。この新しいエンタイトルメントを Satellite 上の他の組織に使用できるようにするには、エンタイトルメントを管理組織から明示的に他の組織に割り当てる必要があります。
- Satellite サーバーには、Satellite 証明書にあるエンタイトルメントの数分のシステムを組み込むことができます。Satellite 上の各組織のエンタイトルメントの使用に関して評価を行い、各組織が適切に機能するために必要なエンタイトルメントの数を判断します。それぞれの組織管理者は、エンタイトルメントの制約に留意し、システムプロファイルを必要に応じて管理する必要があります。万一問題があった場合には、Satellite 管理者はエンタイトルメントに関する懸念を調整するために介入することができます。
注記
Satellite 管理者としてログインすると、組織に割り当て済みのエンタイトルメントを、組織がシステムプロファイルに正しく関連付けたエンタイトルメントの数よりも少なくすることができません。
2.3.2. 組織内のシステム群の設定
- ログインとパスワードを使用して登録する: 特定の組織用に作成したログインとパスワードを入力すると、その特定組織にシステムが登録されます。例えば、
user-123
が Satellite 上の Central IT 組織のメンバーである場合、次のコマンドはいずれのシステムで使用してもそのシステムを Satellite の Central IT 組織に登録させることになります。# rhnreg_ks --username=user-123 --password=foobaz
注記
rhnreg_ks
の--orgid
パラメーター (Red Hat Enterprise Linux 5 用) は、Satellite の登録や Red Hat Satellite の複数組織のサポートには関係ありません。 - アクティベーションキーを使用して登録する: 組織のアクティベーションキーを使用してその組織にシステムを登録することもできます。アクティベーションキーはそのアクティベーションキーの作成元である組織へシステムを登録します。ユーザーに組織へのログインアクセスは与えずにその組織へのシステム登録を許可したい場合などに使用すると便利な登録方法です。組織間でシステムを移動したい場合も、アクティベーションキーを使用したスクリプトでシステムの移動を自動化することができます。
注記
アクティベーションキーは Red Hat Satellite 5.1.0 以降より新しい形式となり、アクティベーションキーの先頭の数文字がそのアクティベーションを所有する組織を表わすために使用されます (ID 番号)。
2.3.3. 組織の信頼の管理
注記
2.3.3.1. 組織間の信頼の作成
2.3.3.2. 「信頼」内の複数の組織間でのコンテンツチャンネルの共有
注記
- 組織管理者のユーザー名で Satellite にログインします。
- チャンネル → ソフトウェアチャンネルの管理の順にクリックします。
- 他の組織と共有したいカスタムチャンネルをクリックします。
- 詳細 ページの チャンネルアクセス制御 セクションには 組織の共有 (Organizational Sharing) 内に共有に関して 3 種類の選択肢があります。
- プライベート - チャンネルをプライベートにすると、チャンネルの所有者以外はどの組織からもチャンネルにアクセスできなくなります。
- 保護 - 選択した特定の信頼できる組織にチャンネルへのアクセスを許可します。
注記
保護 共有を選択すると、別のページが表示され アクセスを許可して確認 をクリックすることによって組織へのチャンネルのアクセス権を許可する確認が求められます。 - パブリック (Public) - 信頼関係内にある全組織にカスタムチャンネルへのアクセスを許可します。
選択したレベルの横にあるラジオボタンをクリックして チャンネルの更新 をクリックします。
注記
2.3.3.3. 信頼できる組織内でのシステムの移行
migrate-system-profile
と言うユーティリティを使用して行う方法の 2 種類があります。
注記
2.3.3.3.1. Satellite インターフェースを使用したシステムの移行
手順2.1 組織間でのシステムの移行
- Systems タブをクリックした後、移行するシステムの名前をクリックします。
- 詳細 → 移行 とクリックし、システムの移行先となる組織の名前を選択します。
- システムの移行 をクリックします。
2.3.3.3.2. migrate-system-profile の使用
migrate-system-profile
はコマンドラインでの使用になります。移動対象と移動先の組織を指定するため systemID と orgID を引数として使用します。
migrate-system-profile
コマンドを使用する場合は、spacewalk-utils
パッケージをインストールしておく必要があります。migrate-system-profile
を使用するのに Satellite サーバーにログインする必要はありません。ただし、ログインしない場合はサーバーのホスト名か IP アドレスをコマンドラインスイッチとして指定する必要があります。
注記
migrate-system-profile
コマンドを使用してシステムを移行する場合、移行前の組織でシステムが持っていたエンタイトルメントやチャンネルのサブスクリプションなどは移行されません。ただし、そのシステムの履歴は保存されるので、新しい組織管理者はこの履歴にアクセスして、ベースチャンネルへのサブスクライブやエンタイトルメントの付与などの移行プロセスを簡略化することができます。
注記
spacewalk-report
ツールのいずれかを使用して、システム ID と組織 ID を見つけます。
# migrate-system-profile --satellite {SATELLITE HOSTNAME OR IP} --systemId={SYSTEM ID} --to-org-id={DESTINATION ORGANIZATION ID}
例2.1 ある部署から別の部署への移行
- 経理部の組織 ID は
2
- ワークステーションのシステム ID は
10001020
- Red Hat Satellite ホスト名は
satserver.example.com
# migrate-system-profile --satellite=satserver.example.com --systemId=10001020 --to-org-id=2
--username=
と --password=
を使って指定しなかった場合)。
migrate-system-profile
の --csv
オプションを使用して、移行するシステムをすべてコンマで区切って記載した一覧でこのプロセスを自動化することができます。
systemId,to-org-id
1000010000,3 1000010020,1 1000010010,4
migrate-system-profile
の使い方については、man migrate-system-profile
と入力して man ページを参照するか、または migrate-system-profile -h
と入力して基本的なヘルプ画面を参照します。
第3章 システムのプロビジョニング
3.1. Red Hat Satellite を使用したプロビジョニング
http://satellite.example.com/ks/dist/ks-rhel-x86_64-server-6-6.4/GPL
のように、ベース URI の http://satellite.example.com/ks/dist/ks-rhel-x86_64-server-6-6.4
の後にダウンロードするパッケージ名が続きます。
定義
- キックスタート
- ユーザーの介入をほとんどあるいは全く必要としない自動化された方法で Red Hat Enterprise Linux のシステムをインストールするプロセス。厳密に言えば、キックスタート とは、コンテンツの簡潔な記述とマシンの設定をインストーラーに提供できるようにし、それに基づいて動作を実行する、Anaconda インストールプログラムのメカニズムを指します。この簡潔なシステムの定義は、キックスタートプロファイル (Kickstart profile)と呼ばれています。
- キックスタートプロファイル
- キックスタートファイルは、マシンのキックスタートに必要なすべてのオプションを記載した、テキスト形式のファイルです。これには、パーティショニング情報、ネットワーク設定、インストールするパッケージが含まれます。Satellite の実装は、Cobbler のキックスタートへの機能強化をベースに構築されているため、Red Hat Satellite では キックスタートプロファイルは従来の Anaconda キックスタートの定義のスーパーセットとなります。キックスタートプロファイルはキックスタートツリーが存在することを前提としています。
- キックスタートツリー
- マシンをキックスタートするのに必要なソフトウェアとサポートファイル。これは、「インストールツリー」とも呼ばれることもあります。通常、これは、特定のリリースで出荷されたインストールメディアから取り出したディレクトリー構造とファイルです。Cobbler の用語では、キックスタートツリーはディストリビューションの一部となっています。
- PXE (Preboot eXecution Environment)
- ターゲットマシン自体の事前設定なしで、電源投入時にベアメタルマシン (通常は物理マシンまたは 実機) のキックスタートを可能にする低レベルのプロトコル。PXE は DHCP サーバーに依存して、ブートストラップサーバーに関する情報をクライアントに提供します。PXE を使用するには、ターゲットマシンのファームウェアでサポートされている必要があります。PXE は新しい物理マシンのブートや、Satellite に未登録のマシンの再インストールに非常に役立ちますが、PXE なしで仮想化を使用したり、Satellite の機能を再インストールすることも可能です。
プロビジョニングシナリオ
- 新規インストール
- オペレーティングシステムが未インストールのシステム (別名: ベアメタル インストール) のプロビジョニング
- 仮想インストール
- Satellite は、KVM、Xen 完全仮想化ゲスト、および Xen 準仮想化ゲストをサポートしています。
- 再プロビジョニング
- 物理およびゲストシステムは、いずれも再プロビジョニングが可能です。ただし、同一の Satellite インスタンスに登録されていることを条件とします。「再プロビジョニング」 をご参照ください。
3.1.1. キックスタートの流れ
- ネットワーク上に配置して電源をオンにすると、マシンの PXE 論理がその MAC アドレスと発見されるべき要求をブロードキャストします。
- 静的 IP アドレスを使用しない場合は、DHCP サーバーがその発見要求を認識してから新しいマシンを起動するために必要となるネットワーク情報を提供します。これには、IP アドレス、使用されるデフォルトのゲートウェイ、ネットワークのネットマスク、ブートローダープログラムを格納している TFTP または HTTP サーバーの IP アドレス、そのプログラムのフルパスとファイル名 (サーバーの root に相対的) などが含まれます。
- マシンはネットワーキング情報を適用してブートローダープログラムを要求するためにサーバーとのセッションを開始します。
- ブートローダーはロードされると、ブートローダー自体がロードされたサーバーからその設定ファイルを検索します。このファイルは、初期 RAM ディスク (initrd) イメージなどのブートしているマシン上で実行されるべきカーネルおよびカーネルオプションを規定します。ブートローダープログラムが SYSLINUX だとすると、このファイルは、サーバーの
pxelinux.cfg
ディレクトリー内にあり、新しいマシンの IP アドレスにあたる 16 進数の名前が付けられます。例えば、Red Hat Enterprise Linux 6 のブートローダー設定ファイルは次のようになります。default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux Server (2.6.32-279.22.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro root=/dev/sda2 crashkernel=auto ks=http://example.com/ks.cfg initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img
- マシンは初期化イメージとカーネルを受け取り解凍すると、カーネルを起動して、キックスタート設定ファイルを格納しているサーバーを含むブートローダー設定ファイル内にあるオプションを指定してキックスタートインストールを開始します。
- 次にこのキックスタート設定ファイルがマシンにインストールファイルの場所を指示します。
- 新しいマシンはキックスタート設定ファイル内で設定されるパラメーターに基づいて構築されます。
3.1.2. 前提条件
- DHCP サーバー。これはキックスタートには不要ですが、DHCP サーバーはキックスタートファイル内でのネットワーク設定の必要性を軽減します。また、ネットワークから起動することもできます。DHCP サーバーがなく、静的 IP アドレスを使用している場合、起動プロファイルの開発中に静的 IP を選択することが推奨されます。
- FTP サーバー。HTTP 経由でキックスタートディストリビューションツリーをホストする代わりに、FTP サーバーを使用することができます。
- DHCP を設定して、必要なネットワーキングパラメーターとブートローダープログラムの場所を指定します。
- ブートローダー設定ファイル内で使用するカーネルと適切なカーネルオプションを特定します。
3.1.2.1. 必要なパッケージ
rhn-tools
Red Hat Network(RHN)チャンネルから入手できます。
koan
spacewalk-koan
rhn-tools
チャンネルのクローンを作成することをお勧めします。
kernel
と initrd
のファイルがキックスタートツリー内の特定の場所にあることを想定しています。ただし、これらの場所は、アーキテクチャーによって異なります。以下の表は、それらの異なるロケーションについてまとめたものです。
表3.1 アーキテクチャー別の必要なディストリビューションファイル
アーキテクチャー | カーネル | 初期 RAM ディスクイメージ |
---|---|---|
IBM System z | TREE_PATH/images/kernel.img | TREE_PATH/images/initrd.img |
PowerPC | TREE_PATH/ppc/ppc64/vmlinuz | TREE_PATH/ppc/ppc64/initrd.img |
その他すべてのアーキテクチャー | TREE_PATH/images/pxeboot/vmlinuz | TREE_PATH/images/pxeboot/initrd.img |
3.1.2.2. キックスタートツリー
手順3.1 キックスタートツリーの自動インストール
satellite-sync
を介した通常のチャンネル同期の一環として行われます。
- キックスタートのベースとするディストリビューションを選択して、そのディストリビューションのベースチャンネルとそれに対応する Red Hat Network Tools のチャンネルを探します。例えば、x86 アーキテクチャーを採用した Red Hat Enterprise Linux 6 を使用する場合、
rhel-x86_64-server-6
チャンネルとそれに対応する Red Hat Network Tools チャンネルであるrhn-tools-rhel-x86_64-server-6
が必要になります。 - 接続された Satellite を使用している場合には、
satellite-sync
コマンドを使って Satellite サーバーを Red Hat サーバーと直接同期します。Satellite サーバーが接続されていない場合には、Red Hat サーバーから切断されたチャンネルダンプを取得して、それらと同期する必要があります。 - チャンネルを同期すると、そのディストリビューション用の対応するキックスタートツリーが自動的に作成されます。
手順3.2 キックスタートツリーの手動インストール
- インストール ISO をご使用の Satellite Server にコピーして、
/mnt/iso
にマウントします。 - ISO のコンテンツをカスタムのロケーションにコピーします。すべてのカスタムディストリビューションで、
/var/satellite
内にディレクトリーを作成することが奨励されます。例えば、Red Hat Enterprise Linux 6 のベータディストリビューションのコンテンツを/var/satellite/custom-distro/rhel-x86_64-server-6-beta/
にコピーします。 - Red Hat Satellite の Web インターフェースを使用して、カスタムソフトウェアチャンネルを作成します。チャンネル → ソフトウェアチャンネルの管理 → 新しいチャンネルの作成 で、適切な名前とラベルを付けて親チャンネルを作成します。上記で使用した例では、rhel-5.3-beta のラベルを使用します。
rhnpush
コマンドを使用して、ソフトウェアパッケージをツリーのロケーションから新規作成されたソフトウェアチャンネルにプッシュします。# rhnpush --server=http://localhost/APP -c 'rhel-6-beta' \ -d /var/satellite/custom-distro/rhel-x86_64-server-6-beta/Server/
ご使用のディストリビューションによって、ツリー内のサブディレクトリーが異なります。- ソフトウェアパッケージがプッシュされたら、
rm
コマンドを使用して、ツリーパス内で削除することができます。パッケージは、依然としてチャンネル内の Satellite サーバー上に格納され、ツリー内には必要なくなります。# rm /var/satellite/custom-distro/rhel-x86_64-server-6-beta/Server/*.rpm
ソフトウェアパッケージをキックスタートツリー内に残すように選択することもできます。これにより、後日、yum
コマンドを使用して、随時インストールできるようになります。 - Red Hat Satellite Web インターフェースを使用してディストリビューションを作成します。システム → キックスタート → ディストリビューション → 新規のディストリビューションを作成 に進み、適切なラベルとフルツリーパス (例:
/var/satellite/custom-distro/rhel-i386-server-5.3-beta/
) を使用して、ディストリビューションを作成します。あらかじめ作成したベースチャンネルと正しいインストーラーの生成 (例:Red Hat Enterprise Linux 6) を選択します。作成を完了するには、キックスタートディストリビューションの作成 を選択します。 - 複数の環境とシステムにわたって同一ソフトウェアを維持するには、既存の Red Hat Enterprise Linux ベースチャンネルからの Red Hat Network Tools 子チャンネルを、新たに作成したベースチャンネルの子チャンネルとしてクローン作成できます。子チャンネルのクローン作成は以下の手順で行います。
- Satellite の Web インターフェースで、チャンネル → ソフトウェアチャンネルの管理 → チャンネルのクローン をクリックします。
- Clone From: (クローンする対象) ドロップダウンボックスからクローンする子チャンネルとその状態を選択します。
- チャンネルの作成 をクリックします。
- 必要な情報を記入し、クローンが作成された子チャンネルの上位になる親チャンネルを選びます。
- チャンネルの作成 をクリックします。
3.1.2.3. キックスタートのプロファイル
手順3.3 ウィザードを使用したキックスタートプロファイルの作成
- システム → キックスタート → 新規のキックスタートプロフィールを作成 を選択します。
- 適切な ラベル を提供し、希望する ベースチャンネル と キックスタートツリー を選択します。
- キックスタートプロファイルのダウンロードロケーションを選択します。カスタムディストリビューションを使用している場合には、そのツリーのロケーションを URL (HTTP と FTP の両方をサポート) として入力します。それ以外の場合は、デフォルトのオプションを使用します。次へ をクリックして、続行します。
- root のパスワードを入力して、完了 をクリックし、プロファイルの作成を完了します。
- 完全なキックスタートプロファイルが作成されます。このプロファイルは、キックスタートファイル をクリックすると表示することができます。
手順3.4 raw メソッドを使用したキックスタートプロファイルの作成
- システム → キックスタート → キックスタートファイルをアップロード を選択します。
- 適切な ラベル を提供し、希望する ディストリビューション を選択します。
- 必要な 仮想化タイプ を選択します。仮想化タイプについての詳しい情報は、「キックスタートのプロファイル」 を参照してください。
- 既存のキックスタートファイルがある場合には、ファイルをアップロードします。そうでない場合には、ファイルの内容 テキストボックスにキックスタートプロファイルを書き込みます。スターティングポイントとして使用できる raw キックスタートの例は以下の通りです。
install text network --bootproto dhcp url --url http://$http_server/ks/dist/org/1/ks-rhel-x86_64-server-6-6.4 lang en_US keyboard us zerombr clearpart --all part / --fstype=ext3 --size=200 --grow part /boot --fstype=ext3 --size=200 part swap --size=1000 --maxsize=2000 bootloader --location mbr timezone America/New_York auth --enablemd5 --enableshadow rootpw --iscrypted $1$X/CrCfCE$x0veQO88TCm2VprcMkH.d0 selinux --permissive reboot firewall --disabled skipx key --skip %packages @ Base %post $SNIPPET('redhat_register')
- Red Hat Satellite Sever は、指定されたディストリビューションをキックスタート内の
url
として処理しないため、url --url
オプションをプロファイルに記載する必要があります。以下は、その例です。url --url http://$http_server/ks/dist/org/1/my_distro
my_distro
を ディストリビューションラベルに、1
をご使用の組織 ID に置き換えます。 - raw キックスタートプロファイルは、Satellite のホスト名の代わりに、
$http_server
を使用します。これは、キックスタートテンプレートがレンダリングされる際に自動的に記入されます。 redhat_register
スニペットを使用して登録処理が行われます。
図3.1 raw キックスタート
すべてのキックスタートプロファイルには、仮想化タイプが関連付けされます。以下の表に、様々なオプションを簡単にまとめました。
表3.2 仮想化タイプ
タイプ | 説明 | 用途 |
---|---|---|
なし | 仮想化なし | このタイプは、Xen または KVM 以外 (例:VMware、Virtage など) の通常のプロビジョニング、ベアメタルインストール、および仮想化インストールに使用します。 |
KVM 仮想化ゲスト | KVM ゲスト | このタイプは、KVM ゲストのプロビジョニングに使用します。 |
Xen 完全仮想化ゲスト | Xen ゲスト | このタイプは、Xen ゲストのプロビジョニングに使用します。
注記
このオプションには、ホスト上でのハードウェアサポートが必要ですが、ゲスト上では修正されたオペレーティングシステムは必要ありません。
|
Xen 準仮想化ゲスト | Xen ゲスト | Xen 準仮想化を使用する仮想ゲストのプロビジョニングに使用します。準仮想化は、最速の仮想化モードです。これには、システム CPU 上の PAE フラグと修正されたオペレーティングシステムが必要です。Red Hat Enterprise Linux 5 のみが、準仮想化でのゲストをサポートしています。 |
Xen 仮想化ホスト | Xen ホスト | このタイプは、Xen 準仮想化を使用する仮想ホストのプロビジョニングに使用します。ハードウェアに互換性がある場合には、Xen 準仮想化のゲストとホストがサポートされます。これは、Red Hat Enterprise Linux 5 のみでサポートされます。 |
%packages
セクションに kernel-xen
パッケージが含まれている必要があります
%packages
セクションに qemu
パッケージが含まれている必要があります。
注記
3.1.2.4. テンプレーティング
for
ループや if
ステートメントなどのフロー制御ステートメントを追加することができます。これは、cheetah
ツールを使用して行うことができます。
- 複数のキックスタート間のディスクのパーティショニングセクションなどの、キックスタートの特定のセクションを再利用することができます。
- 複数のキックスタート全体にわたって、一貫して
%post
の動作を実行することができます。 - DNS サーバー、Proxy サーバー、および Web サーバーといった複数の種類のサーバーのロール全体にわたってスニペットを定義することができます。例えば、Web サーバーには、以下のようなスニペットが定義されます。
httpd mod_ssl mod_python
Web サーバーのプロファイルを作成したい場合は、キックスタートファイルの%package
セクションに Web サーバースニペットを追加します。プロファイルを Web サーバーと Proxy サーバーの両方にしたい場合は、パッケージセクションに両方のスニペットを記載します。Web サーバースニペットにもう 1 つのパッケージを追加したい場合 (例えば、mod_perl
の場合) には、スニペットを更新すると、そのスニペットを使用しているすべてのプロファイルが動的に更新されます。
テンプレーティングにより、キックスタートファイル全体で変数の定義を使用することができます。変数は、1 つのレベルで設定し、それ以下のレベルでは上書きされる設定が可能な継承の対象となります。このため、変数がシステムレベルで定義されている場合には、この変数がプロファイルまたはキックスタートツリーのレベルで定義された同一の変数に優先します。同様に、変数がプロファイルレベルで定義されている場合は、この変数がキックスタートツリーレベルで定義されている同一の変数に優先します。
注記
スニペットは、複数のキックスタートテンプレート間でコードの断片を再利用します。これらは、多くの行にまたがる可能性があり、その中に変数が含まれる場合もあります。スニペットは、$SNIPPET('snippet_name')
のテキストを使用することにより、キックスタートプロファイルに組み入れることができます。特定のパッケージ一覧や、特定の %post
スクリプト、またはキックスタートファイルに通常含まれる任意のテキスト用にスニペットを作成することもできます。
/var/lib/cobbler/snippets/
に格納されます。キックスタートプロファイルが作成された後に、スニペットがプロファイルにどのように組み込まれているかを確認するために /var/lib/rhn/kickstarts/
の内容をレビューします。
redhat_register
スニペットは、マシンをキックスタートの一部として Red Hat Satellite Server に登録するために使用されるデフォルトのスニペットです。redhat_management_key
と呼ばれる変数を使用して、マシンを登録します。このスニペットを使用するには、redhat_management_key
の変数をシステム、プロファイルまたはディストリビューションのいずれかのレベルで設定してから、キックスタートの %post
セクションに $SNIPPET('redhat_register')
を追加します。Red Hat Satellite Server が生成したウィザードスタイルのキックスタートにはいずれも、%post
のセクションにこのスニペットがすでに入っています。
/var/lib/rhn/kickstarts/snippets/
ディレクトリーに格納されます。Red Hat Satellite は、スニペットを組織別に異なるディレクトリーに格納するため、カスタムスニペットは以下の例のようなファイル名で格納されます。1 は組織 ID です。
$SNIPPET('spacewalk/1/snippet_name')
注記
図3.2 キックスタートスニペット
$
と #
の文字は、テンプレーティングの実行中に変数や制御フローを指定するために使用されます。スクリプト内で他の目的でこれらの文字が必要な場合には、これらをエスケープして、変数として認識されないようにする必要があります。これには、いくつかの方法があります。
- テンプレーティング中に無視したい
$
または#
の各インスタンスの前にバックスラッシュ文字 (\
) を配置します。 - スクリプト全体を
#raw ... #end raw
内にラップします。ウィザードスタイルのキックスタートを使用して作成された%pre
および%post
のスクリプトはすべて、デフォルトでは#raw...#end raw
でラップされます。これは、%post
または%pre
スクリプトを編集する際に利用可能な テンプレート チェックボックスを使用して切り替えることができます。 - スニペットの最初の行に
#errorCatcher Echo
を追加します。
例3.1 テンプレート内の特殊文字のエスケープ
%post
セクション内に挿入する必要があります。
%post echo $foo > /tmp/foo.txt
$
をエスケープしないと、テンプレートエンジンは $foo
という名前の変数を探そうとしますが、foo
は変数としては存在しないため、失敗してしまいます。
$
をエスケープする最も簡単な方法は、バックスラッシュ文字 (\
) を使用する方法です。
%post echo \$foo > /tmp/foo.txt
\$foo
が $foo
としてレンダリングされます。
#raw ... #end raw
内にラップする方法です。
%post #raw echo $foo > /tmp/foo.txt #end raw
#errorCatcher Echo
を追加する方法です。これは、テンプレートエンジンに対して、存在しない変数はいずれも無視して、テキストを現状通りに出力するように指示します。このオプションは、ウィザードスタイルのキックスタートにすでに含まれていますが、手動で作成する raw キックスタートにも組み入れが可能です。
3.1.2.5. ベアメタルからのキックスタート
- 標準のオペレーティングシステムのインストールメディア
- PXE ブート
- PowerPC の Yaboot
手順3.5 インストールメディアからのブート
- インストールメディアをマシンに挿入します。このメディアは使用するキックスタートと適合している必要があります。例えば、キックスタートが
ks-rhel-x86_64-server-6-6.4
キックスタートツリーを使用するように構成されている場合は、Red Hat Enterprise Linux 6.4 64 ビットのインストールメディアを使用します。 - ブートプロンプトが表示されたら、以下のコマンドでキックスタートをアクティブにします。
linux ks=http://satellite.example.com/path/to/kickstart
- システムが起動したら、キックスタートファイルをダウンロードして、自動的にインストールします。
手順3.6 PXE ブート
重要
ネットワーク上の別のシステムに DHCP サーバーがデプロイされている場合、DHCP の設定ファイルの編集には、DHCP サーバーへの管理アクセスが必要となります。前提条件最新の cobbler-loaders パッケージをインストールする必要があります。これは、PXE ブート前に
pxelinux.0
ブートイメージが Satellite にインストールされており、利用可能であることを確認するためです。最新のバージョンをインストールするには、以下を実行します。# yum install cobbler-loaders
マシンが複数のネットワーク上にある場合は、すべてのマシンが DHCP サーバーに接続できることを確認してください。これは、DHCP サーバーのマルチホーミングを行い (リアルまたはトランク VLAN を使用)、すべてのルーターまたはスイッチがネットワーク境界を越えて DHCP プロトコルを渡すように設定することで可能になります。Red Hat Satellite が管理するシステムのnext-server
アドレスを設定することで、DHCP サーバーが PXE サーバーをポイントするように構成します。インストール時にホスト名を使用するには、以下の行を追加して DHCP サーバーがドメインと IP アドレスをポイントするように設定します。option domain-name DOMAIN_NAME; option domain-name-servers IP_ADDRESS1, IP_ADDRESS2;
- DHCP サーバー上で、root ユーザーに切り替え、
/etc/dhcpd.conf
ファイルを開きます。PXE ブートインストールを実行するオプションを伴う新たなクラスを追加します。allow booting; allow bootp; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.2.1; filename "pxelinux.0"; }
このクラスは、以下のような動作を実行します。bootp
プロトコルによるネットワークブートを有効化します。PXE
と呼ばれるクラスを作成します。ブートの優先順位で PXE が第 1 位に設定されているシステムの場合は、PXEClient
として自動的に認識します。- DHCP サーバーは、192.168.2.1 の IP アドレスの Cobbler サーバーにシステムを転送します。
- DHCP サーバーは、
/var/lib/tftpboot/pxelinux.0
にあるブートイメージファイルを参照します。
DHCP サーバーを再起動します。# service dhcpd restart
- Xinetd を設定します。Xinetd は、サービスのスイートを管理するデーモンです。これには、ブートイメージを PXE クライアントに転送するための FTP サーバーである、TFTP が含まれます。
chkconfig
コマンドを使用して Xinetd を有効にします。# chkconfig xinetd on
もう一つの方法としては、root ユーザーに切り替えて、/etc/xinetd.d/tftp
ファイルを開き、disable = yes
の行をdisable = no
に変更する方法があります。 - Xinetd サービスを起動し、TFTP が
pxelinux.0
ブートイメージに対してサービスを提供開始できるようにします# chkconfig --level 345 xinetd on # /sbin/service xinetd start
chkconfig
コマンドは、すべてのユーザーランレベルに対してxinetd
サービスを有効にする一方で、/sbin/service
コマンドは、xinetd
を即時に有効にします。
手順3.7 Yaboot の起動
- PowerPC クライアントの起動順序を設定します。これには、Open Firmware インターフェースにアクセスし、プロンプトで以下のコマンドを実行する必要があります。
devalias
コマンドを使用して、システム上のすべてのデバイスのエイリアスを表示します。0 > devalias ibm,sp /vdevice/IBM,sp@4000 disk /pci@800000020000002/pci@2,4/pci1069,b166@1/scsi@1/sd@5,0 network /pci@800000020000002/pci@2/ethernet@1 net /pci@800000020000002/pci@2/ethernet@1 network1 /pci@800000020000002/pci@2/ethernet@1,1 scsi /pci@800000020000002/pci@2,4/pci1069,b166@1/scsi@0 nvram /vdevice/nvram@4002 rtc /vdevice/rtc@4001 screen /vdevice/vty@30000000 ok
boot-device
環境変数をチェックして、現在の起動順序を表示します。0 > printenv boot-device -------------- Partition: common -------- Signature: 0x70 --------------- boot-device /pci@800000020000002/pci@2,3/ide@1/disk@0 /pci@800000020000002/pci@2,4/pci1069,b166@1/scsi@1/sd@5,0 ok
最初にnetwork
デバイスでboot-device
環境変数を設定した後に既存のブートデバイスで設定し、network
デバイスを起動順序の一番上に追加します。0 > setenv boot-device network /pci@800000020000002/pci@2,3/ide@1/disk@0 /pci@800000020000002/pci@2,4/pci1069,b166@1/scsi@1/sd@5,0
これで、最初にnetwork
デバイスから起動するようシステムが設定されました。network
に障害が発生した場合、システムの残りのデバイスは起動順序どおりに起動します。 - Satellite サーバーでシステム設定プロパティーを設定します。たとえば以下のコマンドを実行すると、ネットワーク上の特定の MAC アドレスを使用して
myppc01
という新しいシステムが作成されます。# cobbler system add --name myppc01 --hostname myppc01.example.com --profile rhel6webserver--kopts "console=hvc0 serial" --interface 0 --mac 40:95:40:42:F4:46
さらに、指定の MAC アドレスを基に Yaboot ブートローダーと設定のディレクトリーのセットも作成されます。たとえば、前述のコマンドを実行すると、以下のディレクトリーが作成されます。/var/lib/tftpboot/ppc/40-95-40-42-F4-46 /var/lib/tftpboot/etc/40-95-40-42-F4-46
最初のディレクトリー (/var/lib/tftpboot/ppc/40-95-40-42-F4-46
) には、Yaboot に使用されるramdisk
およびvmlinuz
ファイルが含まれます。2 つ目のディレクトリー (/var/lib/tftpboot/etc/40-95-40-42-F4-46
) には、Yaboot の設定ファイル (yaboot.conf
) が含まれます。Cobbler を使用したシステムのプロビジョニングに関する詳細は、「Cobbler へのシステムの追加」 を参照してください。 - DHCP サーバー上で root ユーザーに切り替え、
/etc/dhcpd.conf
ファイルを開きます。Yaboot のインストールを実行するためのオプションが含まれる新しいエントリーを追加します。例を以下に示します。allow booting; allow bootp; class "Yaboot" { match if substring(option vendor-class-identifier, 0, 9) = "AAPLBSDPC"; next-server 192.168.2.1; filename "yaboot"; }
このクラスは、以下のような動作を実行します。bootp
プロトコルによるネットワークブートを有効化します。Yaboot
というクラスを作成します。起動順序で Yaboot が最優先になるようシステムが設定されている場合、fAAPLBSDPC
として識別されます。- DHCP サーバーは、192.168.2.1 の IP アドレスの Cobbler サーバーにシステムを転送します。
- DHCP サーバーは、以前
cobbler
で作成された Yaboot イメージファイルを参照します。
DHCP サーバーを再起動します。# service dhcpd restart
- Xinetd を設定します。Xinetd はサービスを管理するデーモンです。管理されるサービスには、ブートイメージを PowerPC クライアントに転送するために使用される FTP サーバーである TFTP が含まれます。
chkconfig
コマンドを使用して Xinetd を有効にします。# chkconfig xinetd on
もう一つの方法としては、root ユーザーに切り替えて、/etc/xinetd.d/tftp
ファイルを開き、disable = yes
の行をdisable = no
に変更する方法があります。 - Xinetd サービスを起動し、TFTP が Yaboot ブートイメージの処理を開始できるようにします。
# chkconfig --level 345 xinetd on # /sbin/service xinetd start
chkconfig
コマンドは、すべてのユーザーランレベルに対してxinetd
サービスを有効にする一方で、/sbin/service
コマンドは、xinetd
を即時に有効にします。
3.1.3. アクティベーションキーの使用
rhnreg_ks
で Red Hat Enterprise Linux システムを登録し、このシステムに Red Hat Satellite サービスレベルのエンタイトルメントを付与し、特定のチャンネルやシステムグループにシステムをサブスクライブさせることができます。
注記
手順3.8 アクティベーションキーを管理する
- 左上のナビゲーションバーから システム → アクティベーションキー の順に選択します。
- 右上の 新規のキーを作成 リンクをクリックします。
警告
以下に表示されているフィールドのほかに、キー フィールド自体も入力することができます。このユーザー定義の文字列をrhnreg_ks
で指定すると、Satellite でクライアントシステムを登録できます。キーにはコンマを挿入しないでください。 これ以外の文字はすべて使用できます。コンマは複数のアクティベーションキーを 1 度に指定するときに区切り文字として使用されるため、問題になります。詳しくは 「アクティベーションキーの使用」 を参照してください。 - 次の情報を指定します。
- 詳細 - 生成されたアクティベーションキーを識別し易くするためにユーザーが定義する説明になります。
- 使用 - 一度にアクティベーションキーで登録できる登録システムの最大数です。使用を無制限にする場合は空白にします。システムプロファイルを 1 つ削除すると使用数が 1 つ減り、キーでシステムプロファイルを 1 つ登録すると、使用数が 1 つ増えます。
- ベースチャンネル - キーの主要チャンネルになります。ベースチャンネルを選択しない場合はすべての子チャンネルを選択できるようになりますが、適用可能なチャンネルにしかシステムをサブスクライブさせることができません。
- 付属エンタイトルメント - キーの補足的なエンタイトルメントになります。Monitoring、 Provisioning、Virtualization、および Virtualization Platform などが含まれます。このキーを使って、すべてのシステムにこれらのエンタイトルメントが付与されます。
- Universal default - このキーを組織のプライマリーアクティベーションキーとして考慮するかどうか。指定のアクティベーションキーを使用せずに Satellite に登録されるクライアントには Universal Default アクティベーションキーが使用されます。Universal Default アクティベーションキーには基本のシステム登録の標準または最低限のチャンネルとエンタイトルメントが含まれることが理想です。Universal Default アクティベーションキーの詳細は https://access.redhat.com/solutions/1140083 を参照してください。
アクティベーションキーの作成 をクリックします。
手順3.9 複数のアクティベーションキーを一度に使用する
- ベースソフトウェアチャンネル - 登録が失敗します。
- エンタイトルメント - 登録が失敗します。
- 設定フラグを有効にする (enable config flag) - 設定管理が設定されます。
- 個々のアクティベーションキーを複数作成します。手順は 「アクティベーションキーの使用」 を参照してください。
- コマンドライン上では、
rhnreg_ks
のオプションの場合のように、すべてのアクティベーションキーをコンマで区切って組み込みます。# rhnreg_ks --activationkey=activationkey1,activationkey2,activationkey3
警告
3.1.4. Cobbler の使用
警告
- Cheetah のテンプレートエンジンとキックスタートスニペットを使用したキックスタートのテンプレート作成および管理の機能
- クライアント側のツールである
koan
を使った仮想マシンゲストのインストールを自動化する機能 cobbler check
コマンドを使用したインストール環境の分析の機能- x86_64 アーキテクチャーの Satellite システムの
cobbler buildiso
コマンドによる PXE のようなメニューを使用してインストール ISO を構築する機能
3.1.4.1. Cobbler の要件
- PXE でのシステムインストールを行う際に Cobbler を使用する場合、
tftp-server
パッケージをインストールし、これを設定します。 - インストールを行うために Cobbler を使用してシステムを PXE ブートを行うには、Satellite サーバーが Cobbler による PXE ブートを行うために DHCP サーバーとして動作するか、またはネットワーク DHCP サーバーにアクセスできる必要があります。
/etc/dhcp.conf
を編集してnext-server
を Cobbler サーバーのホスト名または IP アドレスに変更します。 - 最新の
cobbler-loaders
パッケージをインストールする必要があります。これは、PXE ブートの前にpxelinux.0
ブートイメージが Satellite にインストールされており、利用可能であることを確認するためです。最新バージョンをインストールするには、以下を実行します。# yum install cobbler-loaders
3.1.4.1.1. Cobbler と DHCP の設定
手順3.10 既存の DHCP サーバーを設定する
- DHCP サーバーに root としてログインします。
/etc/dhcpd.conf
ファイルを編集し、PXE ブートインストールを実行するためのオプションを指定して新規のクラスを追加します。例えば、以下のようになります。allow booting; allow bootp; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.2.1; filename "pxelinux.0"; }
上記の例の各動作を以下に示します。- 管理者は
bootp
プロトコルを使用してネットワークによる起動を有効にします。 - 次に、
PXE
というクラスを作成します。PXE が起動順序で一番目に設定されているシステムの場合は、それ自体をPXEClient
として認識します。 - DHCP サーバーはシステムを 192.168.2.1 にある Cobbler サーバーに転送します。
- 最後に DHCP サーバーは
pxelinux.0
ブートローダーファイルを取り込みます。
3.1.4.1.2. Cobbler 用の Xinetd と TFTP の設定
- root としてログインします。
/etc/xinetd.d/tftp
を編集して、以下のようにオプションを変更します。disable = yes
変更後disable = no
- xinetd サービスを起動するには:
# chkconfig --level 345 xinetd on # /sbin/service xinetd start
3.1.4.1.3. Cobbler サポート用の SELinux と IPTables の設定
手順3.11 SELinux で Cobbler サポートを有効にする
- root としてログインします。
- SELinux の Boolean が HTTPD Web サービスコンポーネントを許可するように設定するには:
# setsebool -P httpd_can_network_connect true
-P
のスイッチは不可欠です。これによって、HTTPD 接続は再起動しても永続的に有効となります。
手順3.12 IPTable の設定
- root としてログインします。
- 以下のルールを既存の IPTables ファイアウォールのルールセットに追加して、Cobbler 関連のポートを開きます。
- TFTP 用:
# /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -j ACCEPT # /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
- HTTPD 用:
# /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
- Cobbler および Koan XMLRPC 用:
# /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25151 -j ACCEPT
- ファイアウォールの設定を保存するには:
# /sbin/iptables-save > /etc/sysconfig/iptables
3.1.4.2. /etc/cobbler/settings での Cobbler の設定
/etc/cobbler/settings
ファイル内で実行されます。このファイルには数種の設定可能な設定が含まれ、Cobbler の機能に対して各設定がどのように影響を与えるか、またユーザーの環境に応じて設定の変更が推奨されるかどうかなど、各設定ごとに詳細な説明が記載されています。
/etc/cobbler/settings
ファイルをご覧ください。
3.1.4.3. Cobbler サービスの同期と起動
- Cobbler サービスを起動する前に、Cobbler サービスでチェックを実行し、すべての要件が組織のニーズに応じて設定されていることを確認します。
# cobbler check
- 次のコマンドで Satellite サーバーを起動するには:
# /usr/sbin/rhn-satellite start
警告
Satellite サービスに依存しないcobblerd
サービスを起動/停止しないでください。エラーやその他の問題が発生する原因となる可能性があります。Red Hat Satellite の起動/停止には、/usr/sbin/rhn-satellite
を必ず使用してください。
3.1.4.4. Cobbler へのディストリビューションの追加
cobbler
を使用して、次の構文でディストリビューションを作成します。
# cobbler distro add --name=string --kernel=path --initrd=path
--name=string
スイッチは 1 つのディストリビューションを他と区別するために使用するラベルです (例: rhel5server
)。
--kernel=path
スイッチは、カーネルイメージファイルへのパスを指定します。
--initrd=path
スイッチは、初期の ramdisk (initrd) イメージファイルへのパスを指定します。
3.1.4.5. Cobbler へのプロファイルの追加
cobbler
を使用して、次の構文でプロファイルを作成します。
# cobbler profile add --name=string --distro=string [--kickstart=url] [--virt-file-size=gigabytes] [--virt-ram=megabytes]
--name=string
は、 rhel5webserver
や rhel4workstation
などプロファイルの固有のラベルとなります。
--distro=string
スイッチは、この特定のプロファイルに使用されるディストリビューションを指定します。ディストリビューションは、「Cobbler へのディストリビューションの追加」 で追加されました。
--kickstart=url
オプションは、キックスタートファイルがある場合はその場所を指定します。
--virt-file-size=gigabytes
オプションを使用すると仮想ゲストファイルイメージのサイズを設定することができます。指定しないとデフォルトの 5 ギガバイトになります。
--virt-ram=megabytes
オプションは、仮想ゲストシステムが消費できる物理 RAM の量をメガバイトで指定します。指定がない場合はデフォルトの 512 メガバイトになります。
3.1.4.6. Cobbler へのシステムの追加
注記
koan
と PXE メニューのみでプロビジョニングを行なっている場合、システム記録を作成する必要はありません。ただし、以下の場合にシステム記録は役に立ちます。
- システム固有のキックスタートのテンプレーティングが必要である。
- 特定のシステムが常に特定のコンテンツのセットを受信する。
- 特定のクライアント用に特定のロールがある。
# cobbler system add --name=string --profile=string --mac-address=AA:BB:CC:DD:EE:FF
--name=string
は engineeringserver
や frontofficeworkstation
などのシステムに固有となるラベルです。
--profile=string
は、「Cobbler へのプロファイルの追加」 で追加されたプロファイル名の 1 つを指定します。
--mac-address=AA:BB:CC:DD:EE:FF
オプションは、指定 MAC アドレスを持つシステムがキックスタートされると、そのシステム記録に関連するプロファイルに自動的にプロビジョニングが行われます。
man cobbler
と入力して Cobbler man ページを参照してください。
重要
default
という名前を持つシステムには特別な機能があります。未定義のシステムをすべて設定し、PXE 経由で特定のプロファイルを使用します。default
システムがないと、PXE は未設定のシステム対してローカルブートになります。以下のように、名前とプロファイルとしてのみ default
を含めます。
# cobbler system add --name=default --profile=rhel5webserver
3.1.4.7. Cobbler テンプレートの使用
- 各状況に合わせて個別のキックスタートを手作業で作成したり重複した作業を行ったりすることなく、大量のプロファイルやシステムの作成と管理を行えるようにする強固な機能
- テンプレートは複雑性を増してループや条件、他の拡張機能、および構文などを伴う場合がある一方、こうした複雑性が伴うことなく単純にキックスタートファイルの作成にテンプレートを使用することもできます。
3.1.4.7.1. テンプレートの使用
/etc/sysconfig/network-scripts/
などの共通パスなど特定の共通項目に対して静的な値を持たせることができます。ただし、テンプレートの標準のキックスタートファイルとの相違点はその変数の使用に見られます。
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
3.1.4.7.2. キックスタートスニペット
$SNIPPET()
関数で呼び出し、その関数呼び出しをコードスニペットの内容に置き換えることができます。
clearpart --all part /boot --fstype ext3 --size=150 --asprimary part / --fstype ext3 --size=40000 --asprimary part swap --recommended part pv.00 --size=1 --grow volgroup vg00 pv.00 logvol /var --name=var vgname=vg00 --fstype ext3 --size=5000
my_partition
などのファイルに保存し、Cobber がアクセスできるようこのファイルを /var/lib/cobbler/snippets/
に配置します。
$SNIPPET()
関数でこの部分を利用することができます。例えば、以下のようになります。
$SNIPPET('my_partition')
my_partition
ファイル内に含まれているコードのスニペットに置き換えられます。
3.1.4.8. Koan の使用
3.1.4.8.1. Koan の使用による仮想システム群のプロビジョニング
koan
を使用して、システム上での仮想ゲストのインストールを開始できます。
# cobbler add profile --name=virtualfileserver --distro=rhel-i386-server-5 --virt-file-size=20 --virt-ram=1000
koan
で以下を実行します。
# koan --server=hostname --list=profiles
cobbler profile add
で作成された利用可能なプロファイルをすべて一覧表示します。
# koan --virt --server=cobbler-server.example.com --profile=virtualfileserver --virtname=marketingfileserver
virtualfileserver
プロファイルを使用して Cobbler サーバー (ホスト名 cobbler-server.example.com) から作成されることを指定しています。 virtname
オプションは仮想ゲストのラベルを指定しています。デフォルトではシステムの MAC アドレスでラベル付けされます。
3.1.4.8.2. Koan の使用による実行中システムの再インストール
koan
は利用可能な Cobbler プロファイルから新規インストールで実行中のシステムを置き換えることができます。
# koan --replace-self --server=hostname --profile=name
--server=hostname
内で指定した Cobbler サーバーの --profile=name
にあるプロファイルを使ってそれ自体のシステムの置き換えを行います。
3.1.4.9. Cobbler による ISO の構築
cobbler buildiso
コマンドが、ディストリビューションとカーネルの一式、および PXE ネットワークインストールのようなメニューを含むブート ISO イメージを作成する機能を提供します。
--iso
オプションを使用してブート ISO の名前と出力の場所を定義します。
# cobbler buildiso --iso=/path/to/boot.iso
--profiles
と --systems
オプションを使用して、これらのプロファイルとシステムを制限します。
# cobbler buildiso --systems="system1,system2,system3" \ --profiles="profile1,profile2,profile3"
注記
注記
cobbler buildiso --standalone
オプションは Red Hat が提供するキックスタートツリーではサポートされません。この standalone オプションは、Cobbler サーバーへのネットワーク接続のないマシンのプロビジョニングに使用されますが、Satellite のプロビジョニングによって提供される追加機能にはすべて Satellite へのネットワーク接続が必要です。Red Hat Enterprise Linux をネットワーク接続のないマシンにインストールする必要がある場合は、ISO イメージをダウンロードして Red Hat Enterprise Linux をインストールしてください。
3.2. Red Hat Satellite Proxy を介したプロビジョニング
- 仮想ゲストのプロビジョニングを行う時、またはシステムの再プロビジョニングを行う場合には、Satellite Proxy を選択 (Select Satellite Proxy) のドロップダウンメニューから必要な Proxy を選択してください。
- ベアメタルインストールの場合には、Red Hat Satellite の完全修飾ドメイン名 (FQDN) を Proxy の FQDN に置き換えます。例えば、キックスタートファイルへの URL が以下のようになります。
http://satellite.example.com/ks/cfg/org/1/label/myprofile
- Red Hat Satellite Proxy を介したキックスタートを行うには、以下の URL を使用します。
http://proxy.example.com/ks/cfg/org/1/label/myprofile
3.3. 仮想化されたゲストのプロビジョニング
- KVM 仮想化ゲスト
- Xen 完全仮想化ゲスト
- Xen 準仮想化ゲスト
手順3.13 仮想化されたゲストのプロビジョニング
- ホストシステムに 仮想化 または 仮想化プラットフォーム のシステムエンタイトルメントがあることを確認します。
- システム のページで、適切な仮想ホストを選択してから、仮想化 → Provisioning を選択します。適切なキックスタートプロファイルを選択して、ゲスト名を入力します。
- ゲストのメモリーや CPU の使用量などのパラメーターを追加で設定したい場合には、高度な設定 のボタンをクリックします。以下の項目を設定することができます。
- ネットワーク: 静的または DHCP
- カーネルオプション
- パッケージプロファイルの同期: キックスタートの終了時にシステムが、そのパッケージプロファイルを別のシステムや保管されたプロファイルと同期。
- メモリの割り当て: RAM (デフォルト値は 512MB)
- 仮想ディスクのサイズ
- 仮想 CPU (デフォルト値は 1)
- 仮想ブリッジ: インストールに使用されるネットワーキングブリッジ。Xen プロビジョニングには
xenbr0
、KVM にはvirbr0
がデフォルト値となっています。注記
virbr0
ネットワーキングブリッジは、外部ネットワーキングを許可しません。外部ネットワーキングが必要な場合には、代わりに、ホストが実際のブリッジを作成するように設定してください。ただし、xenbr0
は実際のブリッジであり、可能な場合にはこれを使用することが推奨されます。 - 仮想ストレージパス: ゲストのディスク情報を保管するファイル、LVM 論理ボリューム、ディレクトリー、またはブロックデバイスへのパス。これには、
/dev/sdb
、/dev/LogVol00/mydisk
、VolGroup00
、または/var/lib/xen/images/myDisk
などが含まれます。
- キックスタートをスケジュールしてから終了する をクリックします。
3.4. クローンされたチャンネルまたはカスタムチャンネル経由のキックスタート
%packages
の下に@Base
がある Red Hat Enterprise Linxu チャンネルからシステムをキックスタートします。同じキックスタートで、クローンされたチャンネルまたはカスタムチャンネルへサブスクライブするアクティベーションキーを指定します。また、クローンされたチャンネルまたはカスタムチャンネルからインストールするパッケージを、アクティベーションキーのパッケージセクションに示します。この方法でシステムをキックスタートすると、最初に Red Hat Enterprise Linux Base チャンネルから最低限のパッケージでインストールされ、アクティベーションキーを使用して Satellite 5 サーバーのクローンされたチャンネルへシステムを登録します。登録後、キックスタートよりシステムを更新します。- この他に、クローンされたチャンネルまたはカスタムチャンネルから直接システムをキックスタートしたい場合は、チャンネルのディストリビューションツリーを作成することもできます。手順の例を以下に示します。
手順3.14 クローンされたチャンネルのディストリビューションツリーの作成
- クローンされたチャンネルをコピーします。Red hat Enterprise Linux 6.6 の場合は次のようになります。
# cd /var/satellite/rhn/kickstart/ # mkdir custom-distro-rhel-6.6 # cd custom-distro-rhel-6.6 # cp -rpv ../ks-rhel-x86_64-server-6-6.6/* .
- ツリーのファイルすべてのパーミッションを 644 に設定し、所有者を
apache:apache
にします。# find . -type f -print0 | xargs -0 chmod 644 # find . -type f -print0 | xargs -0 chown apache:apache
ツリーのディレクトリーすべてのパーミッションを 755 に設定し、所有者をapache:root
にします。# find . -type d -print0 | xargs -0 chmod 755 # find . -type d -print0 | xargs -0 chown apache:root
- Satellite 5 サーバー web UI にログインし、Systems → Kickstart → Distribution → create new distribution と選択します。
- 以下の値を設定します。
- Distribution Label: custom-distro-rhel-6.6
- Tree Path: /var/satellite/rhn/kickstart/custom-distro-rhel-6.6/
- Installer Generation: 6
終了したら、Create Kickstart Distribution をクリックします。
注記
3.5. 再プロビジョニング
例3.2 カーネルオプションとカーネルの後のオプションの設定
カーネルオプション
の行に vnc vncpassword=PASSWORD
を追加します。
noapic
のカーネルオプションで起動させたい場合は、カーネルの後のオプション
の行に noapic
を追加します。
手順3.15 ファイル保持
注記
- システム → キックスタート → ファイル保持 → 新規のファイル保持一覧を作成 へと進み、保持するファイルの一覧を作成します。
- システム → キックスタート → プロファイル に進み、希望のプロフィールを選択して、ファイル保持リストをキックスタートに関連付けします。
- システムの詳細 → ファイル保持 に進み、ファイル保持リストを選択します。
3.6. スナップショットでのロールバックのプロビジョニング
注記
- スナップショットが作成された理由
- 作成時間
- 各スナップショットに適用されたタグの数
手順3.16 スナップショットロールバックの実行
- システム をクリックします。
- ロールバックする必要があるシステムをクリックします。
- プロビジョニング → スナップショット タブを選択します。
- 作成されたスナップショットの 理由 をクリックし、Rollback サブタブから順にサブタブ上で変更を確認します。
- 各サブタブでロールバック中に加えられる変更を確認します。
- グループメンバーシップ
- チャンネルのサブスクリプション
- インストールされたパッケージ
- 設定チャンネルサブスクリプション
- 設定ファイル
- スナップショットタグ
- 変更の内容が適切であれば ロールバック サブタブに戻り、スナップショットにロールバックする ボタンをクリックします。リストを再度表示するには、「スナップショットの一覧に戻る」をクリックします。
3.6.1. スナップショットタグの使用
手順3.17 スナップショットタグの作成
- システムタグの作成 をクリックします。
- タグ名 フィールドに説明を入力します。
- 現在のスナップショットにタグ付け をクリックします。
第4章 システム管理
4.1. Satellite へのシステムの登録
4.1.1. Red Hat Network Bootstrap を使用したシステムの登録
/usr/bin/rhn-bootstrap
で呼び出される Red Hat Network Bootstrap により行われるため、Red Hat Satellite Server と Red Hat Satellite Proxy Server の両方にデフォルトでインストールされています。
- クライアントのアプリケーションを Red Hat Satellite Proxy または Satellite に転送します
- カスタムの GPG キーをインポートします
- SSL 証明書をインストールします
- アクティベーションキーを使ってシステムを Red Hat Network および特定のシステムグループとチャンネルに登録します
- パッケージの更新、再起動、Red Hat Network 設定の変更など、設定後のさまざまな作業を実行します
警告
bootstrap.sh
は、Red Hat Network サーバーの /var/www/html/pub/bootstrap/
ディレクトリーに自動的に配置されます。スクリプトはここからダウンロードされ、すべてのクライアントシステムで実行されます。次のセクションの説明どおり、準備や生成後の編集が必要になります。サンプルスクリプトについては 「Red Hat Network Bootstrap オプションの設定」 を参照してください。
4.1.1.1. Red Hat Network Bootstrap インストールの準備
rhn-bootstrap
) はクライアントシステムを正しく設定するために Red Hat Network のインフラストラクチャーを構成している他のコンポーネントに依存します。スクリプトを生成する前にまずこれらのコンポーネントの準備を行う必要があります。最初に行っておくべき準備を以下に示します。
- スクリプトで呼び出されるアクティベーションキーを生成します。アクティベーションキーは Red Hat Enterprise Linux システムの登録、Red Hat Network サービスレベルのエンタイトルメント付与、特定のチャンネルやシステムグループへのサブスクライブなどをすべて一度の動作で完了します。アクティベーションキーを使用するには利用可能な Management エンタイトルメントがあること、複数のアクティベーションキーを1度に組み込むには Provisioning エンタイトルメントが必要になる点に注意してください。Red Hat Satellilte Web サイトの (Proxy 用の Red Hat Network 中央サーバーか Satellite の完全修飾ドメイン名のいずれかの) システム のカテゴリー内にある アクティベーションキー ページからアクティベーションキーを生成します。
- Red Hat では RPM をカスタムの GNU Privacy Guard (GPG) キーで署名しておくことを推奨しています。スクリプトから照合できるようにキーを使用可能にします。『Red Hat Satellite リファレンスガイド』 の記載通りにキーを生成したら、そのキーを Red Hat Satellite Serverの
/var/www/html/pub/
ディレクトリーに配置します。『Red Hat Satellite リファレンスガイド』 の 『カスタム GPG キーをインポートする』 セクションを参照してください。 - 認証局の SSL パブリック証明書の配備にスクリプトを使用する場合は、その証明書またはその証明書を含むパッケージ (RPM) を該当する Red Hat Network サーバーで使用できるようにしてから、
--ssl-cert
オプションを使ってスクリプト生成時にこれを組み込みます。詳細は、『クライアント設定ガイド』の SSL インフラストラクチャーのセクションを参照してください。 - 再設定するシステムの種類に応じたブートストラップスクリプトを作成するために必要となる各種の値を手元に準備しておきます。Red Hat Network Bootstrap では再設定オプションの全セットが提供されるため、これを使用して、各種システムのタイプに適したブートストラップスクリプトをそれぞれ生成することができます。例えば、Web サーバーの再設定には
bootstrap-web-servers.sh
、アプリケーションサーバーの場合はbootstrap-app-servers.sh
を使用することができます。オプションの全一覧は 「Red Hat Network Bootstrap オプションの設定」 を参照してください。
4.1.1.2. Bootstrap スクリプトの生成
rhn-bootstrap
コマンドに必要なオプションと値を付けて実行します。オプションを付けないで実行すると、bootstrap.sh
ファイルは bootstrap/
サブディレクトリー内に作成されます。このサブディレクトリーにはホスト名、SSL 証明書、SSL と GPG の設定などのサーバーから派生した基本的な値や client-config-overrides.txt
ファイルの呼び出しなどが含まれます。
- 「Red Hat Network Bootstrap インストールの準備」 に記載されているエンタイトルメント要件を考慮し、
--activation-keys
オプションを使用してキーを含めます。 - スクリプトの生成時に、
--gpg-key
オプションを使ってキーのパスとファイル名を指定します。または、--no-gpg
オプションを使うとクライアントシステム側でこの確認作業が行われなくなります。Red Hat ではセキュリティー対策として--gpg-key
オプションの使用を推奨します。 --allow-config-actions
フラグを組み込むと、スクリプトで設定する全クライアントシステム上でリモートによる設定管理が可能になります。複数のシステムを同時に再設定する場合に便利です。--allow-remote-commands
フラグを組み込むと、すべてのクライアントシステムでリモートによるスクリプトの使用が可能になります。設定管理と同様、複数システムの再設定に便利な機能です。
# rhn-bootstrap --activation-keys KEY1,KEY2 \ --gpg-key /var/www/html/pub/MY_CORPORATE_PUBLIC_KEY \ --allow-config-actions \ --allow-remote-commands
4.1.1.3. Red Hat Network Bootstrap スクリプトの使い方
/var/www/html/pub/bootstrap/
ディレクトリーに行き、次のコマンドを実行します。スクリプト名とホスト名はシステムタイプにあわせて適宜変更してください。
# cat bootstrap-EDITED-NAME.sh | ssh root@CLIENT_MACHINE1 /bin/bash
wget
または curl
のいずれかを使用して各クライアントシステムからスクリプトを取り込み、実行していく方法もあります。各クライアントマシンにログインして次のコマンドを発行します。スクリプトとホスト名は適宜変更してください。
# wget -qO - \ https://your-satellite.example.com/pub/bootstrap/bootstrap-EDITED-NAME.sh \ | /bin/bash
curl
を使用した場合は次のようになります。
# curl -Sks \ https://your-satellite.example.com/pub/bootstrap/bootstrap-EDITED-NAME.sh \ | /bin/bash
4.1.1.4. Red Hat Network Bootstrap オプションの設定
rhn-bootstrap --help
を発行するか、または man ページを参照してください。
表4.1 Red Hat Network Bootstrap のオプション
オプション | 説明 |
---|---|
-h 、 --help | ブートストラップスクリプトの生成を行なう場合に使用するオプション一覧と共にヘルプ画面を表示します。 |
--activation-keys=ACTIVATION_KEYS | アクティベーションキーです。複数のエントリの場合はコンマで区切り空白は入れません。 |
--overrides=OVERRIDES | 無視するファイル名です。デフォルトは client-config-overrides.txt です。 |
--script=SCRIPT | ブートストラップスクリプトのファイル名です。デフォルトは bootstrap.sh です。 |
--hostname=HOSTNAME | クライアントシステムの接続先となるサーバーの完全修飾ドメイン名 (FQDN) です。 |
--ssl-cert=SSL_CERT | 組織のパブリック SSL 証明書へのパスで、パッケージまたは生の証明書になります。--pub-tree オプションにコピーされます。 "" の値で --pub-tree の検索を強制します。 |
--gpg-key=GPG_KEY | 企業または組織のパブリック GPG キーへのパスです (使用する場合)。 --pub-tree オプションによって指定した場所にコピーされます。 |
--http-proxy=HTTP_PROXY | hostname:port の形式のクライアントシステム用 HTTP プロキシの設定です。"" の値でこの設定が無効になります。 |
--http-proxy-username=HTTP_PROXY_USERNAME | HTTP プロキシの認証に使用する場合はユーザー名を指定します。"" の値を使うとこの設定は無効になります。 |
--http-proxy-password=HTTP_PROXY_PASSWORD | HTTP プロキシの認証に使用する場合はパスワードを指定します。 |
--allow-config-actions | Boolean です。このオプションを組み込むと、システムは Red Hat Network 経由の設定動作をすべて許可するようになります。このオプションを設定する場合は、アクティベーションキーなどを使って、特定の rhncfg-* パッケージをインストールする必要があります。 |
--allow-remote-commands | Boolean です。このオプションを組み込むと、システムは Red Hat Network 経由の任意のリモートコマンドを許可するようになります。おそらくアクティベーションキーを使って特定の rhncfg-* パッケージのインストールが必要になります。 |
--no-ssl | 推奨できません。 Boolean です。このオプションを組み込むと、クライアントシステムの SSL がオフになります。 |
--no-gpg | 推奨できません。 Boolean です。このオプションを組み込むと、クライアントシステム上で GPG のチェックがオフになります。 |
--pub-tree=PUB_TREE | 変更は推奨できません。 CA SSL 証書とパッケージが格納されるパブリックディレクトリーのツリーです (ブートストラップのディレクトリーとスクリプト群)。 デフォルトは /var/www/html/pub/ です。 |
--force | 推奨できません。 Boolean です。このオプションを組み込むと、警告を無視してブートストラップスクリプトの生成を強制します。 |
-v 、--verbose | 詳細なメッセージを表示します。表示レベルが累積的に詳細となり、 -vvv で最大の詳細レベル表示になります。 |
4.1.1.5. Red Hat Network Bootstrap 設定の手作業によるスクリプト化
# Reconfigure the clients to talk to the correct server. perl -p -i -e 's/s/www\.rhns\.redhat\.com/proxy-or-sat\.example\.com/g' \ /etc/sysconfig/rhn/rhn_register \ /etc/sysconfig/rhn/up2date # Install the SSL client certificate for your company's # Red Hat Satellite Server or Red Hat Network Proxy Server. rpm -Uvh http://proxy-or-sat.example.com/pub/rhn-org-trusted-ssl-cert-*.noarch.rpm # Reconfigure the clients to use the new SSL certificate. perl -p -i -e 's/^sslCA/#sslCA/g;' \ /etc/sysconfig/rhn/up2date /etc/sysconfig/rhn/rhn_register echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \ >> /etc/sysconfig/rhn/up2date echo "sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" \ >> /etc/sysconfig/rhn/rhn_register # Download the GPG key needed to validate custom packages. wget -O - -q http://proxy-or-sat.example.com.com/pub/YOUR-RPM-GPG-KEY # Import that GPG key to your GPG keyring. rpm --import /path/to/YOUR-RPM-GPG-KEY
/pub/
ディレクトリー内に配置し、そのサーバー上で wget -O-
を実行し、その出力をシェルセッションに入力すると、各クライアントから単一のコマンドを使用してブートストラップの全プロセスを実行することができるようになります。
# wget -O - http://proxy-or-sat.example.com.com/pub/bootstrap_script | bash
警告
4.1.1.6. キックスタートの実装
rhn-setup
RPM に同梱されている rhnreg_ks
ユーティリティを使用して、ローカルの Red Hat Network Server にシステムを登録することができます。本セクションではシステムを登録するために rhnreg_ks
を正しく使用する方法について説明しています。
rhnreg_ks
ユーティリティは、アクティベーションキー を使用して 1 回の操作でシステムの登録からエンタイトルメントの付与、指定チャンネルへのサブスクライブまで一度に行います。アクティベーションキーについての詳細は 『Red Hat Network Management Reference Guide』 の「RHN Website」と「Red Hat Update Agent」のセクションを参照してください。
# Generic 7.2 kickstart for laptops in the Widget Corporation (widgetco) # Standard kickstart options for a network-based install. For an # explanation of these options, consult the Red Hat Enterprise Linux # Customization Guide. lang en_US langsupport --default en_US en_US keyboard defkeymap network --bootproto dhcp install url --url ftp://ftp.widgetco.com/pub/redhat/linux/7.2/en/os/i386 zerombr yes clearpart --all part /boot --size 128 --fstype ext3 --ondisk hda part / --size 2048 --grow --fstype ext3 --ondisk hda part /backup --size 1024 --fstype ext3 --ondisk hda part swap --size 512 --ondisk hda bootloader --location mbr timezone America/New_York rootpw --iscrypted $1$78Jnap82Hnd0PsjnC8j3sd2Lna/Hx4. auth --useshadow --enablemd5 --krb5realm .COM --krb5kdc auth.widgetco.com \ --krb5adminserver auth.widgetco.com mouse --emulthree genericps/2 xconfig --card "S3 Savage/MX" --videoram 8192 --resolution 1024x768 \ --depth 16 --defaultdesktop=GNOME --startxonboot --noprobe \ --hsync 31.5-48.5 --vsync 40-70 reboot # Define a standard set of packages. Note: Red Hat Network client # packages are found in the Base channel. This is quite a minimal # set of packages %packages @ Base @ Utilities @ GNOME @ Laptop Support @ Dialup Support @ Software Development @ Graphics and Image Manipulation @ Games and Entertainment @ Sound and Multimedia Support %post ( # Note that we run the entire %post section as a subshell for logging. # Use the one-line command for the bootstrap script. Assuming that the # script has been properly configured, it should prepare the system # fully for usage of local Red Hat Network Servers. wget -O- http://proxy-or-sat.example.com/pub/bootstrap_script | /bin/bash # The following is an example of rhnreg_ks usage, the kickstart # utility for rhn_register. This demonstrates the usage of the # --activationkey flag, which describes an activation key. For example, # this activation key could be set up in the Web interface to join this # system to the "Laptops" group and the local "Laptop Software" # channel. Note that this section applies only to Proxy server users, as # this step is handled by the Satellite bootstrap script. # # For more information about activation keys, consult the Red Hat Network # Management Reference Guide. /usr/sbin/rhnreg_ks --activationkey=6c933ea74b9b002f3ac7eb99619d3374 # End the subshell and capture any output to a post-install log file. ) 1>/root/post_install.log 2>&1
4.1.1.7. サンプルのブートストラップスクリプト
/var/www/html/pub/bootstrap/bootstrap.sh
スクリプトでは、Red Hat Satellite Server にクライアントシステムをアクセスさせるための再設定を簡単に行なえる機能を提供しています。Red Hat Satellite Server および Red Hat Satellite Proxy Server をご利用のお客様は、RHN Bootstrap ツールでこの機能をご使用いただけます。使用状況に合わせてスクリプトを修正してから、各クライアントマシンでそのスクリプトを実行します。
#!/bin/bash echo "Red Hat Satellite Server Client bootstrap script v4.0" # This file was autogenerated. Minor manual editing of this script (and # possibly the client-config-overrides.txt file) may be necessary to complete # the bootstrap setup. Once customized, the bootstrap script can be triggered # in one of two ways (the first is preferred): # # (1) centrally, from the RHN Satellite Server via ssh (i.e., from the # RHN Satellite Server): # cd /var/www/html/pub/bootstrap/ # cat bootstrap-<edited_name>.sh | ssh root@<client-hostname> /bin/bash # # ...or... # # (2) in a decentralized manner, executed on each client, via wget or curl: # wget -qO- https://<hostname>/pub/bootstrap/bootstrap-<edited_name>.sh | /bin/bash # ...or... # curl -Sks https://<hostname>/pub/bootstrap/bootstrap-<edited_name>.sh | /bin/bash # SECURITY NOTE: # Use of these scripts via the two methods discussed is the most expedient # way to register machines to your RHN Satellite Server. Since "wget" is used # throughout the script to download various files, a "Man-in-the-middle" # attack is theoretically possible. # # The actual registration process is performed securely via SSL, so the risk # is minimized in a sense. This message merely serves as a warning. # Administrators need to appropriately weigh their concern against the # relative security of their internal network. # PROVISIONING/KICKSTART NOTE: # If provisioning a client, ensure the proper CA SSL public certificate is # configured properly in the post section of your kickstart profiles (the # RHN Satellite or hosted web user interface). # UP2DATE/RHN_REGISTER VERSIONING NOTE: # This script will not work with very old versions of up2date and # rhn_register. echo echo echo "MINOR MANUAL EDITING OF THIS FILE MAY BE REQUIRED!" echo echo "If this bootstrap script was created during the initial installation" echo "of an RHN Satellite, the ACTIVATION_KEYS, and ORG_GPG_KEY values will" echo "probably *not* be set (see below). If this is the case, please do the" echo "following:" echo " - copy this file to a name specific to its use." echo " (e.g., to bootstrap-SOME_NAME.sh - like bootstrap-web-servers.sh.)" echo " - on the website create an activation key or keys for the system(s) to" echo " be registered." echo " - edit the values of the VARIABLES below (in this script) as" echo " appropriate:" echo " - ACTIVATION_KEYS needs to reflect the activation key(s) value(s)" echo " from the website. XKEY or XKEY,YKEY" echo " - ORG_GPG_KEY needs to be set to the name(s) of the corporate public" echo " GPG key filename(s) (residing in /var/www/html/pub) if appropriate. XKEY or XKEY,YKEY" echo echo "Verify that the script variable settings are correct:" echo " - CLIENT_OVERRIDES should be only set differently if a customized" echo " client-config-overrides-VER.txt file was created with a different" echo " name." echo " - ensure the value of HOSTNAME is correct." echo " - ensure the value of ORG_CA_CERT is correct." echo echo "Enable this script: comment (with #'s) this block (or, at least just" echo "the exit below)" echo exit 1 # can be edited, but probably correct (unless created during initial install): # NOTE: ACTIVATION_KEYS *must* be used to bootstrap a client machine. ACTIVATION_KEYS= ORG_GPG_KEY= # can be edited, but probably correct: CLIENT_OVERRIDES=client-config-overrides.txt HOSTNAME=yoursatellite.hostname.com ORG_CA_CERT=RHN-ORG-TRUSTED-SSL-CERT ORG_CA_CERT_IS_RPM_YN=0 USING_SSL=1 USING_GPG=1 REGISTER_THIS_BOX=1 ALLOW_CONFIG_ACTIONS=1 ALLOW_REMOTE_COMMANDS=1 FULLY_UPDATE_THIS_BOX=1 # Set if you want to specify profilename for client systems. # NOTE: Make sure it's set correctly if any external command is used. # # ex. PROFILENAME="foo.example.com" # For specific client system # PROFILENAME=`hostname -s` # Short hostname # PROFILENAME=`hostname -f` # FQDN PROFILENAME="" # Empty by default to let it be set automatically. # # ----------------------------------------------------------------------------- # DO NOT EDIT BEYOND THIS POINT ----------------------------------------------- # ----------------------------------------------------------------------------- # # an idea from Erich Morisse (of Red Hat). # use either wget *or* curl # Also check to see if the version on the # machine supports the insecure mode and format # command accordingly. if [ -x /usr/bin/wget ] ; then output=`LANG=en_US /usr/bin/wget --no-check-certificate 2>&1` error=`echo $output | grep "unrecognized option"` if [ -z "$error" ] ; then FETCH="/usr/bin/wget -q -r -nd --no-check-certificate" else FETCH="/usr/bin/wget -q -r -nd" fi else if [ -x /usr/bin/curl ] ; then output=`LANG=en_US /usr/bin/curl -k 2>>&1` error=`echo $output | grep "is unknown"` if [ -z "$error" ] ; then FETCH="/usr/bin/curl -SksO" else FETCH="/usr/bin/curl -SsO" fi fi fi HTTP_PUB_DIRECTORY=http://${HOSTNAME}/pub HTTPS_PUB_DIRECTORY=https://${HOSTNAME}/pub if [ $USING_SSL -eq 0 ] ; then HTTPS_PUB_DIRECTORY=${HTTP_PUB_DIRECTORY} fi INSTALLER=up2date if [ -x /usr/bin/zypper ] ; then INSTALLER=zypper elif [ -x /usr/bin/yum ] ; then INSTALLER=yum fi echo echo "UPDATING RHN_REGISTER/UP2DATE CONFIGURATION FILES" echo "-------------------------------------------------" echo "* downloading necessary files" echo " client_config_update.py..." rm -f client_config_update.py $FETCH ${HTTPS_PUB_DIRECTORY}/bootstrap/client_config_update.py echo " ${CLIENT_OVERRIDES}..." rm -f ${CLIENT_OVERRIDES} $FETCH ${HTTPS_PUB_DIRECTORY}/bootstrap/${CLIENT_OVERRIDES} if [ ! -f "client_config_update.py" ] ; then echo "ERROR: client_config_update.py was not downloaded" exit 1 fi if [ ! -f "${CLIENT_OVERRIDES}" ] ; then echo "ERROR: ${CLIENT_OVERRIDES} was not downloaded" exit 1 fi echo "* running the update scripts" if [ -f "/etc/sysconfig/rhn/rhn_register" ] ; then echo " . rhn_register config file" /usr/bin/python -u client_config_update.py /etc/sysconfig/rhn/rhn_register ${CLIENT_OVERRIDES} fi echo " . up2date config file" /usr/bin/python -u client_config_update.py /etc/sysconfig/rhn/up2date ${CLIENT_OVERRIDES} if [ ! -z "$ORG_GPG_KEY" ] ; then echo echo "* importing organizational GPG key" for GPG_KEY in $(echo "$ORG_GPG_KEY" | tr "," " "); do rm -f ${GPG_KEY} $FETCH ${HTTPS_PUB_DIRECTORY}/${GPG_KEY} # get the major version of up2date # this will also work for RHEL 5 and systems where no up2date is installed res=$(LC_ALL=C rpm -q --queryformat '%{version}' up2date | sed -e 's/\..*//g') if [ "x$res" == "x2" ] ; then gpg $(up2date --gpg-flags) --import $GPG_KEY else rpm --import $GPG_KEY fi done fi echo echo "* attempting to install corporate public CA cert" if [ $ORG_CA_CERT_IS_RPM_YN -eq 1 ] ; then rpm -Uvh --force --replacefiles --replacepkgs ${HTTPS_PUB_DIRECTORY}/${ORG_CA_CERT} else rm -f ${ORG_CA_CERT} $FETCH ${HTTPS_PUB_DIRECTORY}/${ORG_CA_CERT} mv ${ORG_CA_CERT} /usr/share/rhn/ fi if [ "$INSTALLER" == zypper ] ; then if [ $ORG_CA_CERT_IS_RPM_YN -eq 1 ] ; then # get name from config ORG_CA_CERT=$(basename $(sed -n 's/^sslCACert *= *//p' /etc/sysconfig/rhn/up2date)) fi test -e "/etc/ssl/certs/${ORG_CA_CERT}.pem" || { test -d "/etc/ssl/certs" || mkdir -p "/etc/ssl/certs" ln -s "/usr/share/rhn/${ORG_CA_CERT}" "/etc/ssl/certs/${ORG_CA_CERT}.pem" } test -x /usr/bin/c_rehash && /usr/bin/c_rehash /etc/ssl/certs/ | grep "${ORG_CA_CERT}" fi echo echo "REGISTRATION" echo "------------" # Should have created an activation key or keys on the RHN Satellite Server's # website and edited the value of ACTIVATION_KEYS above. # # If you require use of several different activation keys, copy this file and # change the string as needed. # if [ -z "$ACTIVATION_KEYS" ] ; then echo "*** ERROR: in order to bootstrap RHN clients, an activation key or keys" echo " must be created in the RHN web user interface, and the" echo " corresponding key or keys string (XKEY,YKEY,...) must be mapped to" echo " the ACTIVATION_KEYS variable of this script." exit 1 fi if [ $REGISTER_THIS_BOX -eq 1 ] ; then echo "* registering" files="" directories="" if [ $ALLOW_CONFIG_ACTIONS -eq 1 ] ; then for i in "/etc/sysconfig/rhn/allowed-actions /etc/sysconfig/rhn/allowed-actions/configfiles"; do [ -d "$i" ] || (mkdir -p $i && directories="$directories $i") done [ -f /etc/sysconfig/rhn/allowed-actions/configfiles/all ] || files="$files /etc/sysconfig/rhn/allowed-actions/configfiles/all" [ -n "$files" ] && touch $files fi if [ -z "$PROFILENAME" ] ; then profilename_opt="" else profilename_opt="--profilename=$PROFILENAME" fi /usr/sbin/rhnreg_ks --force --activationkey "$ACTIVATION_KEYS" $profilename_opt RET="$?" [ -n "$files" ] && rm -f $files [ -n "$directories" ] && rmdir $directories if [ $RET -eq 0 ]; then echo echo "*** this system should now be registered, please verify ***" echo else echo echo "*** Error: Registering the system failed." echo exit 1 fi else echo "* explicitly not registering" fi if [ $ALLOW_CONFIG_ACTIONS -eq 1 ] ; then echo echo "* setting permissions to allow configuration management" echo " NOTE: use an activation key to subscribe to the tools" if [ "$INSTALLER" == zypper ] ; then echo " channel and zypper install/update rhncfg-actions" elif [ "$INSTALLER" == yum ] ; then echo " channel and yum upgrade rhncfg-actions" else echo " channel and up2date rhncfg-actions" fi if [ -x "/usr/bin/rhn-actions-control" ] ; then rhn-actions-control --enable-all rhn-actions-control --disable-run else echo "Error setting permissions for configuration management." echo " Please ensure that the activation key subscribes the" if [ "$INSTALLER" == zypper ] ; then echo " system to the tools channel and zypper install/update rhncfg-actions." elif [ "$INSTALLER" == yum ] ; then echo " system to the tools channel and yum updates rhncfg-actions." else echo " system to the tools channel and up2dates rhncfg-actions." fi exit fi fi if [ $ALLOW_REMOTE_COMMANDS -eq 1 ] ; then echo echo "* setting permissions to allow remote commands" echo " NOTE: use an activation key to subscribe to the tools" if [ "$INSTALLER" == zypper ] ; then echo " channel and zypper update rhncfg-actions" elif [ "$INSTALLER" == yum ] ; then echo " channel and yum upgrade rhncfg-actions" else echo " channel and up2date rhncfg-actions" fi if [ -x "/usr/bin/rhn-actions-control" ] ; then rhn-actions-control --enable-run else echo "Error setting permissions for remote commands." echo " Please ensure that the activation key subscribes the" if [ "$INSTALLER" == zypper ] ; then echo " system to the tools channel and zypper updates rhncfg-actions." elif [ "$INSTALLER" == yum ] ; then echo " system to the tools channel and yum updates rhncfg-actions." else echo " system to the tools channel and up2dates rhncfg-actions." fi exit fi fi echo echo "OTHER ACTIONS" echo "------------------------------------------------------" if [ $FULLY_UPDATE_THIS_BOX -eq 1 ] ; then if [ "$INSTALLER" == zypper ] ; then echo "zypper --non-interactive up zypper zypp-plugin-spacewalk; rhn-profile-sync; zypper --non-interactive up (conditional)" elif [ "$INSTALLER" == yum ] ; then echo "yum -y upgrade yum yum-rhn-plugin; rhn-profile-sync; yum upgrade (conditional)" else echo "up2date up2date; up2date -p; up2date -uf (conditional)" fi else if [ "$INSTALLER" == zypper ] ; then echo "zypper --non-interactive up zypper zypp-plugin-spacewalk; rhn-profile-sync" elif [ "$INSTALLER" == yum ] ; then echo "yum -y upgrade yum yum-rhn-plugin; rhn-profile-sync" else echo "up2date up2date; up2date -p" fi fi echo "but any post configuration action can be added here. " echo "------------------------------------------------------" if [ $FULLY_UPDATE_THIS_BOX -eq 1 ] ; then echo "* completely updating the box" else echo "* ensuring $INSTALLER itself is updated" fi if [ "$INSTALLER" == zypper ] ; then zypper ref -s zypper --non-interactive up zypper zypp-plugin-spacewalk if [ -x /usr/sbin/rhn-profile-sync ] ; then /usr/sbin/rhn-profile-sync else echo "Error updating system info in RHN Satellite." echo " Please ensure that rhn-profile-sync in installed and rerun it." fi if [ $FULLY_UPDATE_THIS_BOX -eq 1 ] ; then zypper --non-interactive up fi elif [ "$INSTALLER" == yum ] ; then /usr/bin/yum -y upgrade yum yum-rhn-plugin if [ -x /usr/sbin/rhn-profile-sync ] ; then /usr/sbin/rhn-profile-sync else echo "Error updating system info in RHN Satellite." echo " Please ensure that rhn-profile-sync in installed and rerun it." fi if [ $FULLY_UPDATE_THIS_BOX -eq 1 ] ; then /usr/bin/yum -y upgrade fi else /usr/sbin/up2date up2date /usr/sbin/up2date -p if [ $FULLY_UPDATE_THIS_BOX -eq 1 ] ; then /usr/sbin/up2date -uf fi fi echo "-bootstrap complete-"
4.2. Satellite を使ったシステムの管理
4.2.1. 個別システムの管理
4.2.1.1. システムの電力管理の制御
重要
cobbler
の IPMI との統合によって物理マシンの電源管理機能を提供します。電源管理機能を使用する前に、サーバーに IPMI フェンシングエージェントをインストール必要があります。以下のコマンドを使用してフェンシングエージェントをインストールします。
# yum install fence-agents
/etc/rhn/rhn.conf
ファイルを編集し、以下のプロパティーをファイルの最後に追加します。
java.power_management.types = ipmilan
# rhn-satellite restart
- システム → システム と移動します。
- 管理するシステムを選択します。
- 詳細 → プロパティー と選択し、システムの Provisioning エンタイトルメントが有効であることを確認します。付属エンタイトルメント の Provisioning をチェックし、プロパティーの更新 をクリックします。
- Provisioning → 電力管理 と選択します。
- フェンシングエージェント タイプ の IPMI を選択します。
- IPMI 電源管理ボードの ネットワークアドレス を入力します。Satellite はフェンシングエージェントを使用して電源管理ボードと通信します。
- 電源管理ボードの ユーザー名 および パスワード を入力します。
- 保存 をクリックします。
4.2.1.2. システムのハードウェアプロファイルの表示
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ハードウェア をクリックします。
4.2.1.3. Satellite からのシステム再起動のスケジューリング
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- システムイベント 以下のページの右側にある、システムの再起動をスケジュール をクリックします。
4.2.1.4. システムのベースチャンネルのサブスクリプションの変更
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ページの左側にある サブスクライブしているチャンネル の下で、チャンネルサブスクリプションの変更 をクリックします。
- ページの下部にある ベースソフトウェアチャンネル セクションにスクロールし、適用するベースチャンネルを選択します。
- 確認 をクリックします。
注記
4.2.1.5. システムの子チャンネルのサブスクリプションの変更
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ページの左側にある サブスクライブしているチャンネル の下で、チャンネルサブスクリプションの変更 をクリックします。
- チェックボックスにチェックマークを付けることにより、システムが必要な子チャンネルを選択します。必要な数だけ選択することができます。一部のチャンネルは、選択されると追加のソフトウェアエンタイトルメントを使用する可能性があることに注意してください。
- サブスクリプションの変更 をクリックします。
4.2.1.6. Provisioning/Monitoring エンタイトルメントのシステムへの追加
- Provisioning- このエンタイトルメントは、キックスタートを使用する機能、パッケージのロールバックおよび設定ファイル管理などを必要とするシステムで要求されます。
- Monitoring- このエンタイトルメントにより、Monitoring のエンタイトルメントを付与されたクライアントを持つ Satellite が、管理者に対して、システムパフォーマンスの問題が重大になる前に通知できるようにします。
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- 詳細 → プロパティ の順にクリックします。
- 付属エンタイトルメント セクションの必須のエンタイトルメントを選択します。
- プロパティの更新 をクリックします。
4.2.1.7. 新規パッケージのリモートインストール
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ソフトウエア → パッケージ → インストール の順にクリックします。
- システムにインストールするパッケージを選択します。
- 選択したパッケージをインストール をクリックします。
- 特定の時間か、またはできるだけ早くインストールするようスケジュールすることを選択します。
- 確認 をクリックします。
注記
4.2.1.8. パッケージのリモートでのアップグレード
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ソフトウェア → パッケージ → アップグレード の順にクリックします。
- アップグレードするパッケージを選択します。
- 特定の時間か、またはできるだけ早くインストールするようスケジュールすることを選択します。
- 確認 をクリックします。
注記
4.2.1.9. 変更からのシステムのロック
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- システム情報 セクションの ロックの状態 フィールドで、システムのロック をクリックします。
注記
4.2.1.10. システム状態のウェイト/乗数の設定
/usr/share/rhn/config-defaults/rhn_java.conf
に格納されたデフォルトのシステム状態の値になります。
# multiplier for critical security errata java.sc_crit = 32 # multiplier for important security errata java.sc_imp = 16 # multiplier for moderate important security errata java.sc_mod = 8 # multiplier for low important security errata java.sc_low = 4 # multiplier for bugfix errrata java.sc_bug = 2 # multiplier for enhancement errata java.sc_enh = 1
/etc/rhn/rhn.conf
ファイルに追加すると上書きできます。スコアが高いほど、レポートのシステムの重要度が高くなります。
- Satellite サーバーに root としてログインします。
- 選択したテキストエディターで、
/etc/rhn/rhn.conf
を編集します。# vim /etc/rhn/rhn.conf
/etc/rhn/rhn.conf
ファイルに変更したいカスタム値を追加します。java.sc_imp = desired_value java.sc_mod = desired_value java.sc_low = desired_value java.sc_bug = desired_value java.sc_enh = desired_value
/etc/rhn/rhn.conf
ファイルを保存します。- Satellite のサービスを再起動します。
# rhn-satellite restart
注記
system.getSystemCurrencyMultipliers
- この API 呼び出しは、現在の重み/乗数の設定についての情報を提供します。system.getSystemCurrencyScores
- この API 呼び出しは、システムのリスト、スコアおよびそれぞれのタイプの適用されるエラータの数を返します。
4.2.2. システムグループの管理
4.2.2.1. システムのシステムグループへの追加
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- グループ → 参加 の順にクリックします。
- システムを追加する必要のある 1 つまたは複数のグループを選択します。
- 選択したグループに参加 をクリックします。
4.2.2.2. 複数のシステムのシステムグループへの追加
- システム → システムグループ をクリックします。
- 必要なシステムグループをクリックします。
- 目的のシステム サブタブをクリックします。
注記
目的のシステムは、Satellite 上にある有効なシステムであり、グループに追加することができます。 - システムの追加 をクリックします。
4.2.2.3. グループ管理者のグループへの追加
- システム → システムグループ をクリックします。
- 必要なシステムグループをクリックします。
- 管理者 サブタブをクリックします。
- グループ管理者にする必要のあるユーザー名をクリックします。
- 更新 をクリックします。
注記
4.2.2.4. システムグループからのシステムの削除
- システム → システムグループ をクリックします。
- 必要なシステムグループをクリックします。
- システム をクリックします。
- システムグループから削除するすべてのシステムを選択します。
- システムの削除 をクリックします。
4.2.2.5. システム内の影響を受けたシステムへのエラータの適用
- システム → システムグループ をクリックします。
- 必要なシステムグループをクリックします。
- エラータ サブタブをクリックします。
- 影響を受けたシステムに適用する アドバイザリ を選択します。
- 影響を受けるシステム をクリックして、エラータの影響を受けるシステムの一覧を表示します。
- エラータを適用するシステムを選択するか、またはすべてを選択 を選択します。
- エラータの適用 をクリックします。
4.2.3. システム設定マネージャーでのシステムの管理
- エラータ更新のスケジュール、およびパッケージのアップグレード、インストールおよび削除
- システムのチャンネルメンバーシップ、設定チャンネルの配備および設定チャンネルのサブスクリプションの管理
- システムのプロビジョニング、リモートコマンドの実行、およびスナップショットのロールバック用のシステムのタグ付け
- システムの別の組織への移行、および Satellite 内の選択したシステムのカスタム値の設定
4.2.3.1. システムの SSM への追加
- システム → システム の順にクリックします。
- システムの名前をクリックします。
- ページ右上にある ssm へ追加 をクリックします。
4.2.3.2. SSM 内でのエラータ更新のスケジューリング
- システム → システム設定マネージャー をクリックします。
- メインページで エラータの更新をスケジュール をクリックするか、または エラータ サブタブをクリックします。
- 影響を受けるシステムに適用する アドバイザリ を選択します。システムのセットに有効な分だけ選択します。
- エラータの適用 をクリックします。
4.2.3.3. チャンネルメンバーシップの管理
- システム → システム設定マネージャー → チャンネル の順にクリックします。
- 前述したように、ベースチャンネルは、子チャンネルにサブスクライブする前に選択している必要があります。子チャンネルのサブスクリプションのみを変更する場合は、次の手順に進みます。ベースチャンネルを変更する必要がある場合、以下の手順に従って、ベースチャンネルにサブスクライブします。
- ベースチャンネル サブタブをクリックします。
- 必要なベースチャンネル からサブスクライブするベースチャンネルを選択します。
- サブスクリプションの確認 をクリックします。
- 子チャンネル サブタブをクリックして、「子チャンネル」ページに戻ります。
- 選択したシステムをチャンネルにサブスクライブさせるには、サブスクライブ (Subscribe) を選択します。選択したシステムのチャンネルへのサブスクライブを中止するには、サブスクライブを中止 を選択し、チャンネルのサブスクリプションに変更を一切加えない場合には 何も実行しない を選択します。
- 変更を保存するには、サブスクリプションの変更 をクリックします。
- 前の画面で行われた変更を確認するために、変更の要約が表示されます。これらの変更を確認してから、変更が正しい場合は サブスクリプションの変更 を選択します。
4.2.3.4. SSM による設定管理の有効化
- 要件
- システム内で設定管理を有効にするには、以下の要件が必要です。
- Provisioning エンタイトルメント。Provisioning エンタイトルメントをシステムに追加する方法については、『システム』 の章を参照してください。
- Red Hat Satellite Tools チャンネルへのサブスクリプション。子チャンネルを変更する方法については、『システム』 の章を参照してください。
- 組織管理者。
- SSM にサブスクライブされたシステム。SSM がこの動作を実行するには、システムを SSM にサブスクライブさせる必要があります。
- システム → システム設定マネージャー → 設定 の順にクリックします。
- 設定を有効にする サブタブをクリックします。
rhcfg-*
パッケージのパッケージインストールをスケジュールします。これらの設定パッケージをインストールする時間を選択します。- Red Hat Satellite 設定管理を有効にする (Enable Red Hat Satellite Configuration Management) をクリックします。
- 個々のシステムでターミナルコンソールを開くか、root としてリモートからログインします。以下の動作を実行する必要があります。
- このコマンドを実行して、保留中の
rhncfg-*
パッケージのインストールを完了します。# rhn_check
- 以下のコマンドを実行して Red Hat Network の動作を有効にします。
# rhn-actions-control --enable-all
4.2.3.5. SSM を使った設定チャンネルのサブスクライブ
- 要件
- SSM を使ってシステムをチャンネルにサブスクライブさせるには、以下の要件を満たしている必要があります。
- システムを SSM に追加している必要があります。本セクションの 『システムの SSM への追加』 の手順を参照してください。
- 設定管理を有効にしておく必要があります。本章の 『SSM を使って設定管理を有効にする』 手順を参照してください。
- 設定管理では、システムが Provisioning エンタイトルメントを持っている必要があります。Provisioning エンタイトルメントをシステムに追加する方法については、『システム』 の章を参照してください。
- システム → システム設定マネージャー → 設定 または システム → システム設定マネージャー → 設定チャンネルサブスクリプション の順にクリックします。
- システムをサブスクライブさせるチャンネルを選択します。
- 続行 をクリックします。
- 一覧にあるチャンネルを選択し、上下の矢印を使って順位を変更します。これにより、チャンネルにランクが割り当てられます。チャンネルのランク付けを行うと、順位の高いチャンネルが、順位の低いチャンネル内の同じパスを持つファイルの設定変更をオーバーライドできます。
- 端にあるラジオボタンを使用して、設定チャンネルの順位を選択します。これにより、システム上の現在の設定チャンネルに対して、リストされる設定チャンネルのランク付けが行われます。
- サブスクリプションの適用 をクリックします。
- サブスクライブさせる設定チャンネルに対してシステムを確認します。すべての情報を確認した後に 確認 をクリックします。
4.2.3.6. SSM による設定チャンネルの配備
- システム → システム設定マネージャー → 設定 または システム → システム設定マネージャー → 設定チャンネルの配備 をクリックします。
- 配備するファイルのファイル名を選択します。
- 設定ファイルの配備をできるだけ早く行うように選択するか、または特定の日時を選択することによって、設定ファイルの配備をスケジュールします。
- 設定配備を確認するために ファイルの配備を確認 をクリックします。
4.2.3.7. プロビジョニング用のシステムのタグ付け
- システム → システム設定マネージャー → タグ の順にクリックします。
- タグ名 フィールドに入力します。
- 現在のスナップショットにタグ付け をクリックします。
4.2.3.8. SSM を使用したリモートコマンドの実行
- システム → システム設定マネージャー → リモートコマンド をクリックします。
- 以下のフィールドに入力します。
- ユーザーとして実行
- グループとして実行
- タイムアウト (秒単位)
- スクリプト
- シェルスクリプトをターゲットシステムで実行できるようにスケジュールされた日時を設定します。
- リモートコマンドのスケジュール をクリックします。
4.2.4. 動作チェーンの管理
httpd
パッケージをシステムにインストールして /etc/httpd/conf.d/
の設定ファイルをアップロードし、最後にスクリプトを実行して httpd
サービスを開始する必要がある場合があります。Satellite では動作チェーンの機能を使用して、これらの動作をスケジュールに組み込み、順番に実行することができます。
- パッケージのインストール
- パッケージの更新
- パッケージの削除
- パッケージの検証
- エラータの適用
- リモートコマンドの実行
- 設定ファイルの配備
- システムの再起動
図4.1 動作チェーンの追加
4.3. 仮想化クライアントシステムの管理
- Red Hat Enterprise Linux Server (32 ビット x86 対応の v.5) - rhel-i386-server-5 (およびすべての子チャンネル)
- RHEL サーバー向け Red Hat Network Tools (32 ビット x86 対応の v.5) - rhn-tools-rhel-i386-server-5
- Red Hat Enterprise Linux Server Virtualization (32 ビット x86 対応の v.5) - rhel-i386-server-vt-5 (およびすべての子チャンネル)
- Red Hat Enterprise Linux Server (64 ビット x86_64 対応の v.6) - rhel-x86_64-server-6 (およびすべての子チャンネル)
- RHEL サーバー向けの Red Hat Network Tools (64 ビット x86_64 対応の v.6) - rhn-tools-rhel-x86_64-server-6
4.3.1. 仮想システム用ホストシステムのセットアップ
4.3.1.1. ゲストシステム用のキックスタートプロファイルの作成
- Satellite の Web インターフェースにログインします。ユーザーの Red Hat Network (Your Red Hat Network) にある タスク ウィジット内の キックスタートの管理 (Manage Kickstarts) リンクをクリックして キックスタート概要 の画面まで行きます。または システム タブをクリックしてから左のナビゲーションバーの キックスタート サブタブをクリックしても キックスタート概要 の画面まで行くことができます。
- キックスタート概要 ページの右上部にある キックスタートのアクション ウィジット内の 新規のキックスタートプロファイルを作成 をクリックします。
- 他のプロファイルと区別できるようプロファイルのラベルを入力します。ここでは説明しやすいようラベルを host-system-for-virtual-guests にしたと仮定して進めます。
- ベースチャンネル フィールドには、 Red Hat Enterprise Linux ($ARCH 対応の v.5 または 6) を選択します ($ARCH はご使用のホストシステムのアーキテクチャーです)。
注記
32 ビットの Red Hat Enterprise Linux 5 または 6 を 64 ビットのホストシステムにインストールすることは可能です。ただし、これを行う場合はゲストシステムも 32 ビットバージョンの Red Hat Enterprise Linux を稼動しなければならないので注意してください。 - キックスタート可能なツリー フィールドでは、
ks-rhel-$ARCH-server-5 (または 6)
を選択します。$ARCH はご使用のホストシステムのアーキテクチャーになります。 - 仮想化タイプ を選択します。
注記
既存のキックスタートの 仮想化タイプ を変更する場合、ブートローダーやパーティションのオプションも変更してしまう可能性があり、ユーザーの行ったカスタマイズ部分を上書きする可能性があります。仮想化タイプ を変更する場合は パーティション (Partitioning) タブを見て設定が適切であることを確認してください。 - 最後に、画面の右下にある 次へ ボタンをクリックして次のステップに移動します。
注記
上記のオプションがフィールド内にない場合、Red Hat のサーバーから Satellite へのソフトウェアチャンネルのコンテンツの同期が正常に行われていない可能性があります。
- ホストシステムのインストール用の配信ファイルの場所を選択します。この画面では、デフォルトのダウンロード場所 がすでに入力されています。次へ ボタンをクリックしてステップ 3 に移動します。
注記
デフォルトのダウンロード場所がない場合、Red Hat のサーバーから Satellite へのソフトウェアチャンネルのコンテンツ同期が正常に行われていない可能性があります。 - プロビジョニングを行うホストシステムに設定する root パスワードを選択し、完了 をクリックしてプロファイルの作成を終了します。
- 新たに作成されたキックスタートプロファイルが表示されます。プロファイルの各種タブを確認して設定を修正することができますが、ほとんどの場合デフォルト設定で正しく動作するので、修正は特に必要はありません。Satellite Web インターフェースを使ってゲストをリモートで開始し、停止できるようにするには、
acpid
パッケージを含める必要があります。
4.3.1.2. ホストシステムのキックスタート
4.3.1.2.1. ホストシステムに Red Hat Enterprise Linux がインストールされていない
ssh
を使って Satellite にログインし、ホスト用のブート CD を作成するために ISO を探します。Satellite は次の場所にあります。/var/satellite/rhn/kickstart/ks-rhel-i386-server-5.3/images/boot.iso
注記
キックスタートするのにフラッシュメモリ USB キーを使ってシステムを起動することができます。これを実行するためのヒントについては、『Red Hat Enterprise Linux インストールガイド』 を参照してください。お使いのホストシステムのハードウェアがこれらのデバイスからの起動に対応している必要がありますので注意してください。- ドライブにブート CD を挿入してシステムを再起動し、CD-ROM ドライブがシステムの BIOS で 1 番目の起動デバイスに設定されていることを確認します。
- 再起動したら、ブートプロンプトが表示されるはずです。次のコマンドをこのブートプロンプトに入力してキックスタートを開始します。
linux \ ks=http://your-satellite.example.com/ks/label/the profile label you created earlier
注記
システムによっては、上記のコマンドにksdevice=eth0
を追加する必要がある場合や、キックスタートプロセス中の混同を防ぐためシステムの BIOS で 1 つまたは複数の NIC を無効にする必要がある場合などがあります。 - ホストシステムのキックスタートが開始されます。完了するまでに約 15 分ほどかかります。このキックスタートが正常に完了すると、仮想ゲスト用のホストシステムのプロビジョニングが完了し Satellite に登録されたことになります。
4.3.1.2.2. ホストシステムに Red Hat Enterprise Linux 6 または 7 がインストールされている
注記
注記
- まず、ホストシステムを Red Hat Satellite に登録します。
ssh
を使ってホストシステムに接続します。その後、root で次のコマンドを発行します。# rhnreg_ks --serverUrl=http://your-satellite.example.com/XMLRPC \ --username=username --password=password
注記
ホストシステムが別の Red Hat Network サーバーにすでに登録されている場合、上記のコマンドに--force
オプションを追加します。 - 次に、Satellite の Web インターフェースでホストシステムのプロファイルを開きます。https://your-satellite.example.com/ で Satellite の Web インターフェースにログインします。上部のナビゲーションバーにある システム タブをクリックします。登録したばかりのホストシステムが表示されるはずです。プロファイル名をクリックしてそのシステムのプロファイルページにアクセスします。
- 仮想ゲストをホストするために必要となるソフトウェアにアクセスする必要があるので、そのソフトウェアチャンネルへのアクセス権を有していることを確認してください。ホストシステムのプロファイルページから、 サブスクライブされているチャンネル ヘッダーの チャンネルサブスクリプションの変更 (Alter Channel Subscriptions) リンクをクリックします。RHEL Virtualization と RHEL Server 用の Red Hat Network ツール (Red Hat Network Tools for RHEL Server) のそれぞれのチェックボックスにチェックを入れ、チャンネル一覧の下にある サブスクリプションの変更 ボタンをクリックします。
- システムで仮想ゲストをホストするために必要なソフトウェアがインストールされていることを確認します。ホストシステム上で、次のコマンドを root として実行します。Red Hat Enterprise Linux 6 の場合
# rpm -q qemu-kvm rhn-virtualization-host python-virtinst
Red Hat Enterprise Linux 7 の場合# rpm -q qemu-kvm rhn-virtualization-host virt-install
rpm
がこれらのパッケージはインストールされていないことを示す場合、次のコマンドを root としてシステム上で実行してパッケージをインストールする必要があります。Red Hat Enterprise Linux 6 の場合# yum install qemu-kvm rhn-virtualization-host python-virtinst
Red Hat Enterprise Linux 7 の場合# yum install qemu-kvm rhn-virtualization-host virt-install
- マシンを再起動させて変更を反映するか、またはプロセッサーに適合した
modprobe
コマンドを使います。# modprobe kvm_intel
または# modprobe kvm_amd
- また、start、pause、resume、および shutdown などの Satellite から送られてくるコマンドに対してホストシステムが応答するようにするためには、
osad
パッケージをインストールして実行する必要があります。インストールするには、以下のコマンドを実行します。# yum install -y osad
インストールしたらosad
プロセスを起動します。# /sbin/service osad restart
- これで Red Hat Network 仮想ゲストのプロビジョニングに関するホストシステムの準備が整ったはずです。
4.3.1.3. ホストシステムに Red Hat Enterprise Linux 5 がインストールされている
- まず、ホストシステムを Satellite に登録します。
ssh
を使ってホストシステムに接続します。root で、次のコマンドを発行してホストシステムを Satellite に登録します。# rhnreg_ks --serverUrl=http://your-satellite.example.com/XMLRPC \ --username=username --password=password
注記
ホストシステムが別の Red Hat Network サーバーにすでに登録されている場合、上記のコマンドに--force
オプションを追加します。 - Satellite の Web インターフェースでホストシステムのプロファイルを開きます。https://your-satellite.example.com/ で Satellite の Web インターフェースにログインします。上部のナビゲーションバーにある システム タブをクリックします。登録したばかりのホストシステムが表示されます。プロファイル名をクリックしてそのシステムのプロファイルページにアクセスします。
- 仮想ゲストをホストするために必要となるソフトウェアにアクセスする必要があるので、そのソフトウェアチャンネルへのアクセス権を有していることを確認してください。ホストシステムのプロファイルページから、 サブスクライブされているチャンネル ヘッダーの チャンネルサブスクリプションの変更 (Alter Channel Subscriptions) リンクをクリックします。RHEL Virtualization と RHEL Server 用の Red Hat Network ツール (Red Hat Network Tools for RHEL Server) のそれぞれのチェックボックスにチェックを入れ、チャンネル一覧の下にある サブスクリプションの変更 ボタンをクリックします。
- システムで仮想ゲストをホストするために必要なソフトウェアがインストールされているかどうかを確認します。ホストシステム上で、次のコマンドを root として発行します。
# rpm -q xen kernel-xen rhn-virtualization-host
KVM の場合は、次のコマンドを root で発行します。# rpm -q kvm kmod-kvm rhn-virtualization-host python-virtinst
rpm
がこれらのパッケージはインストールされていないことを示す場合、次のコマンドを root としてシステム上で実行してパッケージをインストールする必要があります。# yum install xen kernel-xen rhn-virtualization-host
KVM ユーザーの場合は、次のコマンドを root で実行してインストールを行います。# yum install kvm kmod-kvm rhn-virtualization-host python-virtinst
Xen の場合、デフォルトで新しい xen カーネルが起動するよう/etc/grub.conf
設定ファイルを編集する必要があります。grub.conf
内で xen カーネルに関連する行となるtitle
行の冒頭からinitrd
行の末尾までを選択してコピーし、いったん削除してからgrub.conf
内の最初のカーネルエントリとなるように貼り付けし直します。また、grub.conf
の上部にあるデフォルト変数の値が「0」に設定されていることも確認してください。注記
ホストシステム上でカーネルを更新しようとすると、再起動時のデフォルト選択は標準カーネルになります。必ず Xen カーネルがデフォルトで選択されるようにするには、/etc/sysconfig/kernel
ファイル内で以下の値を変更します。DEFAULTKERNEL=kernel
値をkernel-xen
に変更します。DEFAULTKERNEL=kernel-xen
- マシンを再起動させて変更を反映するか、またはプロセッサーに適合した
modprobe
コマンドを使います。# modprobe kvm_intel
または# modprobe kvm_amd
- システムを再起動して、xen カーネルで起動します。
uname -r
コマンドを使って実行中のカーネルが xen カーネルであるかどうかを確認します。カーネル名に Xen の文字列が見当たらない場合は、正しいカーネルで起動していないことになります。注記
システムに Xen およびkernel-xen
がすでにインストールされている場合は、rhn-virtualization-host
のインストール後に再起動を行う必要はありません。 - また、start、pause、resume、および shutdown などの Satellite から送られてくるコマンドに対してホストシステムが応答するようにするためには、
osad
パッケージをインストールして実行する必要があります。インストールするには、以下のコマンドを実行します。# yum install -y osad
インストール後にosad
プロセスを開始します。# /sbin/service osad restart
- これで Red Hat Network 仮想ゲストのプロビジョニングに関するホストシステムの準備が整ったはずです。
4.3.2. 仮想システムのセットアップ
4.3.2.1. ゲストシステム用のキックスタートプロファイルの作成
- Satellite の Web インターフェースにログオンします。概要 にある タスク ウィジットの キックスタートの管理 リンクをクリックするか、または上部ナビゲーションバーの システム、左のナビゲーションバーの キックスタート の順にクリックして キックスタート概要 画面まで移動します。
- キックスタート概要 のページで、右上にある キックスタートのアクション ウィジットの 新規のキックスタートプロファイルを作成 リンクをクリックします。
- 次に表示されるページがキックスタートプロファイル作成プロセスのステップ 1 になります。
- 他のプロファイルと区別しやすいプロファイルラベルを入力します。guest-system などがわかりやすいでしょう。
- ベースチャンネル フィールドでは、 Red Hat Enterprise Linux $PRODUCT ($ARCH 対応の v.5 または 6) を選択します。$ARCH はホストシステムのオペレーティングシステムのアーキテクチャーになり、$PRODUCT は Server か Client のいずれかになります。
注記
Client ソフトウェアチャンネルを Satellite に同期していなかった場合、Red Hat Enterprise Linux Client 5 または 6 は選択できない場合があります。注記
Red Hat Enterprise Linux 5 または Red Hat Enterprise Linux 6 と、Red Hat Enterprise Linux 5 または Red Hat Enterprise Linux 6 Desktop のチャンネルラベルは、それぞれ「server」と「client」になることに注意してください。 - キックスタート可能なツリー のフィールドでは、ks-rhel-$ARCH-$PRODUCT-5.3 を選択してください。 $ARCH はホストシステムのアーキテクチャーになります。$PRODUCT はゲストをプロビジョニングする製品に応じて「server」か「client」のいずれかになります。
- 仮想化タイプ を選択します。
注記
既存のキックスタートの 仮想化タイプ を変更する場合、ブートローダーやパーティションのオプションも変更してしまう可能性があり、ユーザーの行ったカスタマイズ部分を上書きする可能性があります。仮想化タイプ を変更する場合は パーティション (Partitioning) タブを見て設定が適切であることを確認してください。 - 最後に、画面の右下にある 次へ ボタンをクリックして次のステップに移動します。
- キックスタートプロファイル作成プロセスのステップ 2 では、ゲストシステムのインストール用の配信ファイルの場所を選択します。すでに デフォルトのダウンロード場所 が画面上で選択され、データが記入されているはずです。この画面の 次へ ボタンをクリックしてステップ 3 に進みます。
注記
Client ソフトウェアチャンネルを Satellite に同期していなかった場合、Red Hat Enterprise Linux Client 5 または 6 は選択できない場合があります。 - キックスタートプロファイル作成プロセスのステップ 3 では、プロビジョニングしているゲストシステムの root パスワードを選択し、次へ をクリックしてプロファイルの作成を完了します。
4.3.2.2. ゲストシステムのプロビジョニング
- Satellite の Web インターフェースにログインします。上部ナビゲーションバーにある システム タブをクリックしてホストシステムのプロファイルに移動し、システム名をクリックします。
- ゲストシステムのキックスタートをスケジュールするには、ホストシステムのプロファイルで 仮想化 → プロビジョニング タブの順に進みます。ゲスト名 フィールドには guest1 を選択します。メモリ割り当て、 仮想 CPU、および ストレージ の各フィールドについては、デフォルトの値で良いでしょう。必要であれば変更を加えても構いません。インターフェースの各フィールドに入力されたアドバイスをメモしておきます。キックスタートプロファイル フィールドには前のステップで作成したゲストのシステムプロファイルを選択します。
- 画面の右下にある キックスタートをスケジュールしてから終了する ボタンをクリックすると、グストのゲストのキックスタート進捗状況が確認できる キックスタートの状態 ページに移動します。状態画面はキックスタートが正常に完了したことを表示します。新しいゲストを表示するには、Satellite 上のホストシステムのプロファイルの 仮想化 タブをクリックします。仮想システム一覧を表示するには、システム → システム → 仮想システム の順に移動します。
注記
ゲストのキックスタートをスケジュールしてからしばらく経っても キックスタートの状態 ページに キックスタートの開始 というゲストメッセージが表示されない場合、ホストにosad
がない可能性があります。ホストシステムには、start (開始)、pause (停止)、resume (再開)、および shutdown (シャットダウン)などの Satellite から送られてくるコマンドに対して応答できるようosad
パッケージが必要です。osad
がインストールされ稼働されていないと、2.5 時間の間、または次回の Red Hat Network デーモンが実行されるまで、ホストシステムは Web インターフェースからこれらのコマンドを受信しなくなります。Satellite でホストシステムのプロファイルにある OSA の状態 フィールドを見るとosad
のインストールおよび実行が行われているかどうかを確認することができます。OSA の状態 フィールドが存在しないか、またはこのフィールドがシステムが数分間 Satellite に接続していないという障害を示している場合、このホスト上で正常にゲストをプロビジョニングする前に、osad をインストールする必要があります。root としてyum install -y osad
を実行します。注記
ゲストのキックスタート時に、キックスタートの状態
ページから次のメッセージを受け取る場合があります。The install process on the guest system has not communicated to Red Hat Network in the past n minutes. This may be due to a hung install process, or it may just be due to a slow install because of hardware constraints. A log of the installation process is available, you may wish to review it to troubleshoot this issue.
このメッセージが表示されてから 20 分以上経過していない場合は、心配せずに待機してください。キックスタートが進行しているかどうかを確認するには、インストールログにエラーがないか確認し、またキックスタートの状態ページを再ロードするときに「最後に要求されたファイル」フィールドの更新が継続されているかどうかを確認します。 - ホストに追加のゲストを登録したい場合は上記のステップを繰り返します。ただし、一度にプロビジョニングできるのは 1 ゲストのみになることに注意してください。1 ゲストのキックスタートが進行している間に別のゲストのキックスタートをスケジュールしようとすると、現在進行しているゲストのキックスタートプロセスが取り消され、新しいゲストのキックスタートプロセスが開始します。
- ホストシステムのプロファイルで 仮想化 タブをクリックして、Satellite の Web インターフェース内に新たに作成した仮想ゲストのシステムを表示させます。次に、仮想システムのプロファイル名をクリックし、その Satellite システムのプロファイルを表示します。
4.3.2.3. 仮想ゲストのエンタイトルメントの管理
4.3.3. 仮想システムでの作業
注記
4.3.3.1. SSH 経由での仮想システムへのログイン
- 仮想システムの IP アドレスを検索する必要があります。この検索は、システム → 仮想システム タブの順に移動し、仮想システムのプロファイル名をクリックして行います。
- 仮想システムプロファイルページ上の、IP アドレス フィールドの左側の列に IP アドレスがあります。
- root として
ssh
を使ってこの IP アドレスに接続します。その際、さきほどのキックスタートプロファイル作成で仮想システム用に設定したパスワードを使用します。
4.3.3.2. ホスト経由でのコンソールへのアクセス
- まずホストシステムに接続してから作業するゲストの ID 番号を確認します。
ssh
でホストシステムに接続し次のコマンドを実行します。# xm list
これにより、Satellite 上で作成した全ゲストの一覧が ID 番号も含めて表示されるはずです。さきほど作成したゲストのguest1
も ID 番号と共にこの一覧にあります。例えば、このゲストに 2 の ID が割り当てられていた場合、 - この仮想システムのコンソールにアクセスするには次のコマンドを実行します。
# xm console 2
即時にguest1
上のログインプロンプトが見れるはずです。 - システムのプロビジョニングに使用したキックスタートプロファイルで設定したのと同じパスワードを使い、root として
guest1
にログインします。(画面に特定のメッセージが表示されるかもしれません。この場合、使用しているキーボードの Enter キーを押して新しいログインプロンプトにします。) - ゲストコンソールを終了してホストシステムのコマンドプロンプトに戻るには、使用しているキーボードで Ctrl キーと ] キーを同時に押します。
4.3.3.3. Satellite の Web インターフェースを使ったソフトウェアのインストール
- ログインして システム → システム → 仮想システム に移動し、仮想システムのプロファイル名をクリックし、仮想システムのプロファイルをブラウズします。
- 仮想システムのプロファイルで、ソフトウェア+パッケージ タブをクリックします。
- パッケージ タブメニュー内の 新しいパッケージのインストール をクリックします。
- インストールしたいパッケージを選択して画面下部の右側にある 選択したパッケージをインストール ボタンをクリックします。
- パッケージインストールの詳細を確認してから画面下部の右側にある 確認 ボタンをクリックします。
- パッケージのインストールはゲストシステムが次回 Satellite にチェックインしたときに行われます。直ちにインストールの実行を強制するには、ゲストシステムで
rhn_check
コマンドを実行します。
4.3.3.4. 仮想システムから yum を使用したソフトウェアのインストール
yum
コマンドを使用してソフトウェアのインストールおよび更新を行えます。例えば、テキストエディターの vim をインストールするには、root として次のコマンドを発行します。
# yum install -y vim-enhanced
4.3.3.5. ホスト再起動時のゲストの再起動
rhn-virtualization-host
サービスはホストシステムの再起動が発生する際に自動的にゲストを再起動することができます。
- ホスト上にあるゲストの設定ファイルを
/etc/sysconfig/rhn/virt/
の中から見つけます。UUID で名前が付けられることになりますが、正しいファイルを見つけるにはgrep
コマンドを使用して UUID ファイル内でゲスト名を検索できます。 - 使用しているゲストシステムに対応する UUID ファイルを見つけたら、その UUID ファイルから
/etc/sysconfig/rhn/virt/auto/
ディレクトリーにシンボリックリンクを作成します。# ln -s /etc/sysconfig/rhn/virt/GUEST_UUID.xml /etc/sysconfig/rhn/virt/auto/
4.3.3.6. 仮想システムの削除
- まず、削除する仮想システムをシャットダウンします。Satellite Web インターフェース内のホストシステムのプロファイルをブラウズし、仮想化タブをクリックし、削除する仮想システムを選択するとシャットダウンできます。画面の下部にある システムのシャットダウン ボタンをクリックしてシャットダウンを完了します。
- Satellite から仮想システムを削除します。仮想システムのチェックボックスを選択し、画面の下部にある システムの削除 ボタンをクリックして削除することができます。
注記
仮想システムのシャットダウン操作と削除操作は少なくとも 2 分ほど間隔を置いてから行ってください。間隔が短すぎると仮想システムが正しくシャットダウンせず、この稼働中の仮想システムを削除することになります。仮想システムが稼動している間にこれを削除しても、そのシステムは次回のチェックインで Satellite 上に再び表示されます。これが発生する場合、単純にシステムをシャットダウンした後に 2 分間待機してから再度削除を実行します。 - 削除する仮想システムのディスクイメージを削除します。例えば、guest1 のディスクイメージはホストシステム上の次の場所にあります。
/var/lib/xen/disk-images/guest1.disk
次のコマンドでこれを削除します。# rm /var/lib/xen/disk-images/guest1.disk
guest1 が KVM ホストシステム上にある場合、ディスクイメージは次の場所にあるはずです。/var/lib/libvirt/images/guest1.img
- 最後に、ホストシステムから Red Hat Network 設定ファイルを削除しなければなりません。 guest1 の Red Hat Network 設定ファイルを見つけるには、次のコマンドを実行します。
# grep guest1 /etc/sysconfig/rhn/virt/*.xml
指定されたファイルを削除します。 例えば、以下のようになります。# rm /etc/sysconfig/rhn/virt/14e5cfbf72342515236ad74b260c2f6b.xml
- これで、ゲストシステムをホストシステムおよび Satellite から正常に削除できました。
第5章 エラータ管理
警告
- 発行済みエラータ - 組織が作成し、配信したエラータアラートを表示します。既存の発行済みエラータを編集するには、「エラータの作成と編集」 に記載されている手順に従います。エラータを配信するには、エラータの詳細 (Errata Details) ページの右上にある 通知の送信 をクリックします。エラータアラートは影響を受けるすべてのシステムの管理者に送信されます。
- 未発行のエラータ - 組織が作成し、他のエラータアラートでまだ配信していないものが表示されます。既存の未発行のエラータを編集するには、 「エラータの作成と編集」 に記載されている手順に従います。エラータを発行するには、エラータの詳細 (Errata Details) ページの右上にある エラータの発行 をクリックします。次にエラータに関連付けられたチャンネルを確認してから右下にある エラータの発行 ボタンをクリックします。エラータアラートが 発行済み ページに移動して配信待ちになります。
5.1. エラータの作成と編集
- ナビゲーションバーで、エラータをクリックしてから、左側のナビゲーションバーで エラータの管理 を選択します。エラータ管理ページから、新規エラータの作成をクリックします。
- アドバイザリ フィールドでエラータ用のわかりやすいラベルを入力します。企業や組織内で採用している命名規則などに従うのがよいでしょう。カスタムのエラータと Red Hat から発行されるエラータとを混同しないようラベルの先頭に「RH」を付けないようにしてください (大文字小文字を問わず)。
- 次に、残りの必須フィールドをすべて入力してから エラータの作成 ボタンをクリックします。Red Hat の標準的なエラータを表示して適切にフィールド入力されているか確認してください。
注記
5.2. パッケージのエラータへの割り当て
- 編集するエラータを選択したら パッケージ タブをクリックしてから 追加 サブタブをクリックします。
- パッケージを編集中のエラータに関連付けるには、関連付けを行いたいパッケージを持っているチャンネルを 表示 ドロップダウンメニューから選択して 表示 をクリックします。編集中のエラータにすでに関連付けされているパッケージは表示されません。管理している全パッケージ (All managed packages) を選択すると利用できるパッケージがすべて表示されます。
- 表示 をクリックすると選択したオプションのパッケージ一覧が表示されます。ページヘッダーはまだ編集中のエラータを表示しているので注意してください。
- この一覧で編集中のエラータに割り当てるパッケージのチェックボックスを選択し、ページの右下にある パッケージの追加 をクリックします。
- パッケージ一覧が記載された確認ページが表示されます。確認 をクリックしてパッケージをエラータに関連付けます。管理しているエラータの詳細 ページの 一覧表示/削除 サブタブに新しいパッケージ一覧が表示されます。
5.3. エラータの発行
- 上部ナビゲーションバーで、左側のナビゲーションバーにある エラータ → エラータの管理 をクリックします。
- エラータの発行 をクリックします。エラータを使用できるチャンネルを選択するよう指示する確認ページが表示されます。関連するチャンネルを選択します。
- エラータの発行 をクリックします。発行されたエラータは、エラータの管理 の 発行済み ページに表示されるようになります。
5.4. エラータのクローン作成
付録A ブートデバイス
boot.iso
はブートデバイスの作成に必須の要件です。 このイメージがシステムのどこにあるのかを確認して、 その場所を書き留めてください。
重要
syslinux
および syslinux-extlinux
パッケージをインストールして、以下の手順を実行します。
# yum install syslinux syslinux-extlinux
syslinux
パッケージは、Red Hat Enterprise Linux 6 用の /usr/share/syslinux/
にファイルをインストールします。Red Hat Enterprise Linux 5 を使用している場合、このディレクトリーを /usr/lib/syslinux/
に置き換えてください。
syslinux-extlinux
パッケージは、USB ブートメディア作成用のツールをインストールします。
手順A.1 CD および DVD ブートメディア
注記
\
」はコマンドが一行で構成されているためシェルプロンプトでも改行せず一行として入力するという意味です。
- ブートイメージ用の作業ディレクトリーを作成します。
# mkdir -p temp cd/isolinux
- ブートイメージを
temp
ディレクトリーにマウントします。# mount -o loop boot.iso temp
- ブートメディアデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
# cp -aP temp/isolinux/* cd/isolinux/
temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。# umount temp # chmod -R u+rw cd
./cd
ディレクトリーに移動します。# cd ./cd
/usr/share/syslinux/menu.c32
ファイルを./cd
ディレクトリーにコピーします。# cp -p /usr/share/syslinux/menu.c32 isolinux
- 必要に応じて、CD による起動用に
isolinux.cfg
内のブートパラメータとターゲットをカスタマイズします。 mkisofs
を使用して ISO を作成し、CD または DVD に焼き付けます。# mkisofs -o ./custom-boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table -J -l -r -T -v -V "Custom Red Hat Enterprise Linux Boot" .
- ディレクトリーを CD または DVD に焼き付けたら手順は終了です。
手順A.2 PXE ブート
- ブートイメージ用の作業ディレクトリーを作成します。
# mkdir -p temp pxe/pxelinux.cfg
- ブートイメージを
temp
ディレクトリーにマウントします。# mount -o loop boot.iso temp
- PXE ブートデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
# cp -aP temp/isolinux/* pxe/
temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。# umount temp # chmod -R u+rw pxe
/pxe
ディレクトリーに移動します。# cd ./pxe
/usr/share/syslinux/menu.c32
ファイルを/pxe
ディレクトリーにコピーします。# cp -p /usr/share/syslinux/menu.c32 .
isolinux.cfg
ファイルをpxelinux.cfg/default
に移動します。# mv isolinux.cfg pxelinux.cfg/default
- 一時ファイルを削除します。
# rm -f isolinux.bin TRANS.TBL
/usr/share/syslinux/pxelinux.0
ファイルを/pxe
ディレクトリーにコピーします。# cp -p /usr/share/syslinux/pxelinux.0 .
- テキストエディタで
pxelinux.cfg/default
ファイルを開いて PXE ブートに必要なブートパラメータやターゲットをカスタマイズします。
手順A.3 USB ブートメディア
警告
/dev/loop0
を使用しています。losetup -f
のコマンドを使用すると、どれが正しいデバイスかを確認することができます。
- ブートイメージ用の作業ディレクトリーを作成します。
# mkdir -p temp usb/extlinux
- ブートイメージを
temp
ディレクトリーにマウントします。# mount -o loop boot.iso temp
- USB メディアブートデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
# cp -aP temp/isolinux/* usb/extlinux/
temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。# umount temp # chmod -R u+rw usb
/usr/share/syslinux/menu.c32
ファイルを./usb/extlinux/
ディレクトリーにコピーします。# cp -p /usr/share/syslinux/menu.c32 ./usb/extlinux/
usb/extlinux/isolinux.cfg
ファイルをusb/extlinux/extlinux.conf
に移動します。# mv usb/extlinux/isolinux.cfg usb/extlinux/extlinux.conf
- 一時ファイルを削除します。
# rm -f usb/extlinux/isolinux.bin usb/extlinux/TRANS.TBL
custom-boot.img
ファイルを変換して、コピーします。# dd if=/dev/zero of=./custom-boot.img bs=1024 count=300000
- ループバックデバイスをマウントするための正しい場所を確認します。
# losetup -f /dev/loop0
ブートイメージを使用して、ループバックデバイスを設定します。# losetup /dev/loop0 ./custom-boot.img
fdisk
ユーティリティーを開きます。# fdisk /dev/loop0
デバイス上にブート可能なプライマリーパーティションを 1 つ作成します。次のキーの組み合わせを押すと、これを作成できます。 n p 1 Enter Enter a 1 p w- マスターブートレコード (MBR) をループバックデバイスにコピーします。
# dd if=/usr/share/syslinux/mbr.bin of=/dev/loop0
- ループバックデバイスにパーティションマップを追加します。
# kpartx -av /dev/loop0
- ファイルシステムを作成します。
# mkfs.ext2 -m 0 -L "Custom Red Hat Enterprise Linux Boot" /dev/mapper/loop0p1
- デバイスをマウントします。
# mount /dev/mapper/loop0p1 temp
- 一時的なファイル群を削除します。
# rm -rf temp/lost+found
usb/extlinux/
ディレクトリーを一時ディレクトリーにコピーします。# cp -a usb/extlinux/* temp/
- ブートローダーを一時ディレクトリにインストールします。
# extlinux -i temp
- 一時ディレクトリーをアンマウントします。
# umount temp
- ループバックデバイス上のパーティションマップを削除します。
# kpartx -dv /dev/loop0
- ループバックデバイスを削除します。
# losetup -d /dev/loop0
ファイルシステムの変更を同期します。# sync
- テキストエディタで
extlinux.conf
ファイルを開いて USB ブートに必要なブートパラメータとターゲットをカスタマイズします。 - イメージを USB デバイスに移動したら手順は完了です。デバイスを挿入して、
dmesg
のコマンドを実行しマウントの場所を確認します。この例では/dev/sdb
になります。USB デバイスをアンマウントします。# umount /dev/sdb
イメージを USB デバイスにコピーします。# dd if=./custom-boot.img of=/dev/sdb
付録B カスタムパッケージの管理
B.1. Red Hat Network のパッケージの構築
B.1.1. RPM の利点
- 簡単なアップグレード
- RPM を使用すると、新たに再インストールを行わなくてもシステムの個別コンポーネントをアップグレードすることができます。 Red Hat から Red Hat Enterprise Linux の新しいバージョンがリリースされる際には、ユーザーによるアップグレードのための再インストールは必要ありません。RPM によって完全に自動制御されているシステムアップグレードが用意されています。パッケージ内の設定ファイルはアップグレード後も保持されているためカスタムの設定が失われることはありません。パッケージのインストールおよびアップグレードには同じ RPM ファイルが使用されるため、パッケージの更新に特別なアップグレードファイルは必要ありません。
- パッケージのクエリ
- RPM はクエリのオプションを用意していますので、全パッケージまたは特定のファイルの検索を RPM データベース全体に対して行うことができます。また、任意のファイルの所属先またはパッケージの所属先を簡単に見つけることもできます。パッケージに含まれているファイルは圧縮されたアーカイブに入っています。そのカスタムバイナリヘッダーには役に立つパッケージの情報やその内容が含まれています。RPM によりヘッダーのクエリを素早くかつ簡単に行うことができます。
- システムの検証
- パッケージを検証する機能も備わっています。パッケージに関連したファイルが削除されている可能性を懸念している場合、パッケージの検証を行い、パッケージが提供するファイルの状態を確認することができます。この検証ではすべての異常が報告されます。エラーが存在する場合はそのファイルを簡単に再インストールすることができます。修正した設定ファイルは再インストール時にも維持されます。
- 純粋なソース
- RPM の重要な設計目標のひとつは、オリジナルのソフトウェア著者により配布された通りの 純粋な ソフトウェアソースを使用できるようにすることです。RPM を使用すると、純粋なソースに使用されたパッチや構築方法に関する詳細な解説を付けてパッケージ化することができます。これは複数の理由で重要な利点となります。例えば、プログラムの新しいバージョンがリリースされた場合、コンパイルを完全に最初から始める必要はなく、パッチを見て何が 必要そうなのか を判定することができます。ソフトウェアを正常に構築できるようコンパイルされている全てのデフォルト設定や変更を、この技術を使用して簡単に確認することができます。ソースを純粋に保持することは開発者以外の人にとっては重要には見えないかもしれませんが、純粋なソースの維持は高品質なソフトウェアにつながるためエンドユーザーにとっても重要なものとなります。
B.1.2. Red Hat Network RPM ガイドライン
- RPM についてよく理解しておいてください。パッケージを正しく構築するには、RPM の重要な機能について基本的に理解しておくことが大切になります。RPM に関する詳細については次のリソースをまずご覧ください。
- 子チャンネル用に RPM を構築する場合は、子チャンネルのベースチャンネルと同じバージョンの Red Hat Enterprise Linux の新規インストール上でそのパッケージを構築します。最初に Red Hat Network からのすべての更新を適用することを忘れないようにしてください。
- RPM パッケージは
--force
または--nodeps
のオプションを使用しないでインストールしてください。ビルドシステムで RPM を正常にインストールできない場合、Red Hat Network でもその RPM をシステムに自動的にインストールすることはできません。 - RPM パッケージのファイル名は NVR (名前、 バージョン、 リリース) 形式にしてください。また、パッケージのアーキテクチャも含ませる必要があります。
name-version-release.arch.rpm
が正しい形式となります。例えば、有効な RPM パッケージのファイル名がpkgname-0.84-1.i386.rpm
とすると、パッケージ名は pkgname、バージョンは 0.84、リリースは 1、アーキテクチャは i386 になります。 - RPM パッケージはパッケージのメンテナーが署名する必要があります。署名のないパッケージも Red Hat Network で配信することができますが、そのパッケージを受信するには yum アップデーターに強制的に受理させる必要があります。このため、パッケージへの署名を強く推奨します。パッケージに署名する方法については 「Red Hat Network パッケージ用のデジタル署名」 に記載されています。
- 署名が変更されたり再コンパイルが行われたなど、パッケージが何らかの形で変更された場合にはそのバージョンまたはリリースを増分させる必要があります。つまり、Red Hat Network から配信する各 RPM の NVRA (アーキテクチャを含む) は、混乱を避けるため固有のビルドにそれぞれ対応していなければなりません。
- RPM パッケージがそれ自体を廃止予定にすることはできません。
- 一つのパッケージを複数のパッケージに分割させる場合は、 依存関係に充分に注意してください。 どうしても必要な理由がない限り、 既存のパッケージを分割するのは避けるようにしてください。
- インタラクティブなプレインストール、ポストインストール、プレアンインストール、またはポストアンインストールなどのスクリプトにパッケージを依存させることはできません。インストール中にユーザーによる直接介入を必要とする場合は Red Hat Network で動作させることはできません。
- プレインストール、ポストインストール、プレアンインストールおよびポストアンインストールなどのいずれのスクリプトにも stderr や stdout に書き込みを絶対行わせないようにしてください。メッセージが必要なければ
/dev/null
にリダイレクトさせてください。これ以外はファイルに書き込みを行なわせてください。 - spec ファイルを作成する場合は
/usr/share/doc/rpm-<version>/GROUPS
のグループ定義を使用します。完全に一致するものがない場合は 2 番目に適合するものを選択します。 - RPM の依存性機能を利用して、プログラムの実行が必ずインストールの後に行われるようにします。
重要
B.2. Red Hat Network パッケージ用のデジタル署名
B.2.1. GnuPG キーペアの作成
- シェルプロンプトで root ユーザーになり次のコマンドを入力します。
gpg --gen-key
GPG キーペアは root ユーザー以外のユーザーが作成するべきではありません。root ユーザーは、root ユーザー以外のユーザーとは異なりメモリページをロックできるため、情報がディスクに書き込まれることはありません。 - キーペア生成のコマンドを実行すると、次のようなキーペア生成に関するオプション選択を求める画面が表示されます。
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection?
- オプション
1
を選択し、Enter を押します。 - 次にキーの長さを指定するキーサイズを選択します。キーが長いほどユーザーのメッセージに対する攻撃への対抗力が増します。 少なくとも 2048 ビットの長さのキーを作成することを推奨します。
- 次のオプションはキーの有効期間を指定するように求めます。有効期限の日付を選択する場合には、そのパブリックキーを使用するユーザーにも有効期限の日付を知らせ、新しいパブリックキーを渡さなければならないので注意してください。期限は設定しないことを推奨します。期限を選択しない場合、その選択についての確認することが求められます。
Key does not expire at all Is this correct (y/n)?
- y を押して決定を確認します。
- 次にユーザー名、Email アドレス、オプションのコメントなどを含むユーザー ID を入力します。これらは別々に入力が求められます。終了すると入力した情報の要約が表示されます。
- 選択を承認したらパスフレーズを入力します。
注記
アカウントのパスワードと同様、GnuPG でも最善のセキュリティー対策には適切なパスフレーズが欠かせません。パスフレーズは大文字、小文字、数字を混ぜて句読点も入れると良いでしょう。 - パスフレーズの入力と確認を行うとキーが生成されます。次のようなメッセージが表示されます。
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++. ++++++++++++++++++++++++++++++++++++++..........................++++
画面上の生成動作が完了すると、root のホームディレクトリー内の.gnupg
ディレクトリーに新しいキーが配置されます。これは、root ユーザーでキーペアを生成した場合にキーが配置されるデフォルトの場所になります。
gpg --list-keys
gpg: key D97D1329 marked as ultimately trusted public and secret key created and signed. gpg: checking the trustdb gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 3 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: next trustdb check due at 2013-08-28 pub 2048D/D97D1329 2013-08-27 [expires: 2013-08-28] Key fingerprint = 29C7 2D2A 5F9B 7FF7 6411 A9E7 DE3E 5D0F D97D 1329 uid Your Name<you@example.com> sub 2048g/0BE0820D 2013-08-27 [expires: 2013-08-28]
gpg --export -a 'Your Name' > public_key.txt
public_key.txt
ファイル内に書き込まれます。
yum
でカスタムのソフトウェアを受信する全クライアントシステムに配備しなければならないキーになります。このキーを組織全体に配備する手法については 『Red Hat Network クライアント設定ガイド』 で扱われます。
B.2.2. パッケージの署名
~/.rpmmacros
ファイルに次の行を含ませます。
%_signature gpg %_gpg_name B7085C8A
_gpg_name
キー ID 値の B7085C8A は、パッケージの署名に使用する GPG キーリングのキー ID に置き換えます。この値で RPM にどの署名を使用するのか指示します。
rpm --resign package-name-1.0-1.noarch.rpm
rpm --checksig -v package-name-1.0-1.noarch.rpm
注記
rpm --checksig -v
コマンドを実行する前に、GPG キーをインポートします。さらに詳しくは、次のセクションの 「カスタム GPG キーのインポート」 を参照してください。
B.2.3. カスタム GPG キーのインポート
cp /some/path/YOUR-RPM-GPG-KEY /var/www/html/pub/
wget -O- -q http://your_proxy_or_sat.your_domain.com/pub/YOUR-RPM-GPG-KEY
-O-
オプションは結果を標準出力に送るのに対し、-q
オプションを使用すると Wget を出力なしの quiet モードで実行します。YOUR-RPM-GPG-KEY 変数を、使用するキーのファイル名に必ず置き換えてください。
rpm --import /path/to/YOUR-RPM-GPG-KEY
注記
付録C 改訂履歴
改訂履歴 | |||
---|---|---|---|
改訂 1.1-0.3 | Tue Oct 10 2017 | Terry Chuang | |
| |||
改訂 1.1-0.2 | Tue Oct 10 2017 | Terry Chuang | |
| |||
改訂 1.1-0.1 | Tue Sep 12 2017 | Terry Chuang | |
| |||
改訂 1.1-0 | Wed Feb 1 2017 | Satellite Documentation Team | |
|