2.2. 仮想マシンの起動

2.2.1. 仮想マシンの起動

手順

  1. ComputeVirtual Machines をクリックし、ステータスが Down の仮想マシンを選択します。
  2. Run をクリックします。

仮想マシンの ステータスUp に変更され、オペレーティングシステムのインストールが開始されます。仮想マシンが自動的に表示されない場合は、仮想マシンのコンソールを開きます。

注記

仮想マシンは、CPU が過負荷状態のホストでは起動しません。デフォルトでは、ホストの CPU に 5 分間 80% 以上の負荷がかかった場合に過負荷と判断されますが、この値はスケジューリングポリシーを使って変更できます。詳細は、管理ガイドスケジュールポリシー を参照してください。

トラブルシューティング

シナリオ: 仮想マシンが以下のエラーメッセージを表示して起動に失敗します。

Boot failed: not a bootable disk - No Bootable device

この問題に対して考えられる解決策:

  • ブートシーケンスで ハードディスク が選択されており、仮想マシンの起動元となるディスクが Bootable に設定されていることを確認してください。
  • テンプレートに基づいて、クローンされた仮想マシン を作成します。
  • OS およびアプリケーションバイナリーを含む RHV が管理するローカルブートディスクで新規の仮想マシンを作成します。
  • ネットワーク (PXE) 起動オプションから起動して、OS をインストールします。

シナリオ: IBM POWER9 の仮想マシンは、以下のエラーメッセージで起動に失敗します。

qemu-kvm: Requested count cache flush assist capability level not supported by kvm, try appending -machine cap-ccf-assist=off

デフォルトのリスクレベルの保護により、仮想マシンが IBM POWER9 で起動できなくなる可能性があります。この問題を解決するには、以下を実行します。

  1. BMC で /var/lib/obmc/cfam_overrides を作成または編集します。
  2. ファームウェアリスクレベルを 0 に設定します。

    # Control speculative execution mode
    0 0x283a 0x00000000  # bits 28:31 are used for init level -- in this case 0 Kernel and User protection (safest, default)
    0 0x283F 0x20000000  # Indicate override register is valid
  3. ホストシステムを再起動して、変更を適用します。
注記

リスクレベルを上書きすると、仮想マシンの実行時に予期しない動作が発生する可能性があります。

2.2.2. 仮想マシンのコンソール表示

リモートビューアーを使用して仮想マシンに接続します。

注記

他のユーザーが仮想マシンに接続できるようにするには、コンソールの使用が終了したら、必ず仮想マシンをシャットダウンして再起動してください。または、管理者は 厳密なユーザーチェックを無効 にして、次のユーザーに切り替える場合に再起動の必要性をなくすことができます。詳細は、仮想マシンの Console の設定に関する説明 を参照してください。

手順

  1. リモートビューアーがまだインストールされていない場合は、インストールします。コンソールコンポーネントのインストール を参照してください。
  2. ComputeVirtual Machines をクリックし、仮想マシンを選択します。
  3. Console をクリックします。デフォルトでは、ブラウザーで console.vv という名前のファイルをダウンロードするように、プロンプトが表示されます。クリックしてファイルを開くと、仮想マシンのコンソールウィンドウが開きます。これらのファイルを自動的に開くようにブラウザーを設定して、Console をクリックするだけでコンソールが開くようにすることができます。
注記

console.vv は 120 秒後に期限切れになります。ファイルがダウンロードされてからファイルを開くまでに 120 秒以上経過した場合は、もう一度Consoleをクリックします。

2.2.3. 仮想マシンのシリアルコンソール表示

管理ポータルまたは VM ポータルからコンソールを開く代わりに、コマンドラインから仮想マシンのシリアルコンソールにアクセスできます。シリアルコンソールは、SSH とキーのペアを使用して VirtIO チャネルを介してエミュレートされます。Manager は接続のプロキシーとして機能し、仮想マシンの配置に関する情報を提供して、認証キーを保存します。各ユーザーの公開鍵は、管理ポータルまたは VM ポータルから追加できます。適切なパーミッションを持つ仮想マシンのみのシリアルコンソールにアクセスできます。

重要

仮想マシンのシリアルコンソールにアクセスするには、ユーザーは、その仮想マシンに対する UserVmManagerSuperUser、または UserInstanceManager パーミッションを持っている必要があります。これらのパーミッションはユーザーごとに明示的に定義する必要があります。これらのパーミッションを Everyone に割り当てるだけでは不十分です。

