KVM搭建及管理,虚拟机快建

一.什么是虚拟化
1.硬件虚拟化
  -一台物理计算机虚拟出多台逻辑计算机
  -cpu,内存可分配给多个虚拟机
2.软件虚拟化
  -一个LAMP平台支撑多个网站
  -桌面虚拟化
3.通过软件平台模拟出的计算机
  -对最终用户来说,感受不到与物理计算机的差异
  -根据虚拟化程度不同,所需的修改也不同
4.虚拟化的实现程度
  完全虚拟化,Full Virtualization
  -由平台软件模拟实现
  -客户机的操作系统代码几乎不做修改
  半虚拟化,Para Virtualization
  -平台软件只提供最核心的虚拟机功能
  -需要修改客户机的系统内核,兼容性较差
  硬件辅助虚拟化,Hardware-Assisted Virtualization
  -将实现虚拟化技术的部分功能硬件化
  -主要指Intel/AMD等CPU支持
5.常见的虚拟化软件
  VMware        VSphere平台,VMware Workstation
  Microsoft     VirtualPC,Hyper-V
  RedHat        KVM,RHEV平台
  Citrix        Xen
  Oracle        Oracle VM VirtualBox

二.KVM介绍
  Kernel-based Virtualization Macheine
  -基于内核的完全虚拟花解决方案
  -Red Hat5.4版本开始推出,可替代早先的Xen产品
  -需要Inter VT 或 AMD V 处理器技术支持
  -支持Linux/Unix/Windows客户机
三.Host OS 与 Guest OS
1.Host OS       --> 物理机/宿主机  -运行KVM虚拟机平台的物理机的操作系统
  -比如CentOS6.7 ,RHEL6.7
2.Guest OS      --> 虚拟机/客户机
  -虚拟机上运行的操作系统
  -比如:RHEL6.7 windows7 ...

四.虚拟网络
1.桥接模式
  -Guest 与 Host 连接到同一个交换机上
  -通过桥接物理网卡,相当于自连到Host所在网络
2.隔离网络
  -Guest 可访问同一虚拟交换机上的其他Guest
  -但无法访问Host所在外部网络

五.网络访问类型
1.NAT模式(默认)
  -Guest的网关指向Host的virbr0的IP address
  -允许虚拟机共享宿主机的网络连接
2.路由模式
  -由Host充当路由器,开启转发
  -需要额外设置外网与Guest之间互访的路由
六.安装虚拟化相关包组
1.确保已安装的包组
  -Virtualization,Virtualization clinet
  -Virtualization Tools, Virtualization Platform
2.启动libvirtd服务,并设为开机自启动
  [[email protected] ~]# service libvirtd restart
  [[email protected] ~]# chkconfig libvirtd on

七.virsh命令工具介绍
1.提供管理各虚拟机的命令接口
  -支持交互模式,查看/创建/停止/关闭...
  -格式:virsh 控制指令 [虚拟机名称] [参数]
  [[email protected] ~]# virsh
2.查看KVM节点的信息
  [[email protected] ~]# virsh nodeinfo
3.列出所有的虚拟机
  [[email protected] ~]# virsh list --all
4.列出指定虚拟机信息
  [[email protected] ~]# virsh dominfo 虚拟机名称
5.运行|重启|关闭指定的虚拟机
  [[email protected] ~]# virth start|reboot|shutdown  虚拟机名称
6.强制关闭指定的虚拟机
  [[email protected] ~]# virsh destory  虚拟机名称
7.将指定的虚拟机设为开机自启动
  [[email protected] ~]# virsh autostart [--disable] 虚拟机名称

八.xml配置文件
  -定义了一个虚拟机的名称,UUID,CPU,内存,虚拟磁盘,网卡等各种参数设置
  -默认位于/etc/libvirt/qemu/虚拟机名.xml
九.导出xml配置文件
  -查看:virsh dumpxml 虚拟机名
  -备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml

