安装Hyper-V

打开服务器管理器-->添加角色和功能-->下一步,选择Hyper-V,如图所示

然后一直默认往下走,一直到安装完成,然后重新启动计算机,如图所示

其中涉及的虚拟交换机、迁移、默认存储配置都可以在安装完成以后配置

注意:如果是远程物理服务器又只有一块网卡,在安装过程中如果勾选了物理网卡,重启后可能会出现无法联网的现象,所以我们在安装完成以后再配置

Hpyer-V配置

打开服务器管理器-->工具-->Hyper-V管理器,可以操作所有Hper-V相关的配置,如图所示

这里我们先修改以下三个全局配置

1,Hyper-V设置-->NUMA跨越-->取消“允许虚拟机跨越NUMA节点”,如图所示;虽然Hyper-V可以配置虚拟机使用多个NUMA节点的资源,但性能会急剧下降,如果虚拟机只使用单一NUMA节点的资源,Hyper-V的性能会更好



注意:取消后需要重启Hyper-V服务

2,Hyper-V管理器-->Hyper-V设置-->虚拟硬盘-->修改虚拟硬盘文件存放位置,如图所示

3,Hyper-V管理器-->虚拟交换机管理器-->虚拟交换机类型选择“外部”-->创建虚拟交换机,如图所示



启用单根I/O虚拟化(SR-IOV),可以使虚拟机环境直接访问硬件,提高虚拟机网络性能,如图所示



注意:安装过程中会造成网络中断几秒钟;SR-IOV开启后不可更改,若要更改只能删除虚拟交换机再添加,关于SR-IOV的具体介绍可以参考最下面的官方文档链接

新建虚拟机

此处以新建CentOS7.9和Ubuntu18.04虚拟机为例,在全局功能页面,新建-->虚拟机

第一步,指定名称和位置,在此输入新建虚拟机的名称,也可以修改虚拟机的存放位置

第二步,指定代数,新版本的操作系统建议选择第2代虚拟机,如图所示,关于具体操作系统版本支持情况可以参考最下面的官方文档链接



第三步,分配内存,修改内存大小,建议勾选为虚拟机使用动态内存

第四步,配置网络,选择新建的虚拟机交换机的名字

第五步,连接虚拟硬盘,这里可以设置硬盘大小,默认是动态扩展硬盘

第六步,可以在这里配置iso文件配置,下一步即可完成;如图所示

虚拟机设置

新建虚拟机完成后,不要着急启动,点击“设置”后可以查看和修改相关配置

1,安全-->取消“启用安全启动”,官方文档介绍:如果是Linux操作系统选择第二代虚拟主机,这里需要取消安全启动虚拟机才能正常启动;Windows可以正常启动



2,内存-->勾选“启用动态内存”,这里可以设置具体内存大小

3,处理器-->调整“虚拟处理器的数量”,这里可以修改CPU数量



4,网络适配器-->硬件加速-->启用SR-IOV,全局配置开启后还需在这里也要设置一下,应用于具体的交换机,如图所示



5,管理-->启用集成服务,相当于Vmware的VM-Tools,默认开启

启动虚拟机

全局配置和单个虚拟机设置完成后,可以启动并安装虚拟机了,点击“连接”,在控制台页面启动虚拟机,如图所示(虚拟机的具体安装不再赘述)

其它性能优化建议

1,避免创建快照,创建快照就是创建第二个虚拟驱动器(.AVHD),从那以后,所有写操作都发生在新驱动器上,但读操作时跨两个驱动器的,这样会影响虚拟机的性能,快照越频繁,虚拟机的性能越低,因此,应尽可能少执行快照,只有在需要时才创建

2,合理规划磁盘空间和网络配置,避免密集型I/O和流量大的虚拟机集中运行在单块硬盘和单个网卡上

参考文档

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/single-root-i-o-virtualization--sr-iov-

https://docs.microsoft.com/zh-cn/windows-server/virtualization/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v

