Ubuntu 16.04安装KVM
说明:其实之前我有安装过KVM,只是但是不知道这个就是KVM,而当时只知道叫做QEMU虚拟机。
安装:
http://www.cnblogs.com/EasonJim/p/7215836.html
http://www.cnblogs.com/EasonJim/p/7218384.html
配置网桥:
1、关闭防火墙
service ufw stop
#永久关闭
update-rc.d ufw remove
#关闭之后改成iptables方案
2、配置网桥
1)查看网卡的设置
eth0是自己修改的,可以不用修改成这个名字,使用系统默认的。
ifconfig
eth0 Link encap:Ethernet HWaddr :1c::a1::fc
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:25ff:fea1:99fc/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (63.7 MB) TX bytes: (1.5 GB)
Interrupt: Memory:fc200000-fc220000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (114.0 KB) TX bytes: (114.0 KB) virbr0 Link encap:Ethernet HWaddr be::ec:::3d
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (0.0 B)
2)已有的网卡
eth0是直接插入网线的以太网卡
lo是本地网络,本机内部资源
virbr0是刚才我们装完KVM后,自己生成的虚拟网卡
4)网卡桥接
我们增加一个叫br0的虚拟网卡,让这个网卡可以和eth0以太网的网卡做桥接
如果是桌面版,停止NetworkManager服务(如果不停止,那么需要手动GUI界面设置网桥,需要重启reboot)
sudo systemctl stop NetworkManager.service
sudo systemctl disable NetworkManager.service
增加网桥
sudo brctl addbr br0
设置IP,绑定网卡到网桥br0
sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
保存,重起网卡设置
sudo /etc/init.d/networking restart
如果不行,需要重启reboot
设置DNS
sudo su
echo "nameserver 192.168.199.1" >> /etc/resolvconf/resolv.conf.d/base
/etc/init.d/resolvconf restart #使DNS生效
再查看网卡的设置
ifconfig
br0 Link encap:Ethernet HWaddr :1c::a1::fc
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21c:25ff:fea1:99fc/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (6.2 KB) TX bytes: (15.4 KB) eth0 Link encap:Ethernet HWaddr :1c::a1::fc
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (112.4 KB) TX bytes: (61.5 KB)
Interrupt: Memory:fc200000-fc220000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (2.1 KB) TX bytes: (2.1 KB) virbr0 Link encap:Ethernet HWaddr 2a:b8::cf:cc:c6
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (0.0 B)
这个时候eth0,已经没有具体的IP地址。IP地址出在了br0的虚拟网上面。
我们ping一下公网ip,看看是不是通的。
ping 8.8.8.8
ping 8.8.8.8 (8.8.8.8) () bytes of data.
bytes from 8.8.8.8: icmp_req= ttl= time=51.7 ms
bytes from 8.8.8.8: icmp_req= ttl= time=50.8 ms
重启网桥
sudo service libvirt-bin restart
5)配置转发
#开启转发支持forward
sudo vi /etc/sysctl.conf
修改为net.ipv4.ip_forward = 1
#生效
sudo sysctrl -p
3、创建虚拟机
图形界面:virt-manager

