一、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))的论文笔记的更多相关文章

  1. 基于KVM的虚拟化研究及应用

    引言 虚拟化技术是IBM在20世纪70年代首先应用在IBM/370大型机上,这项技术极大地提高了大型机资源利用率.随着软硬件技术的迅速发展,这项属于大型机及专利的技术开始在普通X86计算机上应用并成为 ...

  2. KVM的虚拟化研究及应用

    引言 虚拟化技术是IBM在20世纪70年代首先应用在IBM/370大型机上,这项技术极大地提高了大型机资源利用率.随着软硬件技术的迅速发展,这项属于大型机及专利的技术开始在普通X86计算机上应用并成为 ...

  3. 基于KVM、Xen、OpenVZ等虚拟化技术的WEB在线管理工具

    1.Proxmox proxmox是一个开源的虚拟化管理平台,支持集群管理和HA.在存储方面,proxmox除了支持常用的lvm,nfs,iscsi,还支持集群存储glusterfs和ceph,这也是 ...

  4. KVM 内存虚拟化

    内存虚拟化的概念     除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机.虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存 ...

  5. 基于KVM建立虚拟机的步骤及总结说明

    1.前言 目前正在涉足云计算IaaS工作,虚拟化是IaaS的重要部分,因此这段时间对各个虚拟机化技术和工具进行研究,研究的目的不仅仅是为了会使用这个工具,而是通过研究了解技术的实现机制和原理,即知其然 ...

  6. 2017.4.28 KVM 内存虚拟化及其实现

    概述 KVM(Kernel Virtual Machine) , 作为开源的内核虚拟机,越来越受到 IBM,Redhat,HP,Intel 等各大公司的大力支持,基于 KVM 的开源虚拟化生态系统也日 ...

  7. 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 ...

  8. 基于KVM的虚拟机创建

    KVM基本介绍:   KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中,KVM目前 ...

  9. [ kvm ] 嵌套虚拟化

    1. 前言 在学习 kvm 的过程中,需要在虚拟机中再次开启虚拟机,这里就需要使用到嵌套虚拟化,做个记录吧. 2. 配置嵌套虚拟化 2.1 查看物理机是否支持嵌套虚拟化 cat /sys/module ...

随机推荐

  1. 第14月第1天 uialterview 键盘 uibutton圆角

    1. 在IOS 8之后 当UIAlertView 和keyboard 同时出现时,会出现键盘闪现的情况 所以就修正UIAlertView http://blog.sina.com.cn/s/blog_ ...

  2. java线程池的初探

    问题来源 发现学习很多技术都提到了线程池的技术,自己的线程池方面没有仔细研究过,现在看了点东西来这里总结下,最近发现写博客是一个很好的锻炼自己并且将学到的东西更加理解的一个方式. 问题探究 java的 ...

  3. perl6 中将 字符串 转成十六进制

    say Blob.new('abcde'.encode('utf8')).unpack("H*"); say '0x'~'abcde'.encode('utf8').unpack( ...

  4. Valid Parentheses & Longest Valid Parentheses

    Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']', det ...

  5. C++ 螺旋矩阵算法

    清理磁盘空间的时候翻出了多年前写过的螺旋矩阵,代码效率和水平较低,纪念一下,保存到博客园! // ConsoleApplication3.cpp : 定义控制台应用程序的入口点. // #includ ...

  6. Qt 程序等待多长时间执行Sleep

    #include <QTime> void MainWindow::Sleep(unsigned int msec) { QTime reachTime=QTime::currentTim ...

  7. jstack查看Java堆栈信息

    命令 jps 查看进程id jstack 1234 查看该进程的线程堆栈信息 对于每个线程,都有如下信息: 线程名,如“main”线程属性(如果是Daemon线程,会有Daemon标识,否则,什么都没 ...

  8. MySQL root密码忘记后更优雅的解决方法

    MySQL root密码忘记后更优雅的解决方法 https://www.jb51.net/article/143453.htm /usr/bin/mysqld_safe --defaults-file ...

  9. mysql实现复杂groupby : GROUP_CONCAT

    select che,GROUP_CONCAT(concat_ws(':',routeNo,num) ORDER BY num DESC SEPARATOR ',') as gg from (sele ...

  10. Java基础87 MySQL数据约束

    1.默认值 -- 创建表student1,设置address字段有默认值 create table student1 ( id int, name ), address ) default '广东省深 ...