Windows安装Hyper-V并优化部署Linux虚拟机的更多相关文章

  1. 虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)

    这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系 ...

  2. windows下安装linux虚拟机(wsl2),并安装docker。

    一.windows terminal(重要工具,但也可以不装) 这是微软官方推荐的终端工具,类似mac的iterm2,可同时开启多个终端,最开始默认有power shall,cmd,可下载gsudo集 ...

  3. [原]Windows Azure开发之Linux虚拟机

      Windows Azure是微软的云服务集合,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一.其中windows azure提供的最重要的一项服务就是虚 ...

  4. Windows Azure开发之Linux虚拟机

     Windows Azure是微软的云服务集合,用来提供云在线服务所需要的操作系统与基础存储与管理的平台,是微软的云计算的核心组成组件之一.其中windows azure提供的最重要的一项服务就是 ...

  5. Cobbler全自动批量安装部署Linux系统

    说明: Cobbler服务器系统:CentOS 5.10 64位 IP地址:192.168.21.128 需要安装部署的Linux系统: eth0(第一块网卡,用于外网)IP地址段:192.168.2 ...

  6. windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理

    windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...

  7. linux安装OpenCV以及windows安装numpy、cv2等python2.7模块

    OpenCV(Open Source Computer Vision Library) 是一个基于BSD许可(开源)发行的跨平台计算机视觉库,它具有C ++,C,Python和Java接口,可以运行在 ...

  8. 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置.Linux发行版CentOS和Ubuntu的自动安装部署.Windo ...

  9. (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...

随机推荐

  1. 什么样的CRM系统适合以客户为中心的企业?

    我们不难发现,现代的企业非常依赖CRM系统,这是因为20%的优质客户能够给企业带来80%的利润,而老客户的推荐可以带来60%的客户增长.那么,什么样的CRM系统适合企业?随着信息技术的发展,客户开始拥 ...

  2. Docker安装MySQL8.0

    环境 CentOS 7.5 Docker 1.13.1 MySQL 8.0.16 安装 拉取镜像 默认拉取最新版本的镜像 $ docker pull mysql 如果要指定版本,使用下面的命令 $ d ...

  3. 使用VS远程调试其他电脑上安装的软件

    今天在用户的一台机器上遇到了很奇怪的问题.一个按钮点击时概率性的第一次点击无反馈. 因为是概率性的,概率又很低,而当初在设计Log时又设计的是必须重启软件才会生效log开关: 所以这里使用当时rele ...

  4. netcore3.1 + vue (前后端分离)Excel导入

    1.前端(vue)代码 2.公共类ExcelHelper 3.后端(netcore)代码 思路:导入类似于上传,将excel上传后将流转换为数据 1.前端(Vue)代码 这里使用的是ElementUI ...

  5. SQLITE数据库不支持远程访问

    SQLITE数据库不支持远程访问 import sqlite3 conn=sqlite3.connect("dailiaq.db") cur=conn.cursor() def c ...

  6. C语言:键盘输入

    C语言有多个函数可以从键盘获得用户输入,它们分别是: scanf():和 printf() 类似,scanf() 可以输入多种类型的数据. getchar().getche().getch():这三个 ...

  7. SLAM的数学基础(2):协方差和协方差矩阵

    之前我们知道,方差是一组数据的离散程度,它的公式为: 那么如果我们有几组数据,需要知道这几组数据的协同性呢? 举个例子,还是在小红,几次考试成绩如下: 入学考试:数学:80,语文:80 期中考试:数学 ...

  8. Scala学习——函数

    一.函数的定义(def) object FunctionApp { //定义函数:方法体内最后一行为返回值,不需要使用return def add(a:Int,b:Int):Int={ a + b } ...

  9. Java基础之反射生成JDK动态代理

    在Java的java.lang.reflect包下提供了一个Proxy类和一个InvocationHandler接口.通过这个类和接口可以生成JDK动态代理类或动态代理对象. JDK动态代理例子: / ...

  10. Spring解决Attribute tx bound to namespace httpwww.w3.org2000xmlns was already specified

    Spring|解决Attribute "tx" bound to namespace "http://www.w3.org/2000/xmlns/" was a ...