Устранение неполадок виртуальной машины SmartOS, которая не запускается

Устранение неполадок виртуальной машины SmartOS, которая не запускается

Я использую SmartOS 20130405T010449Z с Ubuntu KVM внутри. Ubuntu VM работала нормально в течение нескольких месяцев, затем после перезагрузки физического оборудования виртуальная машина перестала подключаться к сети при запуске, поэтому я не могу подключиться к ней по ssh, чтобы проверить ее работоспособность.

Я могу войти в SmartOS и запустить виртуальную машину:

$ vmadm start [uuid]

убедитесь, что он работает:

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

и пингуем его:

$ ping steve
steve is alive

но когда я пытаюсь зайти в консоль виртуальной машины, команда просто зависает навсегда:

$ vmadm console [uuid]
[hangs forever]

Тот же результат я получаю, когда пытаюсь подключиться по ssh изнутри SmartOS:

$ ssh steve
[hangs forever]

Я не могу подключиться по ssh с других машин в сети, потому что IP-адрес виртуальной машины Ubuntu никогда не появляется в сети.

Что мне следует попробовать сделать дальше, чтобы получить доступ к этой виртуальной машине?

решение1

Хорошо, в конце концов я восстановил то, что хотел, из виртуальной машины, так что для потомков вот что я сделал:

Сначала я обновил SmartOS. Сначала я колебался, опасаясь потери данных, но обновление прошло совершенно безболезненно: записал новую версию на новый USB-накопитель, выключил, поменял местами накопители и перезагрузил.

После обновления vmadm consoleвсе sshравно зависало при подключении к виртуальной машине, поэтому ключевым моментом (раньше я об этом не знал) было подключение через 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

Там проблема была сразу очевидна: виртуальная машина застряла в меню загрузки, ожидая выбора варианта загрузки. Я выбрал вариант по умолчанию и вуаля, виртуальная машина заработала совершенно нормально.

Но была одна загвоздка: вероятно, когда я обновил SmartOS, я потерял "внешнюю" сетевую карту, поэтому виртуальная машина запустилась без канала во внешний мир. Мне пришлось вручную редактировать /usbkey/configSmartOS и добавлять эти строки, которых не хватало:

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

а затем добавьте внешнюю сетевую карту к виртуальной машине:

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, чтобы изменения конфигурации вступили в силу, после чего виртуальная машина обнаружила сетевой интерфейс.

Предостережение: vmadm consoleвсе еще не работает, по какой-то причине; все еще висит бесконечно. Однако ssh steveработает изнутри SmartOS, и я могу подключиться по ssh к IP-адресу с других машин в моей сети.

Связанный контент