在Ubuntu系统上安装部署KVM虚拟机的基本教程

一、安装所需软件包

复制代码代码如下:#apt-get install kvm#apt-get install qemu#apt-get install libvirt-bin libvirt管理复制代码代码如下:#apt-get install bridge-utils网络桥接 如果需要支持kvm虚机从网卡启动,还需安装kvm-pxe包复制代码代码如下:#apt-get install kvm-pxe二、建立一个虚机可以参考libvirt官网<http://libvirt.org/formatdomain.html>,自己新建一个xml定义域文件其中可以定义虚机的域名、UUID、启动选项<hd、cdrom、network>               内存大小、cpu个数、硬盘与光驱镜像路径、网卡相关等虚机磁盘格式为qcow2下面为实例:建一个centos系统###ubuntu下建议vim用vim-gnome###   删除自带的vim复制代码代码如下:#apt-get remove vim-tiny   安装vim-gnome复制代码代码如下:#apt-get install vim-gnome1、创建一个目录用于存放虚机相关文件复制代码代码如下:#mkdir /datastore2、先要创建网络桥接设备<保证eth0没有IP,传递给vSwich0;vSwitch0名称可自定义>#ifconfig eth0 先得到eth0的IP,假设为192.168.1.22复制代码代码如下:#/sbin/ifconfig eth0 0.0.0.0 promisc up#/usr/sbin/brctl addbr vSwitch0#/usr/sbin/brctl addif vSwitch0 eth0#/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up#/sbin/route add default gw 192.168.1.1 dev vSwitch0以上命令重启失效,可以写一个脚本,然后在/etc/rc.local中添加执行路径复制代码代码如下:#!/bin/shif /sbin/ifconfig vSwitch0 down > /etc/null 2>&1 &then/usr/sbin/brctl delbr vSwitch0 > /etc/null 2>&1 &/sbin/ifconfig eth0 0.0.0.0 promisc up/usr/sbin/brctl addbr vSwitch0/usr/sbin/brctl addif vSwitch0 eth0/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up/sbin/route add default gw 192.168.1.1 dev vSwitch0else/sbin/ifconfig eth0 0.0.0.0 promisc up/usr/sbin/brctl addbr vSwitch0/usr/sbin/brctl addif vSwitch0 eth0/sbin/ifconfig vSwitch0 192.168.1.22 netmask 255.255.255.0 up/sbin/route add default gw 192.168.1.1 dev vSwitch0fi 3、建立xml定义文件,下面是我的xml文件XML/HTML Code复制内容到剪贴板<domain type=‘kvm’ id=‘1’>    <name>templates-1</name>                ##域名     <uuid>0112310a-ff1a-bfb5-7cd8-5b2b22ad8de1</uuid>    ##UUID     <memory>262144</memory>                 ##最大内存     <currentMemory>262144</currentMemory>   ##当前内存     <vcpu>1</vcpu>                          ##cpu个数     <os>      <type arch=‘x86_64’ machine=‘pc’>hvm</type>      <boot dev=‘cdrom’/>                   ##启动模式     </os>    <features>      <acpi/>      <apic/>      <pae/>    </features>    <clock offset=‘localtime’/>    <on_poweroff>destroy</on_poweroff>          <on_reboot>restart</on_reboot>    <on_crash>restart</on_crash>    <devices>      <emulator>/usr/bin/kvm</emulator>      <disk type=‘file’ device=‘disk’>        <source file=‘/datastore/templates-1.qcow2’/>   ##此虚机磁盘文件路径         <target dev=‘hda’ bus=‘ide’/>                   ##盘符       </disk>      <disk type=‘file’ device=‘cdrom’>        <target dev=‘hdc’ bus=‘ide’/>    <source file=‘/datastore/centos-5.4.iso’/>          ##虚拟光驱镜像路径         <readonly/>      </disk>      <interface type=‘bridge’>        <mac address=’00:e0:4c:f0:e0:11′/>              ##mac地址         <source bridge=‘vSwitch0’/>                     ##桥接设备         <target dev=‘vnet0’/>                           ##虚拟设备       </interface>      <input type=‘tablet’ bus=‘usb’/>      <input type=‘mouse’ bus=‘ps2’/>      <graphics type=‘vnc’ port=‘5900’ autoport=‘yes’ listen=‘0.0.0.0’ keymap=‘en-us’/>      <sound model=‘es1370’/>      <video>        <model type=‘cirrus’ vram=‘9216’ heads=‘1’/>      </video>    </devices>  </domain>  定义文件中的磁盘与光盘镜像路径一定要真实存在4、创建虚拟机磁盘复制代码代码如下:# qemu-img create -f qcow2 templates-1.qcow2 20GFormatting ‘templates.qcow2’,fmt=qcow2 size=21474836480 encryption=off cluster_size=0指创建一个名称为templates.qcow2 格式为qcow2 大小为20G的虚拟磁盘复制代码代码如下:# du -sh templates.qcow2136K templates.qcow2此大小会随着系统的变化而变化,但最大应该不超过20G5、启动安装复制代码代码如下:#virsh define templates-1.xml   定义一个虚机复制代码代码如下:#virsh start templstes-1     启动一个虚机复制代码代码如下:#virsh vncdisplay templates-1查看vnc端口,用于安装过程的窗口化管理复制代码代码如下:#vncviewer :0                 打开vnc窗口 此命令需要安装其中一个复制代码代码如下:# vncviewer   程序“vncviewer”已包含在下列软件包中:   * xtightvncviewer   * xvnc4viewer   * tightvnc-java   * vnc-java请尝试:复制代码代码如下:apt-get install<选定的软件包>    ###如果有多个虚机,各自的vnc端口应该是不同的###复制代码代码如下:#virsh destoy DOMAINNAME关闭一个虚机更多命令详解复制代码代码如下:#virsh –help6、如果需要图形化管理,可以安装诸如virt-manager类包

相关文章

今天小编给大家分享一下excel图案样式如何设置的相关知识点,...
这篇文章主要讲解了“win10设置过的壁纸如何删除”,文中的讲...
这篇“Xmanager怎么显示远程linux程序的图像”文章的知识点大...
今天小编给大家分享一下xmanager怎么连接linux的相关知识点,...
这篇“如何重置Linux云服务器的远程密码”文章的知识点大部分...
本篇内容介绍了“Linux云服务器手动配置DNS的方法是什么”的...