エクスポート前更新の実行
元のソース・システム上の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アドレスを割り当てることは理にかなっています。
ノート:
- インスタンスの作成時にDHCPによって取得されるIPアドレスは安定しています。
- インスタンスに表示される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の場合、プライベート・クラウド・アプライアンスに適したドライバがすでにあります。- オプションで、
dracut
を実行する前にカーネルをバックアップできます。例:mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
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でインスタンスが初めて起動されたときに実行できます。
- コンピュート・エンクレーブにログインします。
- インスタンスを選択し、コンソールに接続します。
- 「Grub」メニューでレスキュー行を選択します。
- レスキュー・ブートを選択する前にブートが失敗した場合は、コンピュート・エンクレーブからインスタンスに対して「リセット」アクションを実行します。
- インスタンスの起動後、ログインして
dracut
コマンドを実行します。
Private Cloud Appliance用のSolarisカーネルおよびドライバ機能のインストール
オペレーティング・システムでは、起動時にVirtIOデバイス・ドライバを明示的に含める必要がある場合があります。
ノート:
ソース・ハイパーバイザがKVMの場合、PCAに適したドライバがすでに用意されています。- Oracleでは、Solaris 11ユーザーが Solaris 11.4にアップグレードすることを強く推奨しています。これは簡単な手順であり、高い互換性があります。Solaris 11.4インスタンスに Solaris 10ブランドの非大域ゾーンを作成して、Solaris 10環境を移動します。これにより、Solaris 10環境は最新のカーネルおよびデバイスドライバの利点を享受できます。
pkg update
コマンドを使用して新しいブート環境にブートし、Solaris 11.4を最新のSRUに更新します。
Windows用のVirtIOドライバのインストール
Oracle Private Cloud Applianceのカーネルおよびドライバ機能をインストールする必要があります。My Oracle SupportまたはOracle Software Delivery Cloudからダウンロードできます。Windowsオペレーティング・システム用に取得する方法を次に示します。
Oracle Software Delivery Cloudの場合:
- Oracle Software Delivery Cloudにログインします。
- 「All Categories」リストで、「Release」を選択します。
- Oracle Linuxと入力し、「検索」をクリックします。
DLP: Oracle Linux N.N.0.0.0 ( Oracle Linux )
を選択します。新しいリリースが使用可能になると、Nの値は異なります。- 「続行」をクリックします
- プラットフォーム/言語列で、リストからx86 64ビットを選択してから、続行をクリックします。
- Oracleの標準条件および制限事項に同意し、「続行」をクリックします。
Oracle VirtIO Drivers for Microsoft Windows, version N.N.N
という説明が付いたファイル名をクリックして、ドライバをダウンロードします。この記述の現在のバージョンは、V1009702-01.zipです。新しいリリースが提供されると、バージョン番号が変更されます。- zipファイルをWindows VMにダウンロードします。
- zipを抽出してドライバをインストールし、設定ファイルをダブルクリックします。完了したら、再起動して停止します。
My Oracle Supportからダウンロードするには:
- My Oracle Supportにサインインします。
- 「Patches & Updates」タブを選択します。
- パッチ検索パネルのパッチ名または番号フィールドに27637937と入力し、検索をクリックします。プラットフォームのオプションは選択しないでください。
Oracle VirtIO driver version N.N.N
の左側にある「パッチ名」をクリックします。たとえば、バージョン2.0.1です。- パッチ詳細ページで、ダウンロードをクリックします。
- 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では、次の手順に従います。
/etc/fstab
を編集します。- ブートディスク上にないファイルシステムのマウントへのエントリを削除します。
- ブートディスクパーティションが、
/dev/xvda
などのデバイス名によって直接参照されていないことを確認します。 - かわりに、LABEL=またはUUID=を使用してください。
- ブート・ディスクを参照している場合は、LVMデバイスへの参照を変更する必要はありません。
pvs
コマンドを実行して、LVM物理ボリューム(PV)のみがブート・ボリュームであることを確認します。- ボリューム・グループ(VG)が他の物理ボリュームにある場合は、/etc/fstabからコメント・アウトする必要があります。
論理ボリュームがブート・ディスクと他のディスクの両方で構成されている場合、移行はより複雑になり、このソリューションの範囲外になります。
Solarisでは、次のステップを実行します。
/etc/vfstab
を編集します。- ブートディスク上にないマウントをすべて削除します。
- ルート以外の
ZFS
プールに対してzpool export $POOLNAME
コマンドを実行します。通常、これらはrpool
以外のZFS
プールです。
Private Cloud Appliance X9-2での初期起動には完全な運用環境がないため、ブート時に起動し、完全な構成を必要とするサービスまたはアプリケーションを無効にします。