命令行:
#新建用于存放虚拟机相关文件的目录
mkdir /kvm
#使用ftp将centos6.5的安装光盘镜像复制到/kvm
#新建用于存放虚拟机的目录
mkdir /kvm/vm
#安装虚拟机
virt-install --name centos --ram --vcpus= --disk path=/kvm/vm/vm1.img,size= --network bridge=br0 --os-variant=rhel6 --cdrom /kvm/CentOS-6.5-x86_64-bin-DVD1.iso --vnclisten=0.0.0.0 --vncport= --vnc
参数详解:
--vcpus 分配给虚拟机CPU个数
--disk path 虚拟磁盘所在的路径
--size 虚拟磁盘大小,单位是GB
--network bridge 指定虚拟机使用的桥接网卡
--os-variant 虚拟机的操作系统类型
--cdrom 安装虚拟机操作系统的光盘镜像的路径
--vnclisten vnc的监听IP
--vncport vnc的监听端口
--vnc 使用vnc进行连接
然后使用vnc-viewer连接虚拟机
使用vnc-viewer连接IP:5900就可以远程安装这台虚拟机了
在KVM虚拟机中安装操作系统和在其他虚拟机上没有什么不同的地方
安装完成后,在kvm虚拟机中进行网卡配置后,就可以使用putty进行远程连接了
下次启动:
virsh start centos
#virsh语法参考
virsh list 列出运行中的虚拟机
virsh start centos 启动centos虚拟机
virsh shutdown centos 关闭centos虚拟机
virsh destroy centos 强制关闭centos虚拟机
virsh autostart centos 设置centos自动启动
virsh undefine centos 删除centos虚拟机
virsh suspend centos 暂停centos虚拟机
vrish resume centos 恢复centos虚拟机
virsh reboot centos 重启centos虚拟机
virsh edit centos 编辑centos虚拟机
virsh vncdisplay centos vnc显示
Ubuntu 16.04安装KVM的更多相关文章
- Ubuntu 16 04 安装KVM
apt-get install qemu-kvm ubuntu-vm-builder bridge-utils http://www.linuxidc.com/Linux/2016-06/132188 ...
- Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2
Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- Ubuntu 16.04安装Matlab 2016b教程
由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...
- ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA
ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...
- ROS_Kinetic_01 在ubuntu 16.04安装ROS Kinetic 2017.01更新
ROS_Kinetic系列学习(一),在ubuntu 16.04安装ROS Kinetic. Celebrating 9 Years of ROS! ubuntu16.04已经发布半年多了,ROS的K ...
- Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)
Ubuntu 16.04安装虚拟工具VMware Tools,指的是在虚拟机VMWare安装Ubuntu 16.04后再安装VMware Tools的过程.很多人接触Linux都是从虚拟机开始,而安装 ...
- Ubuntu 16.04安装JDK(转载)
1.简单的安装方法 安装JDK的最简单方法应该就是使用apt-get来安装了,但是源一般是OpenJDK,如果需要安装Oracle的JDK这种方法就不合适了,直接跳过看下面的章节. 1.使用ctrl+ ...
随机推荐
- 基于 Arduino 开发板,这款插座是可编程且开源的
基于 Arduino 开发板,这款插座是可编程且开源的 https://www.oschina.net/news/74861/open-source-socket https://github.com ...
- Bzoj-2301 [HAOI2011]Problem b 容斥原理,Mobius反演,分块
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2301 题意:多次询问,求有多少对数满足 gcd(x,y)=k, a<=x<=b ...
- 文件上传实现ajax假异步
$.ajaxFileUpload({ url : getSitePath()+'/jlyElderly/doUpdateImage', secureuri : false,//是否需要安全协议 fil ...
- [ python ] hasattr()、getattr()、setattr() 三者关系及运用
hasattr(object, name) 判断一个对象(object)是否存在name属性或方法,返回boolean值,有name属性返回True, 否则返回False In [1]: class ...
- 在一个Ubuntu系统上配置Apache支持多个站点
查看原文请访问:http://codewenda.com/ubuntu16-04%E9%85%8D%E7%BD%AEapache%E6%94%AF%E6%8C%81%E5%A4%9A%E4%B8%AA ...
- java的装饰设计模式
类似python中的装饰器. 示例: public class Test5 { public static void main(String[] args) { Worker w = new Work ...
- django的事务
在某些时候,你可能会在视图修改两张数据表.并且想让他们同时成功或者同时失败.这就是事务的原子性(atomicity).在django中应该怎么做呢? 详细可以参考官方文档:https://yiyibo ...
- 玩转RaspberryPi
step1:烧制树莓派内存卡 可以用[Linux系统烧制]http://www.williamsang.com/archives/1764.html 如果用windows烧制的话,就用Win32 Di ...
- AngularJS之页面跳转Route
1.除了引用AngularJs.js外,还要引用路由JS, "~/Scripts/angularjs/angular-route.js" 2.通过$routeProvider定义路 ...
- Go语言中的匿名函数和闭包的样子
1). 函数也是值,可以像普通值那样,传来传去: 2). 匿名函数: 3). 函数的类型,类似于:func(float64,float64) float64 ===================== ...