シリアルコンソールには、Manager の TCP ポート 2222 を使用してアクセスします。このポートは、新規インストールの engine-setup の実行時に開かれます。ポートを変更するには、ovirt-vmconsole/README.md を参照してください。

シリアルコンソールを許可するには、以下のファイアウォールルールを設定する必要があります。

シリアルコンソールは、ovirt-vmconsole パッケージと Manager 上の ovirt-vmconsole-proxy、および ovirt-vmconsole パッケージとホストの ovirt-vmconsole-host パッケージに依存します。

これらのパッケージは、新規インストールにデフォルトでインストールされます。既存のインストールにパッケージをインストールするには、ホストを再インストール します。

仮想マシンのシリアルコンソールの有効化

  1. シリアルコンソールにアクセスしている仮想マシンで、以下の行を /etc/default/grub に追加します。

    GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"
    GRUB_TERMINAL="console serial"
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    注記

    GRUB_CMDLINE_LINUX_DEFAULT は、この設定をデフォルトのメニューエントリーのみに適用します。GRUB_CMDLINE_LINUX を使用して、すべてのメニューエントリーに設定を適用します。

    これらの行がすでに /etc/default/grub にある場合は、それらを更新します。複製はしないでください。

  2. /boot/grub2/grub.cfg を再ビルドします。

    • BIOS ベースのマシン:

      # grub2-mkconfig -o /boot/grub2/grub.cfg
    • UEFI ベースのマシン:

      # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

      詳細は、Red Hat Enterprise Linux 7 システム管理者ガイドシリアルコンソールでの GRUB 2 を参照してください。

  3. 仮想マシンのシリアルコンソールにアクセスするクライアントマシンで、SSH キーペアを生成します。Manager は、RSA 鍵などの標準の SSH 鍵タイプをサポートします。

    # ssh-keygen -t rsa -b 2048 -f .ssh/serialconsolekey

    このコマンドにより、公開鍵と秘密鍵が生成されます。

  4. 管理ポータルで AdministrationAccount Settings をクリックするか、ヘッダーバーのユーザーアイコンをクリックして Account Settings をクリックして Account Settings 画面を開きます。

    または、

    仮想マシンポータルで、ヘッダーバーの Settings アイコンをクリックして、Account Settings 画面を開きます。

  5. User's Public Key のテキストフィールド(管理ポータル)または SSH Key フィールド(仮想マシンポータル) に、シリアルコンソールへのアクセスに使用されるクライアントマシンの公開鍵を貼り付けます。
  6. ComputeVirtual Machines をクリックし、仮想マシンを選択します。
  7. Edit をクリックします。
  8. Edit Virtual Machine ウィンドウの Console タブで、Enable VirtIO serial console チェックボックスを選択します。

仮想マシンのシリアルコンソールへの接続

クライアントマシンで、仮想マシンのシリアルコンソールに接続します。

  • 1 台の仮想マシンが利用可能な場合、このコマンドはユーザーをその仮想マシンに接続します。

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey
    Red Hat Enterprise Linux Server release 6.7 (Santiago)
    Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64
    USER login:
  • 複数の仮想マシンが利用可能な場合、このコマンドは利用可能な仮想マシンとその ID を一覧表示します。

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN -i .ssh/serialconsolekey list
    1. vm1 [vmid1]
    2. vm2 [vmid2]
    3. vm3 [vmid3]
    > 2
    Red Hat Enterprise Linux Server release 6.7 (Santiago)
    Kernel 2.6.32-573.3.1.el6.x86_64 on an x86_64
    USER login:

    接続するマシンの数を入力し、Enter を押します。

  • または、固有の識別子または名前を使用して仮想マシンに直接接続します。

    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-id vmid1
    # ssh -t -p 2222 ovirt-vmconsole@Manager_FQDN connect --vm-name vm1

仮想マシンのシリアルコンソールからの切断

任意のキーを押してから ~ . を押し、シリアルコンソールセッションを閉じます。

シリアルコンソールセッションが異常な形で切断されると、TCP のタイムアウトが発生します。タイムアウト期間が終了するまで、仮想マシンのシリアルコンソールに再接続することはできません。

2.2.4. 仮想マシンへの自動接続

ログインすると、実行中の単一の仮想マシンに自動的に接続できます。これは、VM ポータルで設定できます。

手順

  1. Virtual Machines ページで、仮想マシンの名前をクリックし、詳細ビューに移動します。
  2. Console の横にある鉛筆アイコンをクリックして、Connect automaticallyON に設定します。

次回 VM ポータルにログインする際に、実行中の仮想マシンが 1 台しかない場合は、そのマシンに自動的に接続します。