APP下载 微博 微信

Hao4K影音


[分享讨论] 解决电脑常见问题11:推荐虚拟机软件和新手使用虚拟机需要注意的方法

[复制链接]

发表于 2020年04月06日 16:41 20023 3 来源:媒体存储> 分享讨论 回帖奖励 |正序浏览 |

Chuan 帖主

2020-4-6 16:41

解决电脑常见问题11:推荐虚拟机软件和新手使用虚拟机需要注意的方法

一、为什么需要虚拟机
A.使用目的
简单的说,虚拟机存在的意义是从软件层切割硬件,达到单机多OS复用的一个工具。
如果你想体验nas,使用虚拟机吧~

如果你想体验软路由,使用虚拟机吧~

如果你想制作安装镜像,使用虚拟机吧~

如果你想学习其他操作系统,使用虚拟机吧~

如果你想尝试一些可能对主系统有危害的幺蛾子,使用虚拟机吧~

如果你想打造一台N合一的瑞士军刀设备,使用虚拟机吧~

B.物理机和虚拟机的选择
肯定有不聪明的朋友要问了:我双系统不行吗?我再弄一台设备不行吗?请接着看。
1.标准化硬件

虚拟机虚拟出来的硬件一般都是使用比较标准的规格,主要指虚拟主板ACPI和虚拟硬盘的主控,当你使用一些异形定制主板装特定系统遇到问题,可以使用虚拟机破之。
2.灵活的资源分配

正常虚拟机软件都支持硬件动态分配,即用多少给多少。
浪费资源?不存在的。
3.便捷更换硬件

在物理硬件足够的前提下,更改虚拟机的硬件配置是非常容易的一件事儿。
另外,只要你的主板支持热插拔,ESXI等专业的宿主系统可以在不断电的前提下灵活更换物理硬件。
4.多系统并存运行&管理

常规理解的物理机双系统是通过或者Grub引导单存储池内不同的系统调用硬件,并不能让两个不同的系统同时运行。
虚拟机可以在硬件足够的前提下单套硬件同时部署多个不同的操作系统,通过虚拟机的自带工具或者VNC这类软件还能很方便的实现异网(异地)设备对单个子虚拟机系统进行交互。
5.节约成本

现在硬件都比较贵,而我们的单台设备也基本不可能处于一直满载的状态。
虚拟机在某种意义上是一种资源共享的方式,共享显卡、网卡、存储这些大件设备算力,合理分配单台虚拟机,确实可以省下不少硬件采购费用。
目前大部分云主机就是利用虚拟机切割机能搭配存储池,将单台设备机能压榨到最大负荷,用于创造更大的利润。
二、虚拟机的区分
A.存在形式
如果说虚拟机是租客,那么宿主系统就是房东,不然如何做到拆分硬件机能呢?
虚拟机软件
一般虚拟机是以软件形态存在,比如windows自带的Hyper-V。
使用虚拟机软件的优势在于搭建简单,只需要安装个软件就可以使用。
有优点就有缺点,宿主系统需要吃掉一部分硬件资源,如果这台设备的定位是多开虚拟机,使用常用的os(windows)+虚拟机软件这个组合并不能将设备机能利用最大化。
虚拟机系统
那么有没有专门为虚拟机设计的系统呢?答案是有的,譬如大名鼎鼎的ESXI、PVE,与其说是OS,更像是一个基于linux的管理平台。
优缺点正好和上面描述的虚拟机软件相反,搭建需要比较长的学习时间成本,但是这类虚拟机系统基本不怎么占用机能,做单台N合1的拓扑非常适合。
B.主流架构
和路由OS界万物皆为Openwrt一样,目前市面上虚拟机的架构主要有三种:KVM、QEMU、QEMU-KVM,不管UI如何花里胡哨,但是本质无外乎这三种架构,下面简单介绍一下这三种架构的区别。
KVM
KVM是一个基于内核的虚拟机,同时是Linux内核的一个可加载模块,通过调用Linux本身内核功能,实现对CPU的底层虚拟化和内存的虚拟化,使Linux内核成为虚拟化层,需要x86架构的,支持虚拟化功能的硬件支持(比如Intel VT,AMD-V)。
本质上,KVM是管理虚拟硬件设备的驱动,主要负责vCPU的创建、虚拟内存的分配、vCPU寄存器的读写以及vCPU的运行。

