热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

一.什么是虚拟化1.硬件虚拟化-一台物理计算机虚拟出多台逻辑计算机-cpu,内存可分配给多个虚拟机2.软件虚拟化-一个LAMP平台支撑多个网站-桌面虚拟化3.通过软件平台模拟出的计算机
一.什么是虚拟化
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服务,并设为开机自启动
[root@ping ~]# service libvirtd restart
[root@ping ~]# chkconfig libvirtd on

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

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

十.编辑虚拟机设置
-编辑:virsh edit 虚拟机名
-若修改name,uuid,disk,mac,可自动保存为新虚拟机配置
[root@ping ~]# 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

 


推荐阅读
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 这篇文章 | 夕阳下的防火墙命令全解 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 本文深入探讨了Hibernate框架中乐观锁和悲观锁的机制及其多态特性。乐观锁假设数据在大多数情况下不会发生冲突,因此在读取数据时不加锁,而是在更新时检查版本号以确保数据未被修改。相比之下,悲观锁则认为数据在并发环境下容易产生冲突,因此在读取数据时立即加锁,以防止其他事务访问同一数据,从而避免潜在的数据不一致问题。文章还详细分析了这两种锁机制在实际应用中的优缺点,并介绍了Hibernate中的多态特性如何与锁机制结合,以实现更高效的数据管理和并发控制。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
author-avatar
创业语录分享_689
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有