エクスポート前更新の実行

元のソース・システムでVMに変更を加えることで、プライベート・クラウド・アプライアンス用にVMを準備する必要がある場合もあります。元の VMではなく、ソースシステムのクローンに対して次のエクスポート前更新手順を実行します。

警告:

ソース・システム上の本番イメージのクローンで操作します。これにより、本番環境が保護され、プロセスを繰り返す必要がある場合に既知のフォールバックが提供されます。VMのクローニングには、ソースシステムによって提供される方法を使用します。

たとえば、Oracle VMおよびPrivate Cloud Appliance 2.4で、「サーバーおよびVM」タブでVMを選択し、右クリックして「クローン」を選択します。いずれの場合も、ソースVMを停止して、クローンに一貫性のあるディスク・コンテンツがあることを確認します。

オペレーティング・システムの現在のレベルへのパッチ

クローンVMを同じOSの現在のパッチ・レベルに更新します。

手順は、ゲストオペレーティングシステムによって異なります。たとえば、Oracle Linux 7または8の最新パッチ・レベルにyum update、Solaris 11.4の場合はpkg update、Microsoft Windowsの場合はWindows Updateです。パッチ適用後に再起動して、適切な操作がパッチ適用後に行われるようにします。

これにより、最新のデバイス・ドライバが使用可能になり、最近クローズされたバグやセキュリティ・エクスポージャのリスクが回避されます。

仮想ネットワークデバイスのDHCPへの変更

ゲストVMの仮想ネットワークは、プライベート・クラウド・アプライアンスへのインストール後にいくつかの変更を実行する必要がある場合があります。

プライベート・クラウド・アプライアンスは、DHCPを使用してネットワーク・アドレスを新しいインスタンスに提供します。同じイメージから複数のインスタンスをクローニングできるため、各インスタンスの作成時に新しいMACおよびIPアドレスを割り当てることが理にかなっています。

ノート:

  1. インスタンスの作成時にDHCPによって取得されるIPアドレスは安定しています。
  2. インスタンスに表示されるIPアドレスは、仮想クラウド・ネットワーク(VCN)上のプライベートIPアドレスです。インスタンスには、ネットワーク・アドレス変換(NAT)レイヤーを使用してプライベート・クラウド・アプライアンスの外部からアクセスします。プライベートIPアドレスとパブリックIPアドレスの両方を表示するには、Compute Enclaveのインスタンスの説明の「Network」タブを参照してください。

Linuxで、ファイル/etc/sysconfig/network-scripts/ifcfg-NICNAMEを編集し、HWADDRまたはMACADDR行を削除してBOOTPROTO="dhcp"を設定します。または、ディストリビューションに付属のグラフィカル・ツールを使用できます。さらに、ファイル /etc/udev/rules.d/70-persistent-ipoib.rulesおよび/etc/udev/rules.d/70-persistentnet.rulesが存在する場合は削除します。これらのファイルには、新しいインスタンスと一致しないMACアドレスが含まれています。必要に応じて自動的に再作成されます。

Solarisでは、ipadmコマンドを使用します。例:

# ipadm delete-addr net0/v4
# ipadm create-addr -T dhcp net0/v4
    

Windowsでは、コントロールパネルまたは設定を使用します。

仮想マシンのツールおよびドライバの削除

VMware、Oracle VMまたはVirtualBoxから移行する場合は、関連付けられた準仮想化ドライバおよびツールをクローンから削除します。イメージはインストールされているツールおよびドライバで動作しますが、ブート時またはログイン時にエラーメッセージが表示される可能性があるため、これはオプションです。

たとえば、Microsoft Windows用の Oracle VM Paravirtualization (PV)ドライバを削除するには、「コントロールパネル」でドライバを見つけ、右クリックして「アンインストール」を選択します。

Private Cloud ApplianceのLinuxカーネルおよびドライバ機能のインストール

オペレーティング・システムには、起動時に明示的にVirtIOデバイス・ドライバを含める必要がある場合があります。

ノート:

