カスタムLinuxイメージのインポート

コンピュート・サービスでは、Oracle Cloud Infrastructure (OCI)の外部で作成されたLinuxベースのイメージをインポートできます。たとえば、オンプレミスの物理マシンや仮想マシン(VM)で実行されているイメージ、またはOracle Cloud Infrastructure Classicで稼働しているVMで実行されているイメージをインポートできます。その後、インポートしたイメージをコンピュート仮想マシンで起動できます。

起動モード

インポート・プロセスの一部として、起動モードがイメージに適用されます。イメージの起動モードは、事前定義済の起動オプション・セットです。インポートしたLinux VMは準仮想化モードまたはエミュレート・モードで起動できます。AMDおよびArmベースのシェイプ、Oracle Linux Cloud Developerイメージ、およびRed Hat Enterprise Linuxイメージでは、インポートしたイメージは準仮想化モードでのみサポートされます。

準仮想化モードで、エミュレート・モードよりも優れたパフォーマンスが提供されます。OSでサポートされている場合は、準仮想化モードを使用することをお薦めします。カーネル・バージョン3.4以降が実行されているLinuxベースのオペレーティング・システムでは、準仮想化ドライバがサポートされています。システムのカーネル・バージョンはunameコマンドを使用して確認できます。

unameコマンドを使用してカーネル・バージョンを確認するには

次のコマンドを実行します。

uname -a

出力は次の例のようになります:

Linux ip_bash 4.14.35-1818.2.1.el7uek.x86_64 #2 SMP Mon Aug 27 21:16:31 PDT 2018 x86_64 x86_64 x86_64 GNU/Linux

カーネル・バージョンは、出力文字列の最初の部分にある番号です。前に示す出力例では、バージョンは4.14.35です。

イメージで準仮想化ドライバがサポートされている場合は、既存のエミュレート・モード・インスタンスを準仮想化インスタンスに変換できます。変換が完了すると、イメージから作成されたインスタンスが準仮想化モードで起動されます。

エミュレート・モード・インスタンスを準仮想化インスタンスに変換するには
  1. インスタンスのカスタム・イメージを作成します。
  2. カスタム・イメージのイメージ機能を編集して、次の設定を使用します:

    • 「ファームウェア」および「優先ファームウェア」で、「BIOS」を選択します。
    • 次のフィールドで、「準仮想化」を選択します。

      • 起動モード
      • 優先起動モード
      • NICアタッチメント・タイプ
      • 優先ネットワーク・アタッチメント・タイプ
      • ブート・ボリューム・タイプ
      • 優先ブート・ボリューム・タイプ
      • ローカル・データ・ボリューム
      • 優先ローカル・データ・ボリューム・タイプ
      • リモート・データ・ボリューム
      • 優先リモート・データ・ボリューム・タイプ

サポートされているオペレーティング・システム

次の表のLinuxおよびUNIX系のオペレーティング・システムは、カスタム・イメージのインポートをサポートしています。

サポート詳細:

  • Oracle Cloud Infrastructureでは、次の表に記載されたオペレーティング・システムのテストを行っています。これらのイメージから起動し、このトピックのガイドラインに従って構築したインスタンスには、SSHを使用してアクセスできることを保証します。
  • Oracleの公式サポート・サービス(たとえば、Premier Support付きのOracle Linux)でカバーされているOSバージョン以外のバージョンでは、Oracle Cloud Infrastructureにより、SSHを介してインスタンスを起動してアクセスできるように制限された、商業上合理的なサポートが提供されます。
  • カスタムOSからのインスタンスの作成がOracle Cloud Infrastructureでサポートされていても、そのインスタンスがオペレーティング・システム・ベンダーでもサポートされているとはかぎりません。Oracle Cloud Infrastructure上でOracle Linuxを実行している顧客は、自動的にOracle Linux Premier Supportを利用できます。
LinuxまたはUNIX系のオペレーティング・システム サポートされているバージョン
CentOS 6.9 、7、Stream 8以上
Debian 5.0.10、6.0、7、8またはそれ以上
Flatcar Container Linux 2345.3.0以上
FreeBSD 8, 9, 10, 11, 12以上
openSUSE Leap 15.1
Oracle Linux 5.11、6.x、7.x、8.x、9.x
RHEL

