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+ ...
随机推荐
- exit()与_exit()区别
exit()与_exit()都是用来终止进程的函数,当程序执行到两者函数时,系统将会无条件停止剩下操作,清除进程结构体相应信息,并终止进程运行. 二者的主要区别在于:exit()函数在执行时,系统会检 ...
- fork与printf缓冲问题
printf输出条件: (1) 调用fflush: (2) 缓冲区满了: (3) 遇到\n \r这些字符 (4) 遇到scanf这些要取缓冲区的: (5) 线程或者进程退出: fork之后会拷贝父进程 ...
- Linux 入门记录:八、Linux 文件系统
一.文件系统 操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化.没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备 ...
- Linux 入门记录:二、Linux 文件系统基本结构
一.树状目录结构 Linux 文件系统是一个倒置的单根树状结构.文件系统的根为"/":文件名严格区分大小写:路径使用"/"分割(Windows 中使用" ...
- 用tkinter实现的gui小工具
import tkinter import requests import json from tkinter import * class FindLocation(object): def __i ...
- [New learn] NSOperation基本使用
1.简介 NS(基于OC语言)是对GCD(基于C语言)的封装,让开发者能够更加友好的方便的去使用多线程技术. 2.NSOperation的基本使用 NSOperation是抽象类,所以如果要使用NSO ...
- Centos7 安装
一.先把Centos7的镜像下载到本地 镜像下载网址:http://archive.kernel.org/centos-vault/ (里面有任何需要的版本) 二.启动VMware 1. 创建新的虚拟 ...
- mongodb循环
var rds = db.REGIPATIENTREC.find({mzh:{$lt:"0"},usrOrg:"石景山中西医结合医院"}); var show ...
- linux命令(18):chmod命令
1. 命令格式: chmod [-cfvR] [--help] [--version] mode file 2. 命令功能: 用于改变文件或目录的访问权限,用它控制文件或目录的访问权限. 3. 命令参 ...
- 用淘宝镜像cnpm代替npm
安装淘宝镜像cnpm: $ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org 然后就大部分可以用cnpm来代替np ...