ソース・ハイパーバイザがKVMの場合、Private Cloud Applianceに適したドライバがすでに用意されています。
  1. dracutを実行する前に、オプションでカーネルをバックアップできます。例: mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
  2. dracutコマンドを使用して、デバイス・ドライバをinitramfsに追加します。例: dracut --force -Nまたはdracut -N --regenerateall
    • -Nオプションは、現在のホストに対してのみ initramfsを作成するホスト専用モードを無効にします。このオプションは汎用イメージを生成します。
    • -Nオプションがない非常に古いバージョンのLinuxで実行している場合は、プライベート・クラウド・アプライアンスX9-2に必要なカーネル・モジュールを具体的にリストします。例: dracut --add-drivers 'sg sd_mod virtio virtio_pci virtio_ring virtio_scsi'
    • --regenerate-allオプションは、現在ブートされているカーネルバージョンだけでなく、/boot内のすべてのカーネルバージョンの initramfsを再生成します。これは、Oracle Linuxで、UEKカーネルとRHCKカーネルの両方が、現在ブートされているドライバに関係なく、必要なドライバを取得するために役立ちます。
    • オプション --forceは、すでに存在する現在の initramfsファイルをオーバーレイします。

更新されたinitramfsファイルは、/bootで確認できます。デバイスドライバが追加されているため、これらは以前のバージョンよりも大きくなります。

dracutステップを省略すると、インスタンスがプライベート・クラウド・アプライアンスX9-2で最初に起動されたときに実行できます。

  1. コンピュート・エンクレーブにログインします。
  2. インスタンスを選択し、コンソールに接続します。
  3. 「Grub」メニューでレスキュー行を選択します。
  4. レスキュー・ブートを選択する前にブートが失敗した場合は、コンピュート・エンクレーブからインスタンスに対してリセット・アクションを実行します。
  5. インスタンスの起動後、ログインしてdracutコマンドを実行します。

Private Cloud Appliance用のSolarisカーネルおよびドライバ機能のインストール

オペレーティング・システムには、起動時に明示的にVirtIOデバイス・ドライバを含める必要がある場合があります。

ノート:

ソース・ハイパーバイザがKVMの場合、PCAに適したドライバがすでに用意されています。
  1. Oracleは、Solaris 11ユーザーに、Solaris 11.4へのアップグレードを強く促します。これは、簡単な手順であり、高い互換性があります。Solaris 11.4インスタンスに Solaris 10ブランドの非大域ゾーンを作成して、Solaris 10環境を移動します。これにより、Solaris 10環境では、最新のカーネルドライバとデバイスドライバを利用できます。
  2. pkg updateコマンドを使用して新しいブート環境にブートすることにより、Solaris 11.4を最新のSRUに更新します。

Windows用のVirtIOドライバのインストール

Oracle Private Cloud Applianceのカーネルおよびドライバ機能をインストールする必要があります。My Oracle SupportまたはOracle Software Delivery Cloudからダウンロードできます。Windowsオペレーティング・システム用にそれらを取得する方法を次に示します。

Oracle Software Delivery Cloudの場合:

  1. Oracle Software Delivery Cloudにログインします。
  2. 「すべてのカテゴリ」リストで、「リリース」を選択します。
  3. Oracle Linuxを入力し、「検索」をクリックします。
  4. DLP: Oracle Linux N.N.0.0.0 ( Oracle Linux )を選択します。新規リリースが使用可能になるため、Nの値は異なります。
  5. 「続行」をクリックします。
  6. 「プラットフォーム/言語」列で、リストからx86 64ビットを選択して、「続行」をクリックします。
  7. Oracle Standard Terms and Restrictionsに同意し、「続行」をクリックします。
  8. Oracle VirtIO Drivers for Microsoft Windows, version N.N.Nという説明があるファイル名をクリックして、ドライバをダウンロードします。この書込みの現在のバージョンはV1009702-01.zipです。新しいリリースが提供されると、バージョン番号は変わります。
  9. zipファイルをWindows VMにダウンロードします。
  10. zipを抽出し、セットアップ・ファイルをダブルクリックしてドライバをインストールします。完了したら、再起動して停止します。