QEMU
是一套由Fabrice Bellard编写的模拟处理器的自由软件,它是一个完整的可以单独运行的软件,可以独立模拟出整台计算机,包括CPU,内存,IO设备,通过一个特殊的“重编译器”对特定的处理器的二进制代码进行翻译,从而具有了跨平台的通用性。
QEMU有两种工作模式:系统模式,可以模拟出整个电脑系统,另一种是用户模式,可以运行不同与当前硬件平台的其他平台上的程序(比如在x86平台上运行跑在ARM平台上的程序)。
QEMU-KVM
从前面对KVM内核模块的介绍知道,它只负责CPU和内存的虚拟化,加载了它以后,用户就可以进一步通过工具创建虚拟机(KVM提供接口),但仅有KVM还是不够的,用户无法直接控制内核去做事情(KVM只提供接口,怎么创建虚拟机,分配vCPU等并不在它上面进行),还必须有个运行在用户空间的工具才行,KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,并对其进行了修改,最后形成了QEMU-KVM。

QEMU-KVM是现在主流的架构,在这种混合架构中,KVM负责创建虚拟cpu、内存;QEMU则负责IO设备的虚拟,对各种虚拟设备的创建、调用和管理,比单纯的KVM或者QEMU更加高效和稳定。
三、虚拟机软件介绍
A.主流宿主系统
1.windows

介绍:这就不用介绍了吧。。。基本市面上你能找到的虚拟机软件都有windows版本。
如果你需要挂很多虚拟机,那么windows肯定是最差的选择,毕竟原版windows吃资源挺多的,再带这一帮虚拟机小弟分,属实不理智。
另外,虚拟机也得安装一堆支持库,挺麻烦。。。
2.ubuntu

介绍:目前拥有庞大用户量的Linux系系统,和windows相比,搭建虚拟机环境可是方便多了,一行代码搞定。

3.centos

介绍:之前介绍过,红帽亲儿子,如果你只需要kvm,centos是个不错的选择。
自己先吐槽下:能用centos的用户,怎么选虚拟机还用你教???
4.unraid

介绍:最近大火的NAS系统,特点是不做raid,有着独特的存储管理,自带KVM,有兴趣可以尝试下。

5.DSM(群晖)

介绍:目前国内NAS系统的首选,自带的VMM虚拟机是标准的QEMU-KVM,非常稳定。
如果目标虚拟系统不怎么吃资源,拿群晖虚拟是个不错的选择(省电节能啊K友们)。
VMM的硬盘划分非常有意思,实际占用多少,群晖实际分配多少,并不是按照你的虚拟机划分占用。
6.爱快

介绍:爱快作为全中国最大用户量的免费软路由系统,最近也是顺势推出了KVM虚拟机,推荐理由和群晖一样。
目前硬盘的稳定性堪忧,IO有待优化。
B.主流图形UI虚拟软件
这里需要和大家提醒一下:
单个宿主系统中,尽量只使用一种虚拟机。我在安装完VMware workstation、Hyper-V、Vbox之后,出现了除Hyper-V外其他两个虚拟机均无法启动子系统的情况,
1.hyper-V

介绍:毕竟windows用户占多数,作为史上最成功的民用系统,当然集成了虚拟机功能。
如果你想用windows作为宿主系统,那么Hyper-V是最优先的选择,第一是因为免费,第二是因为相对来说性能损失较少,特别是硬盘IOps,这点做的非常非常棒。
安装方法:
打开windows设置(我的上帝,听说巨硬想砍掉控制面板,WTF,他们在想什么???)

点开程序和功能,点开启动或关闭windows功能

勾选Hyper-V即可


2.virtual-box

介绍:免费的虚拟机软件头子,各OS都支持,也是我一直在用的主力虚拟机,操作简单,兼容性好。
我选择它的最重要理由---vbox备份和群晖VMM是通用的哦,调试完直接导出OVA丢群晖导入就行了。
不过Vbox有个非常大的缺点,创建虚拟硬盘时间特别特别长。
下载地址:点我
3.vmware workstation

介绍:收费软件,vmware家的软件,拥有非常强大的硬件配置入口,特别是网络这块。
如果你创建虚拟机的目的是商用,建议使用vmware work station,比vbox稳定性强很多。
vmware家的备份是通用的(ESXI),但是和其他的软件就不通用了。
下载:点我
三、主流虚拟机管理平台
下面两款是OS,不过主要还是用于虚拟机创建管理,所以我更愿意称之为平台。
A.ESXi

