VM 操作系统实例化(基于 KVM 的虚拟化研究及应用--崔泽永(2011))的论文笔记
一、VM操作系统实例化
1.建立虚拟磁盘镜像
虚拟磁盘镜像在逻辑上是提供给虚拟机使用的硬盘, 在物理上可以是 L inux系 统内一普通镜像文件, 也可以是真实的物理磁盘或分区。 本方案设计中将虚拟机集中存储在 SAN存储阵列中, 采用文件方式, 用 dd命令创建如下 dd if= /dev/ zero of= hdisk.img bs= 1G count= 10,
dd命令创建一个名为hdisk.img的容量为10G的虚拟磁盘。虚拟磁盘并不会立即分配全部空间, 而是根据使用情况在不超过 10G范围内动态分配。
2.配置虚拟网络
KVM 有 NAT 和 TUN /TAP两种网络接入方式。NAT方式下主机操作系 统和 虚拟机操作 系统不需要进行特殊设置, 虚拟机操作系统内网卡采用内部DHCP方式获取私有IP地址, 可以与外部网络通讯, 但是虚拟机不能向外提供服务, 也不能与主机进行通信。
TUN /TAP方式是采用 网桥连接, 虚拟机与 主机、虚拟机与外部网络通讯都正常, 其拓扑结构如图所示。
TUN /TAP模式是将物理网卡 eht0设置成混杂模式, 建立一个虚拟网桥 br0和 虚拟网卡 tap0, 然后将虚拟网卡tap0和物理网卡 eth0加入网桥, 设置成网桥端口并激活虚拟网卡 tap0。网桥IP设置成原主机 IP地址, 这时主机操作系 统可正常通讯。当虚拟机操作系统启动时将自动以tap0为模板建立所需数量的 虚拟网卡并插入系统,VM操作系统启动后可按正常系统DHCP方式或手工指定方式设置网卡IP地址。
3.部署操作系统
KVM 虚拟机硬件配置的 设定 或更改非常灵活,KVM 通过虚拟机启动 命令参数指 定虚拟机所对应的CPU、内存、 硬盘、 网卡、声卡、系统时钟等硬件配置。使用启动命令将虚拟磁盘文件和虚拟机关联起来, 启动后开始安装操作系统。
kvm - m 512- hda /hom e/kvm/hdisk.img- cdrom /dev /cdrom - boot d - localtime
此命令是设置虚拟机使用磁盘镜像文件 /home/kvm /hdisk.img作为硬盘, 设置内存容量为512兆, 从光驱启动虚拟机安装操作系统, 安装界面出现后和在物理机器上正常安装操作系统一致。安装完毕后将启动命令中的 - boot d参数修改为-boot c 即可实现从磁盘镜像正常启动虚拟机。
二、虚拟机的优化和统一集中管理:
Virtio 是一套L inux下用于虚拟 I/O 的 通用框架, 采用半虚拟化技术以提高 I/O 性能, 通过在 VM内加载virtio驱动以支持网卡、 块存取设备、 PCI等设备。 启用virtio虚拟千兆网卡替换KVM 默认的 Realteck RTL8029虚拟网 卡, 可大幅度提高虚拟网卡的性能和稳定性。
如选用virtio网卡并指定网卡物理地址, 可使用 - net nic, model=virtio, mac= 52: 54: 00:12: 34: 68参数。虚拟机启动后安装对应的网卡驱动即可正常使用。 虚拟机系统调试完毕后可将复杂的启动命令存为脚本, 避免出错并提高管理效率。
KVM 虚拟机只依赖于虚拟磁盘镜像文件, 其他配置在Linux系统中完成。因此只需要复制磁盘镜像文件, 修改对应启动命令即可完成一台新服务器的部署,有效缩短部署新服务器的工作周期, 极大地降低部署复杂程度, 提高工作效率。服务器数据备份是管理员日常工作的一个重要组成部分, 实施虚拟化后只需备份虚拟磁盘文件, 恢复时将虚拟磁盘文件复制回来即
可实现应用和数据的完整恢复。
此为2011年的论文,仅供以后参考使用。
VM 操作系统实例化(基于 KVM 的虚拟化研究及应用--崔泽永(2011))的论文笔记的更多相关文章
- 基于KVM的虚拟化研究及应用
引言 虚拟化技术是IBM在20世纪70年代首先应用在IBM/370大型机上,这项技术极大地提高了大型机资源利用率.随着软硬件技术的迅速发展,这项属于大型机及专利的技术开始在普通X86计算机上应用并成为 ...
- KVM的虚拟化研究及应用
引言 虚拟化技术是IBM在20世纪70年代首先应用在IBM/370大型机上,这项技术极大地提高了大型机资源利用率.随着软硬件技术的迅速发展,这项属于大型机及专利的技术开始在普通X86计算机上应用并成为 ...
- 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具
1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...
- KVM 内存虚拟化
内存虚拟化的概念 除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机.虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存 ...
- 基于KVM建立虚拟机的步骤及总结说明
1.前言 目前正在涉足云计算IaaS工作,虚拟化是IaaS的重要部分,因此这段时间对各个虚拟机化技术和工具进行研究,研究的目的不仅仅是为了会使用这个工具,而是通过研究了解技术的实现机制和原理,即知其然 ...
- 2017.4.28 KVM 内存虚拟化及其实现
概述 KVM(Kernel Virtual Machine) , 作为开源的内核虚拟机,越来越受到 IBM,Redhat,HP,Intel 等各大公司的大力支持,基于 KVM 的开源虚拟化生态系统也日 ...
- Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析
Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936 XEN 与 VMware ESXi,Hyper-V 以及 K ...
- 基于KVM的虚拟机创建
KVM基本介绍: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中,KVM目前 ...
- [ kvm ] 嵌套虚拟化
1. 前言 在学习 kvm 的过程中,需要在虚拟机中再次开启虚拟机,这里就需要使用到嵌套虚拟化,做个记录吧. 2. 配置嵌套虚拟化 2.1 查看物理机是否支持嵌套虚拟化 cat /sys/module ...
随机推荐
- BAT及各大互联网公司2014前端笔试面试题--Html,Css篇(昨天有个群友表示写的简单了点,然后我无情的把他的抄了一遍)
某个群友 http://www.cnblogs.com/coco1s/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础 ...
- [原]JUnit 自定义扩展思路
1. 理解Annotation,http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html 2. JUNIT整体执行过程分析,htt ...
- plsql免安装客户端的配置
不安装oracle,在安装了plsql之后,需要连接数据库,连接数据库需要在tns中tnsnames.ora中配置 首先需要两个文件: network instantclient-basic-win3 ...
- 20155320 2016-2017-2《Java程序设计》第八周学习总结
20155320 2016-2017-2<Java程序设计>第八周学习总结 教材学习内容总结 NIO与NIO2 Channel继承框架 想要取得Channel的操作对象,可以使用Chann ...
- 第9月第13天 传递lua匿名函数到c/c++
1. lua函数都在refid_fun refid_fun[refid] = fun TOLUA_API int toluafix_ref_function(lua_State* L, int lo, ...
- bash脚本:集群资源争夺战crazy-killer
背景 公司的集群很多人一起用,有时候就难免资源紧张,某次需要用的时候没资源等了半天还是没资源,再等半天还是没资源,于是就写了个脚本泄愤,建议看到的人拷走放在自己公司集群上长期运行 :) 实现 此脚本运 ...
- sqlserver2008R2数据库自动备份脚本
CREATE proc [dbo].[usp_autoBackupDB] @dbname sysname=null --要备份的数据库名,不指定即为全部备份 ,)='d:\' --备份目录路径 ,)= ...
- mybatis开发dao的方法——(三)
------------------------1. SqlSession使用范围------------------- 1.1 SqlSessionFactoryBuilder 通过S ...
- 如何对xilinx FPGA进行bit文件加密
记录背景:最近在用Vivado评估国外一个公司所提供的ISE所建的工程时,由于我并没有安装ISE工程,因此将其提供的所有v文件导入到Vivado中,对其进行编译.添加完之后成功建立顶层文件,但奇怪的是 ...
- 利用gcc自带的功能-fstack-protector检测栈溢出及其实现【转】
转自:https://www.cnblogs.com/leo0000/p/5719186.html 最近又遇到了一个崩溃,栈回溯非常怪异. /lib/i386-linux-gnu/libc.so.6( ...