KVM虚拟机

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。

KVM 架构图:

  • Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。
  • KVM:运行在内核空间,提供 CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
  • QEMU:修改过的被 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。

KVM安装:

1.查看计算机CPU虚拟环境

2.安装KVM及管理工具

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client -y

3.使用 qemu-img 和 qemu-kvm 命令行方式安装

3.1 qume-img创建虚拟磁盘 (qcow2格式)

简介:qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。与普通的 raw 格式的镜像相比,有以下特性:

1.更小的空间占用

2.支持写时复制(cow,copy on write)

3.支持快照(snapshot)

4.可选择基于 zlib 的压缩方式及AES加密

qemu-img create -f qcow2 WindowServer.qcow2     30G

1.开始创建虚拟机并安装2008

virt-install --virt-type kvm --name instance-0002 --ram 1024 --cdrom=/system_iso/windows_server_2008_r2_standard_sp1_x64_617598.iso  --boot cdrom --network network=default  --graphics vnc,listen=0.0.0.0 --disk path=/kvm_img/WindowServer.qcow2 --noautoconsole --os-type=windows

打开 virt-manager

安装系统

分区格式化

等待文件复制安装

安装完成

其它:

虚拟机管理工具:
virsh 常用命令:
virsh start x 启动名字为x的非活动虚拟机
virsh list 列出虚拟机
virsh create x.xml 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend x 暂停虚拟机
virsh resume x 启动暂停的虚拟机
virsh shutdown x 正常关闭虚拟机
virsh destroy x 强制关闭虚拟机
# virsh undefine x 删除虚拟机
virsh dominfo x 显示虚拟机的基本信息
virsh domname 2 显示id号为2的虚拟机名
virsh domid x 显示虚拟机id号
virsh domuuid x 显示虚拟机的uuid
virsh domstate x 显示虚拟机的当前状态
virsh dumpxml x 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时

,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem x 512000 给不活动虚拟机设置内存大小
virsh edit x 编辑配置文件(一般是在刚定义完虚拟机之后)

服务器主机网卡不能自动加入br0桥做如下设置:

chkconfig NetworkManager off

chkconfig network on

systemctl stop NetworkManager

虚拟机克隆:

[root@localhost ~]# virt-clone -o template -n logSystem -f /mnt/operation/systemImage/logsystem.qcow2

记录:

1.centos 7 有图形安装
2.找不到字体可以安装 yum install fontconfig

virt-install --name=tomcat_01 --ram 1024 --vcpus=1 --disk path=/var/lib/libvirt/images/tomcat_01.img,size=20,format=raw,bus=virtio --cdrom /var/iso/CentOS-6.7-x86_64-minimal.iso --network bridge=br0,model=virtio --vnc --accelerate --force --autostar

下面通过一个实际的例子来说明如何计算应该分配的交换空间大小以满足内存的过载使用。

某个服务器有32GB的物理内存,想在其上运行64个内存配置为1GB的客户机。在宿主机中,大约需要4GB大小的内存用于满足系统进程、驱动、磁盘缓存及其他应用程序所需(不包括客户机进程所需内存)。计算过程如下:

客户机所需交换分区为:64 x 1GB + 4GB - 32GB = 36GB。

而根据Redhat的建议[7],对于32GB物理内存的RHEL系统推荐使用8GB的交换分区。

所以,在宿主机中总共就需要建立44GB(36GB+8GB)的交换分区来满足安全地实现客户机内存的过载使用。

下面是在一台Ivy Bridge桌面级的硬件平台上进行的简单实验,可以看出客户机并非开始就在宿主机中占用其启动时配置的内存。

Linux中的交换分区的大小分配推荐法则
曾经,有人推荐使用物理内存1/2、1倍、2倍的容量作为SWAP分区的大小。随着计算机内容容量的增大,如果有16G内存的机器,分个16G的Swap空间,似乎感觉有点浪费磁盘空间,而且多数情况下用处也并不大。在Linux系统,我们可以参照Redhat公司为RHEL5、RHEL6推荐的SWAP空间的大小划分原则,在你没有其他特别需求时,可以作为很好的参考依据。

内存小于4GB时,推荐不少于2GB的swap空间;

内存4GB~16GB,推荐不少于4GB的swap空间;

内存16GB~64GB,推荐不少于8GB的swap空间;

KVM的性能调优,我们可以从四个方面入手 —— CPU、内存、磁盘IO、网络。