介绍:也是vmware家的东西,和vmware workstation备份通用这点让虚拟机迁移变得很轻松。
硬件直通配置起来非常方便,外网访问配置也很舒服,相比上面那些传统的宿主系统而言,几乎不怎么吃资源,机能损失很小。
和传统的宿主系统相比,esxi有个比较大的问题,就是对冷门硬件的驱动支持比较麻烦,不过正常会选择ESXi的用户也不会自找麻烦去选择冷门硬件就是了。
另外,ESXi有两个版本,收费的vSphere和免费的Hypervisor,具体看官网介绍吧。
下载:点我
B.ProxmoxVE

介绍:如果说esxi是个成熟的商用系统,那么PVE就是虚拟机爱好者的免费乐园。
作为一个开源项目,PVE的可操作性确实比ESXi要强很多,如果你需要一些独特的功能,那么PVE会更适合你。
下载:点我
四、Docker
为什么把docker单独拎出来说,因为docker可以说是个虚拟机,其实也不是虚拟机。

说他是虚拟机,因为Docker是一个容器,可以用来存放一个系统,也可以只是一个程序;
说他不是虚拟机,因为Docker自己无法生成虚拟硬件,这和传统虚拟机有着本质上的区别。
简单来说,Docker适合低配置设备跑一些简单程序,传统虚拟机适合服务器环境下虚拟独立的OS。
五、关于虚拟机使用的一些建议
1.不要套娃
就像我一般不建议多层NAT一样,个人是不太清楚虚拟机下面再虚拟是个什么心态。
一层虚拟机对于配给资源的利用率大概在80-90%,如果想让虚拟机稳定发挥性能,请不要用套娃的拓扑。
2.上浮一些硬件需求
我们在创建虚拟机的时候,往往会照着最低配置走,毕竟使用虚拟机就是为了更多的压榨机能,但是需要注意的是虚拟机有性能损失,所以尽量配置内存和CPU核心数的时候给富裕一些,不要掐着OS的最低配置走,防止因为配置不足让虚拟机崩溃。
3.硬件尽量直通
硬盘尽量配置直通模式,网卡尽量选择桥接模式,道理同上。

4.显示模式的选择
如果你选择了虚拟显卡,尽量使用普通VGA模式,不然可能会出现一些奇怪的显示BUG。
5.关键性的常驻OS不要选择使用虚拟机
请不要虚拟爱快当做主路由或者做单臂路由,高Ping战士非常让人尴尬。
6.预留好资源给宿主系统
我主要使用的是vbox,当压榨资源过多的时候,经常出现vbox本身的OOM(内存溢出)。
7.关于Virtio模式
大部分OS都是针对物理硬件去设计开发,Virtio这种半虚拟化的模式目前问题挺多的,能不开就不开吧。
8.主板虚拟化怎么开
正常虚拟机软件是需要主板VT支持的,一般进入BIOS在Advanced这个Tab下面找一下就能找到。
回复

使用道具 举报

全部回复3

heartzc 4

2020-6-22 01:07

专业贴,支持一下。
回复 支持 反对

使用道具 举报

les5332295 3

2020-4-6 20:09


Synology有虚拟机?只有一个Docker
回复 支持 反对

使用道具 举报

1589523354 2

2020-4-6 16:58

专业人员才能看懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分7

图文推荐

  • 小量的影视、音频存储方案之我见

    最近,一块使用了近十年的4T移动硬盘挂了(曾被摔

  • 极空间挂载阿里云、115、百度、夸克等20个

    理论上使用如下教实现程极空间可以挂载阿里云网盘

  • 红米AC2100刷Padavan固件超全详细教程

    刷机全过程图解 准备工作这部分,网上教程几乎都

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 群辉加USB3.0千兆网卡成功,教程分享

    具体安装替换参考此贴https://www.hao4k.cn/threa

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 分享蜗牛星际A\B\C\D款机箱和功能分别有

    历经一个月研究:蜗牛星际ABCD款机箱和功能分

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 利用NAS建立DNS缓存服务器Pi-hole

    在家用环境中利用NAS建立DNS缓存服务器 1 前

  • Hao4K影音app客户端下载