本次在UBuntu12.04.2系统安装KVM,随后创建虚拟机,又出现了新的问题。
现象:
ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也没有安装成功。
先来解决网络问题:
还好可以通过virt-cat来检查虚拟机内部的文件。
先关闭虚拟机
virsh destroy vm1
然后检查网卡设置文件:
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
再创建虚拟机,网络正常了。可以ping通,可以ssh登录。 console问题还有。
虚拟机里面的网络设置dns-search 被设置成了defaultdomain.
因此推测是hosts文件的配置错误,导致虚拟机中网卡设置的dns-search错误,导致无法连接网络,因此不能在创建过程中从网络下载安装openssh-server.
再来处理console不能登录的问题。
准备一个文件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程序
apt-get install guestfish
现在用virt-copy-in将文件复制到vm的/etc/init目录中:
virt-copy-in -d vm1 ttyS0.conf /etc/init
网卡配置文件的存放目录:/etc/sysconfig/network-scripts/
具体配置文件:ifcfg-xxx; 如eth0是ifcfg-eth0、lo是ifcfg-lo
# Intel Corporation 82545EM Gigabit Ethernet Controller(Copper)
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载,yes开机自动加载,no开机不加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=172.16.13.3 #网卡IP地址,一下要写入自己对应的信息
NETMASK=255.255.0.0 #网卡网络地址
GATEWAY=172.16.254.254 #网卡网关地址
DNS1=172.16.254.254 #网卡DNS地址
HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址
BROADCAST=192.168.1.255 #网卡广播地址
相关的命令:
/etc/init.d/network reload
网卡接口关闭与激活
ifdown eth0 #关闭网络
ifup eth0 #启动网络
网络服务启动与关闭
方法一:
service network start|stop|status|restart|reload|force-reload
方法二:
/etc/init.d/network start|stop|status|restart|reload|force-reload
start:启动网卡服务,启用所有自启动的网卡
stop:禁用所有的网卡,现在已经启用的网卡
status: 查看所有的网卡信息,显示信息有启用的网卡和所有的网卡。例如:
[root@reage etc]# service network status
Configured devices:
lo eth0 eth1
Currently active devices:
lo eth0
restart: 重启网卡服务,过程先关闭网卡服务,然后,在启动网卡信息
reload: 重新加载网卡配置文件,网卡的配置文件在修改保存后,并不会生效,需要使用本方式加载到内存中, start、stop、status只是会加载内存配置的信息
force-reloal: 功能未知
临时配置网卡信息,无需重启。
[root@reage ~]# ifconfig eth0 172.16.13.3 netmask 255.255.0.0
额外的话题:
对于虚拟机网卡的MAC的查看
blog:http://blog.csdn.net/rentiansheng/article/details/8877367
重要数据必须备份!其重要性不必多说,先讲一个小故事。
博主所在的公司是一个小公司,项目源码都在SVN服务器上,忽然有一天,服务器中毒,文件被破坏,导致SVN代码库文件夹丢失,后来经过多方整合才从各开发人员的机器上确认了各项目的最新源码的副本,就是因为没有做好备份,才带来了不必要的麻烦。
故事将完了,那就来说一下怎么利用批处理命令和任务计划来实现文件夹的定时备份。
首先,新建一个文本文档,改名为备份SVN.bat
粘贴以下内容:
@echo off echo 本批处理为Ls_man原创 echo 更多精彩博文请访问 http://blog.csdn.net/ls_man echo 或登陆求知域官网 http://www.qqextra.com color 0b & cls echo 设置要备份的文件夹... set "pbuf=D:\VisualSVN_Repositories" echo 设置备份文件存放文件夹... set "tbuf=G:\Backup_VisualSVN_Repositories" echo 初始化压缩程序设置... cd \ C: cd C:\Program Files\WinRAR set yes=ok echo 压缩程序在C:\Program Files\WinRAR\WinRAR.exe echo 设置备份文件名(以星期几命名,即备份文件只保存最近一周)... set name=%date% set name=%name:~-3% set name=svn_backup_%name% echo 是否存在同名文件,若存在则删除同名文件... if exist %tbuf%\%name%.rar del %tbuf%\%name%.rar echo 开始执行压缩备份... rar a -r -ed -esh %tbuf%\%name%.rar %pbuf%\*.* echo 备份完毕!
由于要备份的文件夹和存放备份的文件夹及WinRaR的安装路径可能不同,根据实际情况修改即可。
下一步就是添加任务计划,打开控制面板-任务计划-添加任务计划,设置每天执行备份.bat,最好在晚上执行如凌晨1点。
技术博客,请尊重博主劳动成果,转载请注明出处,谢谢合作。
【End】
更多精彩博文请移步博客主页:http://blog.csdn.net/ls_man
更多精彩分享请收听博主腾讯微博@ls_man:http://t.qq.com/ls_man