技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務(wù)器類 >

UBuntu系統(tǒng)安裝KVM創(chuàng)建虛擬機遭遇故障

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2019-03-18 06:04┆點擊:

ping不通虛擬機,ssh登錄不上,console方式登錄不上, 虛擬機無法shutdown,貌似電源管理也沒有安裝成功。

先來解決網(wǎng)絡(luò)問題:

還好可以通過virt-cat來檢查虛擬機內(nèi)部的文件。

先關(guān)閉虛擬機

virsh destroy vm1

然后檢查網(wǎng)卡設(shè)置文件:

root@dbkvm:~# virt-cat -d vm1 /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 192.168.1.51 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 8.8.8.8 dns-search localdomain

這個dns-search localdomain看上去很奇怪。一般是defaultdomain。

localdomain是因為host機器的/etc/hosts中配置成了:

127.0.0.1 localhost.localdomain dbkvm

將其換成這種配置:

127.0.0.1 localhost 127.0.1.1 dbkvm

再創(chuàng)建虛擬機,網(wǎng)絡(luò)正常了??梢詐ing通,可以ssh登錄。 console問題還有。

虛擬機里面的網(wǎng)絡(luò)設(shè)置dns-search 被設(shè)置成了defaultdomain。

因此推測是hosts文件的配置錯誤,導致虛擬機中網(wǎng)卡設(shè)置的dns-search錯誤,導致無法連接網(wǎng)絡(luò),因此不能在創(chuàng)建過程中從網(wǎng)絡(luò)下載安裝openssh-server.

來看一下電源管理

如果不安裝電源管理,就不能在host主機通過shutdown關(guān)閉虛擬機。

在創(chuàng)建vm的選項中需要補上:

--addpkg=acpid

事后彌補就要登錄到虛擬機中,然后運行命令:

apt-get install acpid

再來處理console不能登錄的問題。

先停止虛擬機。

virsh stop vm1

準備一個文件ttyS0.conf, 內(nèi)容如下:

# ttyS0.conf - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn

安裝guestfish程序:

apt-get install guestfish

現(xiàn)在用virt-copy-in將文件復(fù)制到vm的/etc/init目錄中:

virt-copy-in -d vm1 ttyS0.conf /etc/init

然后調(diào)用virsh edit vm1 來編輯vm1的配置文件,添加下面的內(nèi)容:

<devices> ... <serial type='pty'> <source path='/dev/pts/2'/> <target port='0'/> </serial> <console type='pty' tty='/dev/pts/2'> <source path='/dev/pts/2'/> <target port='0'/> </console> </devices>

最后試用一下:

virsh start vm1 Domain vm1 started root@dbkvm:~/kvm_scripts# virsh console vm1 Connected to domain vm1 Escape character is ^] Ubuntu 12.04.2 LTS vm1 ttyS0 vm1 login: root Password: Last login: Thu May 2 09:21:03 UTC 2013 from 192.168.1.4 on pts/1 Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-41-virtual x86_64)

可以了。所有問題的根源都出在那個不正確的host機器上的/etc/hosts配置。