在Ubuntu系统上安装部署KVM虚拟机的基本教程
qiujichun的BLOG 发布时间:2015-12-31 12:06:42 作者:qiujichun 我要评论
这篇文章主要介绍了在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-gnome
1、创建一个目录用于存放虚机相关文件
复制代码
代码如下:#mkdir /datastore
2、先要创建网络桥接设备<保证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/sh
if /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 vSwitch0
else
/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
fi
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 20G
Formatting 'templates.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=0
指创建一个名称为templates.qcow2 格式为qcow2 大小为20G的虚拟磁盘
复制代码
代码如下:# du -sh templates.qcow2
136K templates.qcow2
此大小会随着系统的变化而变化,但最大应该不超过20G
5、启动安装
复制代码
代码如下:#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 --help
6、如果需要图形化管理,可以安装诸如virt-manager类包
相关文章
- 这篇文章主要介绍了在Ubuntu的命令行终端里管理KVM虚拟机的教程,包括虚拟机的创建及远程连接等操作,也同样适用于Debian系的其他Linux系统借鉴,需要的朋友可以参考下2016-03-01
- KVM(Kernel Based Virtual Machine)是一个免费的虚拟化工具,它与VMware、Hyper-V类似,也可以让我们在主机操作系统中创建虚拟机。本文讲解如何为Ubuntu 15.04安装和配置KV2015-10-27
- ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也没有安装成功2013-05-07
ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
qemu、virtual box、vmware、xen都是虚拟机,一般用户接触到的virtual box和vmware比较多,都是用来ubuntu中跑windows,或者windows中跑ubuntu的。这篇文章给大家介绍了ubu2016-10-14
最新评论