Red Hat Certified Cloud and Service Provider (CCSP)プログラムを介したRed HatおよびOCIからのサポート: バージョンおよびシェイプについては、「Red Hat Ecosystem Catalog - Oracle Cloud Infrastructure」を参照してください

OCIからの限定サポート: 4.5、5.5、5.6、5.9、5.11、6.5、6.9、7またはそれ以上

SUSE 11、12.1、12.2またはそれ以上
Ubuntu 12.04、13.04またはそれ以上

Red Hat Enterprise Linux (RHEL)イメージ

Red Hat Enterprise Linux (RHEL)イメージの特定のバージョンは、Red Hat Certified Cloud and Service Provider (CCSP)プログラムを介してサポートされています。サポートされているRHELイメージを使用してインスタンスを作成するには:

  1. Red Hat Ecosystem Catalog - Oracle Cloud Infrastructureを確認して、サポートされているRHELバージョンおよびコンピュート・シェイプを識別します。
  2. Red Hatカスタマ・ポータルから、サポートされているバージョンのRHELをダウンロードします。イメージ形式はKVMゲスト・イメージである必要があります。
  3. オブジェクト・ストレージイメージをバケットにアップロードします。RHELイメージ専用の別のバケットを作成することをお薦めします。
  4. イメージをカスタム・イメージとしてインポート次の設定を使用します:

    • イメージ・タイプ: QCOW2
    • 起動モード:準仮想化モード
  5. イメージでサポートされているシェイプと互換性を持つようにカスタム・イメージを設定します
  6. RHELカスタム・イメージとサポートされているシェイプを使用するインスタンスを作成します。
  7. インスタンスに接続します。デフォルトのユーザー名はcloud-userです。

Linuxソース・イメージの要件

カスタム・イメージは、次の要件を満たす必要があります:

  • 最大イメージ・サイズは400GBです。

  • イメージは、BIOSブート用に設定する必要があります。

  • ディスクは1つしかサポートされません。有効なマスター・ブート・レコード(MBR)とブート・ローダーを含むブート・ドライブであることが必要です。イメージのブート・ボリュームをインポートした後で、追加のデータ・ボリュームを移行できます。

  • ブート・プロセスで、起動が正常に行われるためには、追加のデータ・ボリュームが存在していてはなりません。

  • ブート・ローダーは、LVMまたはUUIDを使用してブート・ボリュームを検索する必要があります。

  • ディスク・イメージは暗号化できません。

  • ディスク・イメージはVMDKまたはQCOW2ファイルであることが必要です。

    • イメージ・ファイルは、スナップショットの作成ではなくソース・ボリュームをクローニングして作成します。
    • VMDKファイルは、単一拡張可能タイプ(monolithicSparse)かストリーム最適化タイプ(streamOptimized)のいずれかであることが必要です。どちらも1つのVMDKファイルで構成されます。その他すべてのVMDK形式(複数のファイルを使用するもの、ボリュームを分割するもの、スナップショットを含むものなど)はサポートされません。
  • ネットワーク・インタフェースは、DHCPを使ってネットワーク設定を検出する必要があります。カスタム・イメージをインポートするとき、既存のネットワーク・インタフェースは再作成されません。既存のすべてのネットワーク・インタフェースは、インポート・プロセスの完了後に1つのNICで置換されます。インポートしたインスタンスの起動後に、追加のVNICをアタッチできます。

  • ネットワーク構成で、ネットワーク・インタフェースのMACアドレスをハードコードすることはできません。

証明書ベースのSSHを有効にすることをお薦めしますが、これはオプションです。インスタンスの起動時に、初期化スクリプトから提供されるSSHキーをイメージが自動的に使用するようにするには、イメージを準備するときにcloud-initをインストールできます。ユーザー・データの提供の詳細は、インスタンスの作成を参照してください。

インポートのためのLinux VMの準備

