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

元のソース・システム上のVMに変更を加えることで、プライベート・クラウド・アプライアンスのVMを準備することが推奨され、場合によっては必要になります。元のVMではなく、ソース・システムのクローンで、次のエクスポート前更新ステップを実行します。

注意:

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

たとえば、Oracle VMおよびPrivate Cloud Appliance 2.4で、「Servers and VMs」タブでVMを選択し、右クリックして「Clone」を選択します。いずれの場合も、ソース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のインスタンスの説明の「ネットワーク」タブを参照してください。

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の場合、プライベート・クラウド・アプライアンスに適したドライバがすでにあります。
  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. 「All Categories」リストで、「Release」を選択します。
  3. Oracle Linuxと入力し、「検索」をクリックします。
  4. DLP: Oracle Linux N.N.0.0.0 ( Oracle Linux )を選択します。新しいリリースが使用可能になると、Nの値は異なります。
  5. 「続行」をクリックします
  6. プラットフォーム/言語列で、リストからx86 64ビットを選択してから、続行をクリックします。
  7. Oracleの標準条件および制限事項に同意し、「続行」をクリックします。
  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. パッチ検索パネルのパッチ名または番号フィールドに27637937と入力し、検索をクリックします。プラットフォームのオプションは選択しないでください。
  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 What's Newドキュメントの説明に従って、pkg install cloudbase-initを発行します。

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

前述のステップでは、パスワードベースの認証が無効になります。ターゲット・システムでパスワードベースのssh認証を引き続き使用して、ソース・プラットフォームのように動作するようにする場合は、/etc/cloud.cfgを編集して行を追加することで、エクスポート前に再度有効にできます。

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. ルート以外のZFSプールに対してzpool export $POOLNAMEコマンドを実行します。通常、これらはrpool以外のZFSプールです。

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