web-dev-qa-db-ja.com

SmartOSのトラブルシューティングVM起動しない

私はSmartOS20130405T010449ZをUbuntu KVM内部で実行しています。UbuntuVMは数か月間正常に動作し、その後、物理ハードウェアを再起動した後、VMは動作しなくなりました。起動時にネットワークに接続するため、ネットワークに接続して状態を確認することはできません。

SmartOSにログインしてVMを起動できます。

$ vmadm start [uuid]

実行されていることを確認します。

$ vmadm list
UUID             TYPE   RAM     STATE     ALIAS
[uuid]           KVM    10240   running   steve

そしてそれをpingします:

$ ping steve
steve is alive

しかし、VMのコンソールにドロップしようとすると、コマンドが永久にハングします。

$ vmadm console [uuid]
[hangs forever]

SmartOS内からsshを実行しようとすると、同じ結果が得られます。

$ ssh steve
[hangs forever]

Ubuntu VMのIPアドレスがネットワークに表示されないため、ネットワーク上の他のマシンからsshを実行できません。

このVMにアクセスするには、次に何を試す必要がありますか?

2
James Bailey

さて、私は最終的にVMから必要なものを回復したので、後世のために、これが私がしたことです:

まず、SmartOSを更新しました。私は最初はデータの損失を恐れて躊躇していましたが、アップグレードはまったく苦痛がありませんでした。新しいバージョンを新しいUSBスティックに置き、シャットダウンし、スティックを交換して、再起動します。

更新後も、VMに接続するときにvmadm consolesshがハングするため、重要な洞察(以前はこれに気づいていませんでした)は、代わりにVNC経由で接続することでした。

root@smartos $ vmadm info [UUID] vnc
{
  "vnc": {
    "Host": "192.168.1.7",
    "port": 64762,
    "display": 58862
  }
}

me@anotherMachine $ xtightvncviewer 192.168.1.7::64762

そこで、問題はすぐに明らかになりました。VMがブートメニューでスタックし、ブートオプションが選択されるのを待っていました。デフォルトのオプションを選択しました。VMは完全に正常になりました。

ただし、落とし穴がありました。おそらく、SmartOSを更新したときに、「外部」NICを失ったため、VMは、外部へのチャネルなしで起動しました。手動で/usbkey/configを編集する必要がありました。 SmartOSと、欠落していた次の行を追加します。

external_nic=[MAC address]
external0_ip=192.168.1.20
external0_netmask=255.255.255.0
external0_gateway=192.168.1.1

次に、外部NICをVMに追加します:

root@smartos $ cat add_nic.json
{
    "add_nics": [
        {
            "physical": "net1",
            "index": 1,
            "nic_tag": "external",
            "mac": "[MAC address]",
            "ip": "192.168.1.8",
            "netmask": "255.255.255.0",
            "gateway": "192.168.1.1"
        }
    ]
}
root@smartos $ cat add_nic.json | vmadm update [UUID]

構成の変更を取得するためにSmartOSを再起動する必要があり、VMがネットワークインターフェイスを思い付きました。

警告:vmadm consoleは、何らかの理由でまだ機能しません。それはまだ無期限にハングします。ただし、ssh steveはSmartOS内から機能し、ネットワーク上の他のマシンからIPアドレスにSSH接続できます。

1
James Bailey