UBuntu系统安装KVM创建虚拟机遭遇故障的解决办法
本次在【běn cì zài】🏃UBuntu12.04.2系统安装KVM,随后创📪建虚拟机,又出现了新的【le xīn de】🗯问题【wèn tí】。
现象:
ping不通虚【bú tōng xū】👷拟机,ssh登录不【dēng lù bú】上👛,console方式登【fāng shì dēng】录不上👛, 虚拟机无法🕶shutdown,貌似电源管理也没有【yě méi yǒu】🔥安装成功。
先来解决网络问题:
还好可🐂以通过virt-cat来检查虚拟机【xū nǐ jī】内部的【nèi bù de】💓文件。
先关闭虚拟机
virsh destroy vm1
然后检【rán hòu jiǎn】📪查网卡【chá wǎng kǎ】设置文件⛱:
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看上去【kàn shàng qù】🔑很奇怪【hěn qí guài】。一般是✴defaultdomain。
localdomain是因为♋host机器的/etc/hosts中配置【zhōng pèi zhì】成了【chéng le】🚂:
127.0.0.1 localhost.localdomain dbkvm
将其换【jiāng qí huàn】😒成这种配置:
127.0.0.1 localhost 127.0.1.1 dbkvm
再创建【zài chuàng jiàn】🔳虚拟机【xū nǐ jī】🌹,网络正常了【cháng le】🐦。可以ping通,可以ssh登录。 console问题还有。
虚拟机里面的网络设🔖置dns-search 被设置【bèi shè zhì】🏭成了【chéng le】defaultdomain。
因此推【yīn cǐ tuī】🐌测是hosts文件的🏊配置错【pèi zhì cuò】误,导致虚【dǎo zhì xū】👣拟机中【nǐ jī zhōng】网卡设置的dns-search错误,导致无法连接🌋网络,因此不💈能在创建过程【jiàn guò chéng】中从网【zhōng cóng wǎng】🚙络下载安装openssh-server.
来看一下电源管理
如果不【rú guǒ bú】安装电【ān zhuāng diàn】源管理,就不能在host主机通⛱过【guò】⚡shutdown关闭虚拟机🍞。
在创建vm的选项中需要补上:
--addpkg=acpid
事后弥🍈补就要【bǔ jiù yào】登录到🍦虚拟机【xū nǐ jī】🏦中【zhōng】,然后运行命令:
apt-get install acpid
再来处【zài lái chù】📼理👠console不能登【bú néng dēng】录的问题。
先停止虚拟机。
virsh stop vm1
准备一【zhǔn bèi yī】个文件【gè wén jiàn】🥇ttyS0.conf, 内容如🌤下:
# 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程序【chéng xù】😷:
apt-get install guestfish
现在用🦅virt-copy-in将文件【jiāng wén jiàn】复制到【fù zhì dào】vm的🎋/etc/init目录中:
virt-copy-in -d vm1 ttyS0.conf /etc/init
然后调用【yòng】🙍virsh edit vm1 来编辑🍾vm1的配置文件,添加下【tiān jiā xià】🔫面的内容【róng】:
<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>
最后试用一下【yòng yī xià】🕓:
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)
可以了。所有问题的【tí de】🅰根源都【gēn yuán dōu】出在那【chū zài nà】个不正确的🅰host机器上🗼的🅰/etc/hosts配置📔。
关键词:UBuntu,KVM,虚拟机
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 1
- 0
- 2
- 0
- 4