十.编辑虚拟机设置
  -编辑:virsh edit 虚拟机名
  -若修改name,uuid,disk,mac,可自动保存为新虚拟机配置
  [[email protected] ~]# virsh edit RHEL6

十一.导入虚拟机  -根据修改后的独立xml文件定义后新虚拟机 :virsh define XML描述文件

十二.删除虚拟机  -必要时可去除去多余的xml配置
  -比如虚拟机改名的情况
  -避免出现多个虚拟机的磁盘或MAC地址冲突
  -virsh undefine 虚拟机名

十三.常用镜像类型
    1.虚拟机的磁盘镜像文件格式
  特点            RAW         QCW2
  kvm默认         否           是
  I/O效率         大           小
   占有空间        不支持       支持
  后端盘复用      不支持       支持
  快照            不支持       支持

十四.创建虚拟机磁盘镜像
  1.创建新的镜像盘文件
    -qemu-img create -f 格式 磁盘路径 大小
  2.查询镜像文件的信息
    -qemu-img info 磁盘路径
十五.创建/还原/删除快照
   1.快照的作用
    -在虚拟机磁盘镜像内记录不同时间点的状态数据备份
    -必要时可将虚拟机恢复到指定的快照
  2.基本用法
    - qemu-img snapshot -c 快照名 qcow2磁盘
    - qemu-img snapshot -l qcow2磁盘
    - qemu-img snapshot -a 快照名 qcow2磁盘
    - qemu-img snapshot -d 快照名 qcow2磁盘

十六.一台KVM虚拟机的组成
  1.一台KVM虚拟机的组成
    -xml配置文件:定义虚拟机的名称,UUID,CPU,内存,虚拟磁盘,网卡等各种参数设置
    -磁盘镜像文件:保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义

十七.COW技术原理
  1.Copy On Write,写时复制
    -直接映射原始盘的数据内容
    -当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘
    -对前端盘的修改不回写到原始盘

十八.快建新的虚拟机:
   一.准备模版虚拟机
      1.模版机的选择
        -可以用现有的虚拟机,也可再安装一台新虚拟机
      2.模版机的初始化
        -预装软件/系统优化/关闭SELinux等
        -生产环境可以标记/.unconfigured ,方便新虚拟机的配置(相当于出厂设置,提示用户初始化)
      3.备份号模版磁盘,xml配置文件
      4.删除模版机(undefine)
   二.快速创建qcow前端盘
      1.qemu-img 通过-b 选项复用指定后端盘
        - qemu-img create -f qcow2 -b  后端盘  前端盘
        - qemu-img create -f qcow2 -b RHEL6.qcow2 rhel6.qcow2
      2.ls -lh  | grep -i "rhel"  对比前端盘,后端盘大小
        -rw-r--r--. 1 root root 193K 6月  26 18:48 rhel6.qcow2
        -rw-r--r--. 1 qemu qemu 9.2G 6月  26 18:49 RHEL6.qcow2

   三.配置新的虚拟机
      1.拷贝模版机的xml配置
        -按照需要修改,并据此定义新的虚拟机
        cp /var/lib/libvirt/images/RHEL6.xml  /root/
        vim /root/RHEL6.xml
        virsh define /root/RHEL6.xml
时间: 06-24

KVM搭建及管理,虚拟机快建的相关文章

KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机

一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S/390,PowerPC与IA-64平台上.在Linux内核3.9版中,加入A

virsh命令管理虚拟机

virsh命令管理虚拟机 libvirt有两种控制方式,命令行和图形界面. 1.图形界面:通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌面. 2.命令行就是接下来我所说的.如何通过命令行来控制虚拟机. 创建虚拟机 在/etc/libvirt/qemu下新建xml文件,如node.xml.需要有内存.cpu.硬盘设置.光驱以及vnc等等.以下是我根据Openstack启的虚机修改而成,没办法,直接用Ope

Linux下的ssh环境搭建与管理

