Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第4章 仮想マシンのクローン作成

ゲストコピーの作成で使用されているゲスト仮想マシンインスタンスには、以下の 2 つのタイプがあります。
  • クローンは、単一の仮想マシンのインスタンスです。クローンは、同一の仮想マシンのネットワークを設定するために使用でき、他の宛先に配布することもできます。
  • テンプレートは、クローン作成のためのソースとして使用するよう設計された仮想マシンのインスタンスです。テンプレートから複数のクローンを作成し、それぞれのクローンに小規模な変更を加えることができます。これは、システム上でこれらの変更の影響を確認するのに役立ちます。
クローンとテンプレートはいずれも、仮想マシンインスタンスです。これらの違いは、そのものが使用される仕組みにあります。
作成したクローンが適切に機能するには、通常クローンを作成する前に、クローンを作成する仮想マシンに固有の情報および設定を削除する必要があります。削除する必要のある情報は、クローンの使用方法によって異なります。
削除する情報および設定は、以下のいずれかのレベルにある場合があります。
  • プラットフォームレベルの情報および設定には、仮想化ソリューションにより仮想マシンに割り当てられるものが含まれます。たとえば、ネットワークインターフェースカード(NIC)の数およびそれらの MAC アドレスなどが挙げられます。
  • ゲストオペレーティングシステムレベルの情報および設定には、仮想マシン内で設定するあらゆる操作が含まれます。例としては、SSH キーなどがあります。
  • アプリケーションレベルの情報および設定には、仮想マシンにインストールされるアプリケーションによって設定されるすべてのものが含まれます。例としては、アクティベーションコードと登録情報などがあります。
    注記
    本章では、情報とアプローチが各アプリケーション固有のため、アプリケーションレベルの削除に関する情報は含まれません。
その結果、情報および設定の一部は仮想マシンから削除する必要がありますが、その他の情報や設定は仮想化環境(Virtual Machine Manager または VMware など)を使用して仮想マシンから削除する必要があります。

4.1. 対応する仮想マシンの準備

仮想マシンクローンを作成する前に、ディスクイメージで virt-sysprep ユーティリティーを実行するか、以下の手順に従って準備する必要があります。

手順4.1 クローン作成のための仮想マシンの準備

  1. 仮想マシンの設定

    1. クローンまたはテンプレートに使われる仮想マシンを構築します。
      • クローンで必要となるソフトウェアをすべてインストールします。
      • オペレーティングシステムに固有ではない設定をすべて定義します。
      • アプリケーションに固有ではない設定をすべて定義します。
  2. ネットワーク設定の削除

    1. 以下のコマンドを使用して、永続的な udev ルールを削除します。
      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      注記
      udev ルールが削除されない場合、最初の NIC の名前は eth0 ではなく eth1 となります。
    2. ifcfg スクリプトから固有のネットワークの詳細を削除するには、以下の設定を /etc/sysconfig/network-scripts/ifcfg-eth[x] にします
      1. HWADDR および静的行の削除
        注記
        HWADDR が新しいゲストの MAC アドレスと一致しない場合は、ifcfg は無視されます。したがって、ファイルから HWADDR を削除することは重要です。
        DEVICE=eth[x]
        BOOTPROTO=none
        ONBOOT=yes
        #NETWORK=10.0.1.0       <- REMOVE
        #NETMASK=255.255.255.0  <- REMOVE
        #IPADDR=10.0.1.20       <- REMOVE
        #HWADDR=xx:xx:xx:xx:xx  <- REMOVE
        #USERCTL=no             <- REMOVE
        # Remove any other *unique* or non-desired settings, such as UUID.
        
      2. DHCP 設定には、HWADDR や固有の情報が含まれないままであることを確認します。
        DEVICE=eth[x]
        BOOTPROTO=dhcp
        ONBOOT=yes
        
      3. ファイルに以下の行が含まれていることを確認します。
        DEVICE=eth[x]
        ONBOOT=yes
        
    3. 以下のファイルが存在する場合は、それらのファイルが同じコンテンツに含まれていることを確認してください。
      • /etc/sysconfig/networking/devices/ifcfg-eth[x]
      • /etc/sysconfig/networking/profiles/default/ifcfg-eth[x]
      注記
      NetworkManager または特殊な設定を仮想マシンで使用する場合は、追加の固有の情報が ifcfg スクリプトから削除されていることを確認します。
  3. 登録情報の削除

    1. 以下のいずれかの方法で、登録情報を削除します。
      • ゲスト仮想マシン Red Hat Network(RHN)が登録されている場合は、以下のコマンドを使用します。
        # rm /etc/sysconfig/rhn/systemid
      • Red Hat Subscription Manager(RHSM)が登録したゲスト仮想マシンの場合:
        • 元の仮想マシンを使用しない場合は、以下のコマンドを使用します。
          # subscription-manager unsubscribe --all
          # subscription-manager unregister
          # subscription-manager clean
        • 元の仮想マシンが使用される場合は、以下のコマンドのみを実行してください。
          # subscription-manager clean
          元の RHSM プロファイルはポータルのままになります。仮想マシンの RHSM 登録をクローンしてから再度アクティブにするには、以下を実行します。
          1. お客様のアイデンティティーコードを取得します。
            # subscription-manager identity
            subscription-manager identity: 71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
            
          2. 取得した ID コードを使用して仮想マシンを登録します。
            # subscription-manager register --consumerid=71rd64fx-6216-4409-bf3a-e4b7c7bd8ac9
  4. その他の一意の情報の削除

    1. 以下のコマンドを使用して、sshd 公開鍵/秘密鍵のペアを削除します。
      # rm -rf /etc/ssh/ssh_host_*
      注記
      ssh 鍵を削除すると、このようなホストを信頼していない ssh クライアントの問題が回避されます。
    2. アプリケーション固有の識別子、または複数のマシンで実行した場合に競合する恐れのある設定をすべて削除します。
  5. 次回起動時に設定ウィーザードを実行するように仮想マシンを設定

    1. 以下のいずれかの方法で、次回起動時に適切な設定ウィザードが実行されるように、仮想マシンを設定します。
      • Red Hat Enterprise Linux 6 以前では、以下のコマンドを使用して、.unconfigured という名前のルートファイルシステムに空のファイルを作成します。
        # touch /.unconfigured
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行して初回起動および initial-setup ウィザードを有効にします。
        # sed -ie 's/RUN_FIRSTBOOT=NO/RUN_FIRSTBOOT=YES/' /etc/sysconfig/firstboot
        # systemctl enable firstboot-graphical
        # systemctl enable initial-setup-graphical
      注記
      次回の起動時に実行されるウィザードは、仮想マシンから削除された設定によって異なります。また、クローンの初回起動時には、ホスト名を変更することが推奨されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。