Centos 7+KVM(Windows Server 2008 r2 )的更多相关文章

  1. Windows开发环境搭建(安装 VS2010, VS2013, VS2015 Community, Windows Server 2008 R2)

    1. 安装VS2010 1.1 安装步骤 1. 注意安装的时候,选择自定义安装,将不需要的VB.net去掉. 2. 看一下C++下的x64选项是否选择了,如果没选,将其选上. 3. 一定要将 Micr ...

  2. PowerShell自动部署IIS站点(Windows Server 2008 R2)

    1.功能描述 1. 连接软件源服务器下载.NET Framework 4.0..NET Framework 4.5. 2. 检测并判断当前.NET Framework版本是否小于v4.0,如果小于则进 ...

  3. SQLite 在Windows Server 2008 R2 部署问题FAQ汇总[轉]

    轉自:http://www.steveluo.name/sqlite-windows-server-2008-r2-deploy-faq/ 今天花了一天的时间研究了一下SQLite,以取代一些轻量级项 ...

  4. Windows Server 2008 R2 域控制器部署指南

    一.域控制器安装步骤: 1.装 Windows Server 2008 R2并配置计算机名称和IP地址(见 附录一) 2.点击“开始”,在“搜索程序和文件”中输入Dcpromo.exe后按回车键: 3 ...

  5. [Mark]Windows Server 2008 R2 防火墙之SQL Server 2008 R2

    今天新装了一个DBServer (Windows Server 2008 R2),但是在客户端跑之前的应用时却发现出错了,Debugg后发现的错误如下:   由InnerException可知时DB ...

  6. (转)Windows Server 2008 R2 域控制器部署指南

    转自:https://technet.microsoft.com/zh-cn/cloud/gg462955.aspx 一.域控制器安装步骤: 1.装 Windows Server 2008 R2并配置 ...

  7. 烂泥:KVM中安装Windows Server 2008 R2系统

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在前一篇文章中,我介绍了有关在KVM中的安装Centos系统.接下来,就来介绍如何在KVM中安装Windows系统. 注意:在此我安装的是windows ...

  8. Windows服务器安全加固实战(Windows Server 2008 R2和Windows Server 2012)

    最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安 ...

  9. 烂泥:KVM安装Windows Server 2008 R2使用virtio硬盘

    本文首发于烂泥行天下. 在上一篇文章中,我们介绍了使用IDE硬盘来安装Windows Server 2008 R2,这篇文章我们来介绍使用virtio硬盘来安装Windows Server 2008 ...

随机推荐

  1. gcc栈溢出保护机制:stack-protector

    关键词:stack-protector.stack-protector-strong.stack-protector-all等等. 1. gcc栈保护机制stack-protector简介 gcc提供 ...

  2. A Neural Influence Diffusion Model for Social Recommendation 笔记

    目录 一.摘言 二.杂记 三.问题定义和一些准备工作 四.模型真思想 五.实验部分 六.参考文献 一.摘言 之前协同过滤利用user-item交互历史很好的表示了user和item.但是由于用户行为的 ...

  3. crossover mac如何使用?crossover mac使用教程

    CrossOver Mac 破解版可以在 Mac 上运行成千上万的 Windows 程序,从办公软件.实用工具.游戏到设计软件.CrossOver 19 破解版可以让 Windows 程序和 Mac ...

  4. acwing 55. 连续子数组的最大和

    地址  https://www.acwing.com/problem/content/50/ 输入一个 非空 整型数组,数组里的数可能为正,也可能为负. 数组中一个或连续的多个整数组成一个子数组. 求 ...

  5. Leetcode 216. 组合总和 III

    地址 https://leetcode-cn.com/problems/combination-sum-iii/ 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并 ...

  6. matlab练习程序(螺线拟合)

    这里待拟合的螺线我们选择阿基米德螺线,对数螺线类似. 螺线的笛卡尔坐标系方程为:   螺线从笛卡尔坐标转为极坐标方程为:   阿基米德螺线在极坐标系下极径r和极角theta为线性关系,方程为:   计 ...

  7. 基于Django的Rest Framework框架的视图组件

    本文目录 一 基本视图 二 mixin类和generice类编写视图 三 使用generics 下ListCreateAPIView,RetrieveUpdateDestroyAPIView 四 使用 ...

  8. Java菜题

    编程语言:Java  2019年全国高校计算机能力挑战赛分设大数据算法赛(所谓的内部试题) 一.选择题(共15题,每题3分,共45分) 1. 在Java中下列说法正确的是(  ) A.一个子类可以有多 ...

  9. SonarLint各种提示的意思

    1.Refactor this method to reduce its Cognitive Complexity from 29 to the 15 allowed. 2.Method has 15 ...

  10. Visual Studio 2019 16.1 使用 .NET Core 3.0

    一.前言 早在很久之前微软便公布 .NET Core 3.0 将支持开发Winform应用程序等等新特性,现如今 .NET Core 3.0 预览版已经出来第五个预览版了,从 .NET Core 2. ...