设为首页 收藏本站
查看: 1379|回复: 0

[经验分享] 使用KVM/QEMU命令安装虚拟机

[复制链接]

尚未签到

发表于 2015-10-10 09:56:37 | 显示全部楼层 |阅读模式
环境准备
       两台主机,一台用作kvm客户端,一台用户kvm服务端,kvm服务端用来创建和管理镜像,kvm客户端使用VNC远程连接kvm服务端的镜像,客户端使用ubuntu14.0桌面版,服务端使用ubuntu14.0 server版,客户端的用户名这边我是kvmclient,服务端的用户名为kvmserver



Kvm Server端配置

安装kvm和qemu-kvm
  

Apt-get install kvm qemu-kvm    效果如下  
   DSC0000.jpg
      安装完成后测试模块加载是否正常
   DSC0001.jpg

安装网络配置工具tunctl和brctl一个用来虚拟网卡一个用来设置网桥

Apt-get install uml-utilities
Apt-get install bridge-utils
DSC0002.jpg

安装vnc服务


  

Apt-get install vnc4server
#如果提示出现依赖包xbase-client没安装,先apt-get update下再执行上面的指令 DSC0003.jpg   
      安装完成后设置vnc服务密码(输入vnc后使用tab键可以看到所有vnc开头的指令)
DSC0004.jpg
  
      启动vncserver服务(标示在本地启动一个1号监视器)
   DSC0005.jpg


  
      关闭服务,修改配置文件
   DSC0006.jpg
   DSC0007.jpg
  


      配置文件如下

DSC0008.jpg   


      修改后如下

DSC0009.jpg
Kvm Client端配置

安装xvnc4viewer
  
  
DSC00010.jpg
  
  
      给服务器添加网络配置脚本,在kvmserver的home目录下新建一个scripts目录,然后添加如下脚本(脚本里面的kvmserver根据自己的实际用户名修改)
  

#!/bin/sh
DEL_IPADDR=`ip addr show eth0|grep 'global eth0'|awk '{print $2}'`
IP_ADDR=`ifconfig eth0|grep 'inet addr'|cut -d ':' -f 2|cut -d ' ' -f 1`
NET_MASK=`ifconfig eth0|grep 'inet addr'|cut -d ':' -f 4|cut -d ' ' -f 1`
DEV_ETH="eth0"
TAP_NAME="tap1"
if [ -z "$DEL_IPADDR" ]; then
echo "${DEV_ETH}'s IP is not exist.\n"
exit
fi
#Create rollback.sh
echo "#!/bin/sh\n"\
"tunctl -d $TAP_NAME\n"\
"ifconfig br0 down\n"\
"brctl delbr br0\n"\
"ifconfig eth0 $DEL_IPADDR netmask $NET_MASK up">rollback.sh
#Create tap device
MSG=`ifconfig $TAP_NAME|grep "Device not found"`
if [ -z "$MSG" ]; then
#echo "1\n"
tunctl -t $TAP_NAME -u kvmserver
fi
#Create network bridge with br0,added eth0 to br0
#Delete current eth0 IP address
ip addr del $DEL_IPADDR dev $DEV_ETH
MSG=`brctl show|grep "^br0"`
if [ -z "$MSG" ]; then
#echo "2\n"
brctl addbr br0
fi
MSG=`brctl show|grep $DEV_ETH`
if [ -z "$MSG" ]; then
#echo "3\n"
brctl addif br0 $DEV_ETH
fi
#Give the br0 a IP address,then up that
ifconfig br0 down
ifconfig br0 $IP_ADDR netmask $NET_MASK up
ifconfig $TAP_NAME down
ifconfig $TAP_NAME up
MSG=`brctl show|grep $TAP_NAME`
if [ -z "$MSG" ]; then
#echo "4\n"
brctl addif br0 $TAP_NAME
fi

    或者在client下写好然后上传到server上  
   DSC00011.jpg
       能看懂上面脚本的童鞋也可以直接修改配置文件,脚本运行的每次虚拟机重启后都要执行一遍。然后用root用户给脚本附加可执行权限,然后以root权限执行
   DSC00012.jpg
      如果发生错误可以使用rollback.sh脚本回退,这个脚本在switch_br0.sh执行时会自动生成,当然也要用root附加可执行权限,如果switch_br0.sh执行成功会有如下提示
   DSC00013.jpg
      用ifconfig和brctl查询网络信息
   DSC00014.jpg
   DSC00015.jpg

第二步
      创建虚拟磁盘
  

qemu-img create –f qcow2 winxp.img 10g DSC00016.jpg   
      先将xp的镜像光盘插入VMware的server虚拟机的光驱中
DSC00017.jpg
      在虚拟磁盘上安装操作系统,并启用qemu控制台管理虚拟机,使用VNC作为远程桌面,(这个命令好像不能写在脚本里面执行,否则会出现安装操作系统的时候提示只有1M大小磁盘空间)
  

qemu-system-x86_64 –hda ~/img/win_xp.img –m 512 –boot d –cdrom /dev/cdrom –net nic,vlan=0 –net tap,ifname=tap1,script=no –vnc :1 -usbdevice tablet -monitor stdio    在client侧使用VNC远程连接  
  

vncviewer 192.168.101.137:1 DSC00018.jpg   
      然后在vnc:qemu窗口中完成操作系统的安装,安装完成后,可以在client的VNC图形界面里关闭guest,或者在server的qemu命令提示行出输入system_powerdown来关闭guest

     重新引导磁盘镜像(如果发现鼠标同步性太差,添加上-usbdevice tablet)



qemu-system-x86_64 –drive file=~/img/winxp.img,cache=writeback –localtime  –m 512 –boot c –net nic,vlan=0 –net tap,ifname=tap1,script=no –vnc :1 -usbdevice tablet –monitor stdio

DSC00019.jpg   
      在客户端使用vncviewer链接
DSC00020.jpg

参考资料
  http://www.doc88.com/p-893241644418.html
  http://www.chenyudong.com/
  http://www.linux-kvm.org/page/Main_Page


  

版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-124969-1-1.html 上篇帖子: KVM技术 下篇帖子: Adding SCSI Controller / SCSI Disks to KVM-based Guests
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表