My Oracle Supportからダウンロードするには:

  1. My Oracle Supportにサインインします。
  2. 「Patches & Updates」タブを選択します。
  3. 「Patch Search」パネルの「Patch Name or Number」フィールドに27637937と入力し、「Search」をクリックします。「プラットフォーム」オプションは選択しないでください。
  4. Oracle VirtIO driver version N.N.Nの左側にある「パッチ名」をクリックします。たとえば、バージョン2.0.1です。
  5. 「パッチ詳細」ページで、「ダウンロード」をクリックします。
  6. zipを抽出し、設定ファイルをダブルクリックしてドライバをインストールします。完了したら、再起動してシャットダウンします。

初期化ツールキットのインストール(オプション)

cloud-init (Linux)またはcloudbase-init (Solaris、Windows)ツールキットをインストールすることをお薦めします。

これらのツールキットは、クロスプラットフォームインスタンス初期化のための業界標準のベンダーに依存しない方法です。これらは、ブート中にクラウド・インスタンスが実行されていることを確認し、提供されたmetadataをクラウドから読み、それに応じてシステムを初期化するのに役立ちます。パスワードベースのsshからキー・ペア交換の使用に変換できます。詳細は、Oracle Private Cloud Applianceユーザー・ガイドの6.4項を参照してください。

Oracle Linuxで、Linuxディストリビューションに適したcloud-initおよびoci-utilsパッケージをインストールします。Oracle Linux 8では次を使用します。

# dnf install yum-utils
# yum-config-manager --enable ol8_addons
# dnf install cloud-init oci-utils

Solarisでは、Installation and Software Management Features Solaris 11.4の新機能に関するドキュメントの説明に従って、pkg install cloudbase-initを発行します。

次に、userid opcをパスワードなしで起動されたインスタンスにsshし、引用参照で説明されているキー・ペアの交換を使用します。

The preceding steps disable password-based authentication. If you want to continue using password-based ssh authentication on the target system to ensure it operates like the source platform, it can be re-enabled before export by editing /etc/cloud.cfg and adding the line:

ssh_pwauth: 1

または、/etc/ssh/sshd_configの次の行をコメント・アウトすることで、エクスポート前にこれを実行できます。

# PasswordAuthentication no

Windowsインスタンスでは、Cloudbase-initのドキュメントの説明に従ってcloudbase-initを使用します。

起動およびファイル・システムの準備

イメージにはブートディスクのみが含まれているため、ほかのディスクを必要とするブート時サービスおよびアプリケーションを無効にします。

ブート以外のファイルシステムへの参照は、あとで再作成されるまで削除する必要があります。ブート・イメージがスワップ、/tmpまたは/var/logsの他のディスクを参照する場合、ブート・ボリュームに一時的に移動する必要があります。

Linuxでは次のステップに従います。

  1. /etc/fstabを編集します。
  2. ブートディスク上にないファイルシステムのマウントに対するエントリを削除します。
  3. ブートディスクパーティションが、/dev/xvdaなどのデバイス名によって直接参照されていないことを確認します。
  4. かわりに、LABEL=またはUUID=を使用します。
  5. ブートディスクを参照している場合、LVMデバイスへの参照を変更する必要はありません。
  6. pvsコマンドを実行して、LVM物理ボリューム(PV)のみがブート・ボリュームであることを確認します。
  7. ボリューム・グループ(VG)が他の物理ボリュームにある場合は、/etc/fstabからコメント・アウトする必要があります。

論理ボリュームがブート・ディスクと他のディスクの両方で構成されている場合、移行はより複雑になり、このソリューションの範囲外になります。

Solarisで次の手順を実行します。

  1. /etc/vfstabを編集します。
  2. ブートディスク上にないマウントをすべて削除します。
  3. root以外のZFSプールに対してzpool export $POOLNAMEコマンドを実行します。通常、これらはrpool以外のZFSプールです。

プライベート・クラウド・アプライアンスX9-2の初期起動には完全な運用環境がないため、ブート時に起動し、完全な構成を必要とするサービスまたはアプリケーションを無効にします。