Linux下的ssh环境搭建与管理 实验环境 1:网桥模式 2:安装好vmtoos 3:安装好yum 4:安装好ssh相关软件包 5:服务端:xuegod-63   IP:192.168.1.63 客户端:xuegod-64   IP:192.168.1.64 客户端普通用户:ceshi  密码:123456 6:安装好扫描软件rpm -ivh/mnt/Packages/nmap-5.21-4.el6.x86_64.rpm 实验目标 1:SSHD服务介绍 2:SSHD服务安装配置 3:两Linu

[BI项目记]-搭建代码管理环境之客户端

 前面已经介绍了如何搭建代码管理环境的服务器端安装和配置,这里介绍对于客户端的几个场景. 首先对于开发人员来说,可以直接使用Visual Studio来连接,这里主要演示Visual Studio 2013. 打开Visual Studio 2013,点击VIEW下的Team Explorer. 在Team Explorer里,点击Select Team Projects- 在弹出的界面中,点击Servers- 点击Add-连接TFS服务器. 填写TFS服务器所在位置. 这个地址可以在TFS

使用virt-manager创建和管理虚拟机

1.虚拟机管理程序和虚拟机管理 一个服务器上只安装单一操作系统的时代已经过去,单个服务器可通过安装多个虚拟机来运行不同操作系统.虚拟机的大量使用减少了所需的服务其硬件,降低了服务器的功耗,但却带来了另外一个问题,多虚拟机数目的增加使其管理变得更加复杂. 虚拟化为管理虚拟机及其资源以及物理主机的基础资源带来了新的挑战.多个操作系统现在以虚拟机的形式共享一个物理主机的资源,操作系统与物理主机之间不再存在一对一的映射关系.每个虚拟机使用一个容器和其他元数据来表示,该容器持有一个或多个虚拟磁盘,而这些元

更改CloudStack中KVM平台的Windows虚拟机默认磁盘类型为VirtIO

前言 本文的目的是为了解决在使用CloudStack(CloudPlatform)时,基于KVM虚拟化平台,Windows虚拟机的性能低下的问题. 此性能,主要指磁盘IO和网卡性能. 相关文档 由于CS文档中,只强调了PV这个概念,根据PV模式区分使用不同的硬件接口类型.所以收集部分链接给大家扫盲. 关于PV(Paravirtualization-半虚拟化)模式的概念,请参阅: http://www.rackspace.com/knowledge_center/article/choosing-

pptp模式vpn搭建与管理

安装vpn 配置好yum源 yum -y install ppp yum -y install pptpd 服务ip地址 eth0      Link encap:Ethernet  HWaddr 00:16:3E:00:0A:85 inet addr:10.90.16.156  Bcast:10.90.31.255  Mask:255.255.240.0(内网) eth1      Link encap:Ethernet  HWaddr 00:16:3E:00:05:B9 inet addr:

[BI项目记]-搭建代码管理环境客户端

前面已经介绍了如何搭建代码管理环境的服务器端安装和配置,这里介绍对于客户端的几个场景. 首先对于开发人员来说,可以直接使用Visual Studio来连接,这里主要演示Visual Studio 2013. 打开Visual Studio 2013,点击VIEW下的Team Explorer. 在Team Explorer里,点击Select Team Projects… 在弹出的界面中,点击Servers… 点击Add…连接TFS服务器. 填写TFS服务器所在位置. 这个地址可以在TFS Ex

3 kvm之virsh管理命令

virsh是管理虚拟机的工具,可以执行virsh进入类似于bash的虚拟机管理界面,也可以在命令行执行下面的命令,完成一系列管理虚拟机的操作. 列出虚拟机 virsh list [--all] 使用--all时列出所有包括关闭的虚拟机 登录 远程登陆 # ssh [email protected] 本地登录 # virsh console CentOs6.7 开关机之前需要在客户机安装电源管理的软件acpid # yum install -y acpid # service acpid star