カスタムLinuxイメージをインポートする前に、イメージから起動されたインスタンスが正しく起動でき、ネットワーク接続が機能するように、イメージを準備する必要があります。次を行います:

  1. 必要な場合には、シリアル・コンソール接続をサポートするようにLinuxイメージを構成します。コンソール接続は、インポートしたイメージが正常に起動できないなど、障害のあるインスタンスのトラブルシューティングをリモートで行うのに役立ちます。

  2. ルート・ボリュームのバックアップを作成します。

  3. VMにリモートでアタッチされたストレージ(NFSまたはブロック・ボリューム)がある場合は、このストレージに依存するすべてのサービスが手動で起動されるように構成します。リモートでアタッチされたストレージは、インポートされたインスタンスがOracle Cloud Infrastructureで初めて起動するときには使用できません。

  4. すべてのネットワーク・インタフェースがDHCPを使用しており、MACアドレスとIPアドレスがハードコードされていないことを確認します。システムのネットワーク構成を実行するステップは、システムのドキュメントを参照してください。

  5. VMを停止します。

  6. 停止したVMをVMDKまたはQCOW2ファイルとしてクローニングしてから、仮想環境からイメージをエクスポートします。ステップは、ご使用の仮想環境に対応するツールのドキュメントを参照してください。

LinuxベースのVMのインポート

インポートのためにLinuxイメージを準備したら、次のステップに従ってイメージをインポートします:

  1. イメージ・ファイルをオブジェクト・ストレージ・バケットにアップロードしますコンソールを使用するかコマンドライン・インタフェース(CLI)を使用してファイルをアップロードできます。CLIを使用する場合は、次のコマンドを使用します:

    oci os object put -bn <destination_bucket_name> --file <path_to_the_VMDK_or_QCOW2_file>
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「カスタム・イメージ」をクリックします。
  3. 「イメージのインポート」をクリックします。

  4. 「コンパートメントに作成」リストで、イメージのインポート先のコンパートメントを選択します。

  5. イメージの名前を入力します。機密情報の入力は避けてください。

  6. 「オペレーティング・システム」で、「Linux」を選択します。

  7. 「オブジェクト・ストレージ・バケットからインポート」オプションを選択します。

  8. イメージをアップロードしたバケットを選択します。
  9. 「オブジェクト名」リストで、アップロードしたイメージ・ファイルを選択します。
  10. 「イメージ・タイプ」で、イメージのファイル・タイプ「VMDK」または「QCOW2」を選択します。

  11. イメージのLinuxバージョンに応じて、「起動モード」領域で「準仮想化モード」または「エミュレーション・モード」を選択します。イメージで準仮想化ドライバがサポートされている場合は、準仮想化モードを選択することをお薦めします。

  12. タグ付けオプションの表示: リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に連絡してください。タグは後で適用できます。
  13. 「イメージのインポート」をクリックします。

    インポートされたイメージがコンパートメントの「カスタム・イメージ」リストに「インポート中」という状態で表示されます。インポートが正常に完了すると、状態が「使用可能」に変わります。

    状態が変わらない場合、または「カスタム・イメージ」リストにエントリが表示されない場合、インポートは失敗しています。オブジェクト・ストレージ・オブジェクトへの読取りアクセス権があることと、サポートされるイメージがオブジェクトに含まれていることを確認します。

  14. インポート後のタスクを完了します。

Linuxイメージのインポート後のタスク

カスタムのLinuxベース・イメージをインポートした後で、次を行います:

  1. AMDまたはX6ベースのシェイプでイメージを使用する場合は、互換性のあるシェイプのイメージのリストにシェイプを追加します。
  2. カスタム・イメージに基づいてインスタンスを作成します。イメージ・ソースで「カスタム・イメージ」を選択してから、インポートしたイメージを選択します。
  3. SSHを使用してインスタンスに接続します
  4. リモートでアタッチされたストレージ(ブロック・ボリュームファイル・ストレージなど)がインスタンスで必要な場合は、作成してアタッチします。iSCSIアタッチメントを使用している場合は、Linuxベース・イメージ用の推奨iSCSIイニシエータ・パラメータを参照してください。
  5. 必要なセカンダリVNICを作成してアタッチします
  6. すべてのアプリケーションが予期したとおりに動作していることをテストします。
  7. 手動で起動されるよう設定されていたサービスをリセットします。
  8. イメージへのシリアル・コンソール・アクセスを有効にした場合は、インスタンスへのシリアル・コンソール接続を作成してテストします。

インポートしたカスタム・イメージの既知の問題については、現在の問題と回避策を参照してください。