最近想组一个 itx 小机箱作为家庭服务器,上面跑软路由,NAS,和一个 Linux 的开发测试环境,一机多用的同时,想要服务器尽可能的稳定。至于软硬件的选择就是另一个故事了,这里我们来谈谈虚拟化。
首先一机多用,NAS 和软路由系统都是不同的 Linux 发行版,另外我还需要一个干净的 Linux 发行版作为开发测试环境,之后可能再跑个 Windows 用来挂迅雷。
其次是环境隔离,尤其是软路由需要很稳定,不会因为一个程序异常就让整个家庭网络都炸了。
用虚拟机还可以方便地做快照,随意折腾,出错可以一键还原。硬件升级也可以直接复用虚拟机文件,而不用重新部署整个系统。
ESXi,免费版有 vCPU 限制,功能也不全,虽然家庭也够用。
KVM,KVM 当然是最好的,家用未免也太折腾了一点。
Hyper-v,成熟的 GUI 界面,简单,方便,稳定。并且可以用最熟悉的 Windows 桌面去管理。
提供 Hypervisor 最简单的方法当然是装一台 Windows 10,再启用 Hyper-V。但之前说到,我的目的是 7×24 小时运行,而 Windows 10 不太稳定,更新也太过频繁,这台服务器是家庭网络的核心,不能因为宿主机操作系统重启,就让上面所有的虚拟机都重启。即使 Windows 10 LTSC 和 Windows Server,也免不了常常更新重启的命运。关闭 Windows 的自动更新更是强烈不建议的,会让服务器易于被攻击。
既然宿主机的 Hyper-V 仅仅用来提供 Hypervisor,那能不能只安装 Hyper-V,而不用冗余的其他 Windows 功能呢?后来我发现了微软提供 Hyper-V Server,相当于只有 Hyper-V role 的 Windows Server Core,并且完全免费。
Hyper-V Server 只提供了 Hypervisor 功能,启用服务更少也就更加安全;并且提供的 Hyper-V 和 Windows Server 完全一样,除了没有图形界面(这个没关系,Hyper-V 可以用 GUI 远程管理),功能强大;由于只提供虚拟化,占用资源更少,所以性能更好;更新甚至比Windows Server Core 更少,不会经常重启,非常稳定。
传统的 Windows 安装界面,大家都很熟悉,仅仅想尝试 Hyper-V Server 可以在 Windows 10 的 Hyper-V 里安装(套娃警告),开启嵌套虚拟化就好。
如果说仅仅有 Hyper-V,那优势不是很明显,加上 Windows Admin Center,整个功能性和易用性就无可比拟了,开箱即用!
Windows Admin Center
传统 Windows Server 管理需要打开诸如任务管理器,注册表等诸多组件,而 Windows Admin Center 提供了基于 Web 的功能集合,支持 Windows Server,Windows 10,Hyper-V Failover Cluster,Azure VM 的管理,可以装在任意一台 Windows 机器上,(服务器上不需要装任何 agent),并且完全免费!
我选择将 Admin Center 装在 Hyper-V Server 上而不是笔记本上,这样所有能上网的设备都可以通过 url 去远程管理 Hyper-V Server,这样虽然会占用一点服务器资源,但实测也就 100+MB。我们可以通过浏览器查看实时IO,虚拟机资源使用,修改防火墙策略等功能。
在 Overview 界面,我们可以方便看到当前的 CPU,内存,磁盘 IO 等。同时也可以管理 Windows 上的服务,进程,虚拟机,提供远程桌面和 PowerShell。
注:微软做这个主要也是为了推广他的 Azure,可以利用 Azure 来对 on-premises 部署的服务器提供监控,存储,备份等功能,这里我们只需要用离线的功能就好了,Azure 混合云后面有空再折腾,Windows Server 我也用不上。╮(╯▽╰)╭
吐槽:UI 简直跟 Azure Portal 一样慢!!
Windows Admin Center 提供 Windows Server 的远程桌面(后续版本会对 Linux VM 提供ssh),对于 Linux VM,网络配置好后,只需要 Windows 自带的 ssh 就够了。但偶尔也需要直接连接虚拟机,比如在折腾 OpenWrt 的时候,网络配置写错了,导致 Lan 口起不来,这时我们就需要直接登上 VM,改网络配置后重启。
利用 Hyper-V Manger 远程连接虚拟机,右键 “Hyper-V Manager”,添加服务器,填入远端服务器的地址,用户名密码就好了,之后就像操作本机虚拟机一样操作,非常方便。
为了更好的性能,我们往往选择把 PCIe 设备比如硬盘直通给 VM 使用,但直通之后,不支持创建快照,并且 USB 设备不支持直通,不过 USB 可以用网络进行拷贝,直通设备可以在快照做好之后再挂上去。家庭使用肯定够用了
这里感谢一下来自知乎朋友的分享: