文档章节

KVM虚拟化学习总结之安装

perofu
 perofu
发布于 2014/10/31 14:46
字数 1308
阅读 731
收藏 7

KVM虚拟化学习总结之安装

 

0.VMware开启虚拟化:

 

       如果你不是是在windows上使用VMware进行的,可以忽略此步。

       配置如下图:

 

 

1.查看CPU是否支持虚拟化:

 

grep -E -o 'vmx|svm' /proc/cpuinfo

 

VMX:它是Intel处理器虚拟机技术标志;

SVM:它是AMD处理器虚拟机技术的标志。

 

注:linux发行版本必须在64bit环境中才能使用KVM

 

[root@localhost  ~]# grep -E -o 'vmx|svm'   /proc/cpuinfo

vmx


2.安装kvm

       yum源使用的是Centos 6.4的光盘镜像,无需网络环境。

yum install kvm python-virtinst libvirt  bridge-utils virt-manager   qemu-kvm-tools  virt-viewer  virt-v2v qemu-kvm acpid -y

 

安装包简介:

kvm                      :安装kvm模块

python-virtinst              :安装python组件,主要用来记录创建vm时的xml文件

libvirt                   :安装虚拟机管理工具,使用virsh来管理虚拟机

bridge-utils            :安装网络支持工具

virt-manager          :安装图形界面管理虚拟机(对于远程的被管理主机,可以不安装)

qemu-kvm-tools     :安装kvm调试工具(可以不安装)

virt-viewer            :安装virt-viewer 图形查看功能

virt-v2v                :自动化将创建在XenKVMESX上的虚拟机拷贝到virt-v2v的主机

 

3.修改vnc的监听端口:

 

       vnc默认的监听127.0.0.1

       因为,在创建虚拟机时,需要连接vnc,去手动完成新系统的安装。

cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.bak

sed -i 's/#vnc_listen/vnc_listen/'   /etc/libvirt/qemu.conf

/etc/init.d/libvirtd start

/etc/init.d/acpid start

chkconfig libvirtd on

chkconfig acpid on

 

4.关闭SELinux并重启:

 

sed -i '/SELINUX/s/enforcing/disabled/'   /etc/selinux/config

reboot

 

5.检查KVM是否加载成功:

 

       如果没有输出信息,则表示没有加载成功。

lsmod | grep kvm

 

[root@localhost  ~]# lsmod | grep kvm

kvm_intel              53484  0

kvm                   316506  1 kvm_intel

 

6.检查KVM是否成功安装:

 

       --all :关闭的也会显示,这个参数很重要。

virsh list --all

 

[root@localhost  ~]# virsh list --all

 Id      Name                             State

----------------------------------------------------

 

7.各软件版本的查询:

 

       可忽略此步。

       但是,不同版本的命令,尤其是virt-install这个,参数会不兼容的。

 

virt-install --version

virsh --version

 

[root@Localhost  ~]# rpm -qa | grep kvm

qemu-kvm-0.12.1.2-2.295.el6_3.1.x86_64

qemu-kvm-tools-0.12.1.2-2.295.el6_3.1.x86_64  

 

[root@Localhost  ~]# rpm -qa | grep   libvirt

libvirt-client-0.9.10-21.el6_3.3.x86_64

libvirt-python-0.9.10-21.el6_3.3.x86_64

libvirt-0.9.10-21.el6_3.3.x86_64

 

[root@Localhost ~]# rpm -qa | grep qemu

qemu-img-0.12.1.2-2.295.el6_3.1.x86_64

gpxe-roms-qemu-0.9.7-6.9.el6.noarch

 

[root@Localhost ~]# rpm -qa | grep virt

virt-manager-0.9.0-14.el6.x86_64   virt-v2v-0.8.7-6.el6.x86_64

virt-viewer-0.5.2-9.el6.x86_64

 

[root@localhost ~]# virt-install   --version

0.600.0

[root@localhost ~]# virsh --version

0.10.2

 

8.将网卡配置成桥接模式:

 

       配置桥接网卡br0后,物理网卡eth0不需要获得ip地址,其功能被br0取代,因此在配置的时候无论是静态ip还是动态获取都用br0取代eth0ip地址实际上数据发送还是通过本机的物理网卡

例如桥接前eth0的静态ip172.22.2.92那么配置桥接br0的静态ip应为172.22.2.92,而桥接后eth0没有ip

yum install -y tunctl

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0

TYPE=Bridge

BOOTPROTO=static

IPV6INIT=no

ONBOOT=yes

IPADDR=172.22.2.92

NETMASK=255.255.0.0

GATEWAY=172.22.1.3

DNS1=8.8.8.8

DELAY=0

EOF

 

cp /etc/sysconfig/network-scripts/ifcfg-eth0   /etc/sysconfig/network-scripts/bak_ifcfg-eth0

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

BRIDGE=br0

IPV6INIT=no

EOF

 

/etc/init.d/network restart

 

#查看桥接网络

brctl show

 

9.安装kvm的第一个guest系统:

 

       Linux系统安装时,内存最低512M(字符界面安装Linux),,我在win7vmw开了1G的内存。

       virt-install的参数就先不介绍了,详见后面。

virt-install --name=centos --ram=512 --vcpus=1 --disk path=/data/kvm/images/centos.img,cache=writeback,size=10,bus=virtio --cdrom /dev/cdrom --accelerate --vnclisten=172.22.2.92 --vncport=6900  --vnc --network bridge=br0 --force --autostart

 


root@localhost ~]# virt-install   --name=centos --ram=512 --vcpus=1 --disk   path=/data/kvm/images/centos.img,cache=writeback,size=10 --cdrom /dev/cdrom   --accelerate --vnclisten=172.22.2.92   --vncport=6900  --vnc --network bridge=br0 --force   --autostart  

 

Starting install...

Creating storage file centos.img                                                                                                                  |  10 GB     00:00      

Creating domain...                                                                                                                                |    0 B     00:00      

Cannot open display:

Run 'virt-viewer --help' to see a full   list of available command line options

Domain installation still in progress. You can reconnect to

the console to complete the installation process.

 

       看到这里,你需要使用vnc去连接172.22.2.926900端口,手动完成剩余的安装步骤。

 

 

10.查看新建的虚拟机信息:

 

       使用virt-install 工具,工具自动创建磁盘,默认是raw格式,此格式不能使用快照功能。

 

qemu-img info  img文件

 

[root@localhost ~]# qemu-img info   /data/kvm/images/centos.img

image: /data/kvm/images/centos.img

file format: raw

virtual size: 10G (10737418240 bytes)

disk size: 1.5G

[root@localhost ~]# virsh list --all

 Id    Name                           State

----------------------------------------------------

 2     centos                         running

 

[root@localhost ~]#

 

11.查看新建虚拟机的配置文件:

 

       可以根据需求,修改虚拟机的配置,但需要重启虚拟机。

[root@localhost ~]# cat   /etc/libvirt/qemu/centos.xml

<domain type='kvm'>                                                     #虚拟机类型

    <name>centos</name>                                                #虚拟机名称

    <currentMemory unit='KiB'>524288</currentMemory>  #内存大小

    <vcpu placement='static'>1</vcpu>                               #CPU个数

      <type arch='x86_64'   machine='rhel6.4.0'>hvm</type> #虚拟系统架构

<boot   dev='hd'/>                                                     #虚拟机默认启动为硬盘

      <emulator>/usr/libexec/qemu-kvm</emulator>           #kvm驱动

      <disk type='file'   device='disk'>                                  #磁盘类型

        <driver name='qemu' type='raw' cache='writeback'/>#虚拟机硬盘格式

        <source file='/data/kvm/images/centos.img'/>          #虚拟机文件

      <interface type='bridge'>                                          #网络类型为桥接

        <mac address='52:54:00:fe:d7:22'/>                       #网卡MAC地址,可以自己修改

      <graphics   type='vnc' port='6900' autoport='no' listen='172.22.2.92'>   #vnc的配置

</domain>

 

       具体的解释,可以参考这篇文章:http://my.oschina.net/guol/blog/73300

     到此,kvm环境就介绍完了。


© 著作权归作者所有

共有 人打赏支持
perofu
粉丝 128
博文 155
码字总数 131715
作品 0
广州
系统管理员
私信 提问
KVM虚拟化学习笔记系列文章列表

kvm虚拟化学习笔记(一)之kvm虚拟化环境安装 http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 http://koumm.blog.51cto.com/703525/1289627 kvm虚拟...

蓝狐乐队
2015/03/19
0
0
开源虚拟化 KVM 视频教程在51CTO上线了

  《开源虚拟化KVM极速入门》视频教程,正式在51CTO上线了!   访问地址:http://edu.51cto.com/course/courseid-6815.html   由浅入深、循序渐进地掌握开源虚拟化KVM的体系结构、构建...

dbtrain
2016/08/20
0
0
后端技术杂谈7:OpenStack的基石KVM

Qemu,KVM,Virsh傻傻的分不清 当你安装了一台Linux,想启动一个KVM虚拟机的时候,你会发现需要安装不同的软件,启动虚拟机的时候,有多种方法: 这些之间是什么关系呢?请先阅读上一篇《白话...

你的猫大哥
2018/07/11
0
0
kvm虚拟化框架结构层次梳理及图形化的使用

关于kvm知识做一次简单梳理回顾,首先了解kvm是什么? kvm的全称是Kernel-based Virtual Machine,从字面意思理解是基于kernel内核的虚拟机,其实是Linux内核模块,此模块在系统中的表现为虚...

老城小叙
2017/11/02
0
0
Linux中KVM虚拟机是什么

概念: Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源...

easonjim
2018/01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

surfaceView和View的区别

概念:view在UI线程去更新自己;而SurfaceView则在一个子线程中去更新自己   surfaceView是在一个新起的单独线程中可以重新绘制画面,而View必须在UI的主线程中更新画面   在UI的主线程中...

丁佳辉
38分钟前
0
0
云上数据仓库选型指南

前言: 云数据仓库是构建在云上的新一代数据仓库解决方案,如何选择符合企业需求的云数据仓库,选择时应考虑哪些关键问题成为很多企业管理者关心的问题。本文参考TDWI以及Forrester的研究报告...

阿里云官方博客
40分钟前
0
0
CentOS6 Shell脚本/bin/bash^M: bad interpreter错误解决方法

在windows下保存了一个脚本文件,上传到centos,添加执行权限后运行提示没有那个文件或目录。 解决方法很简单,用vi命令打开要检查的脚本文件,然后用 :set ff? 【说明后面的问号不可少,英文...

lwkai
40分钟前
3
0
java中锁

1.乐观锁和悲观锁 乐观锁与悲观锁不是指具体的什么类型的锁,而是指看待并发同步的角度。 乐观锁 乐观锁认为对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用尝试更新...

贾峰uk
43分钟前
2
0
Java 工程师成神之路 | 2019正式版

一.基础篇 01 面向对象 → 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 → 平台无关性 Java 如何实现的平台无关 JVM 还支持哪些语言(Kotlin、Groovy、JRuby、...

Java填坑路
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部