저는 Ubuntu KVM이 내장된 SmartOS 20130405T010449Z를 실행하고 있습니다. Ubuntu VM은 몇 달 동안 정상적으로 실행된 후 물리적 하드웨어를 재부팅한 후 VM이 더 이상 시작 시 네트워크에 연결되지 않으므로 SSH를 통해 상태를 확인할 수 없습니다.
SmartOS에 로그인하고 VM을 시작할 수 있습니다.
$ vmadm start [uuid]
실행 중인지 확인합니다.
$ vmadm list
UUID TYPE RAM STATE ALIAS
[uuid] KVM 10240 running steve
그리고 핑을 보내세요:
$ ping steve
steve is alive
하지만 VM 콘솔에 접속하려고 하면 명령이 영원히 중단됩니다.
$ vmadm console [uuid]
[hangs forever]
SmartOS 내부에서 SSH를 시도하면 동일한 결과가 나타납니다.
$ ssh steve
[hangs forever]
Ubuntu VM의 IP 주소가 네트워크에 표시되지 않기 때문에 네트워크의 다른 컴퓨터에서 SSH를 사용할 수 없습니다.
이 VM에 액세스하려면 다음에 무엇을 시도해야 합니까?
답변1
좋아, 결국 VM에서 내가 원하는 것을 복구했으므로 후손을 위해 내가 한 일은 다음과 같습니다.
먼저 SmartOS를 업데이트했습니다. 처음에는 데이터 손실이 두려워 주저했지만 업그레이드는 전혀 고통스럽지 않았습니다. 새 USB 스틱에 새 버전을 넣고 종료하고 스틱을 교체한 다음 재부팅했습니다.
업데이트 후에도 VM에 연결할 때 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
거기서 문제가 즉시 드러났습니다. 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를 통해 연결할 수 있습니다.