最近折腾 hyper-v 的一些吐槽

2021-07-22 20:01:04 +08:00
 join
hyper-v 就不是给个人用的,都好多年了还不支持文件共享。网络配置很复杂,实际上现在 windows 宿主机也是被虚拟成 hyper-v 的虚拟机,只是一个特殊的带 hyper-v 管理端的操作系统而已。
网络配置太复杂了,我配置好 internal 模式后,随便关了 public 网络文件共享后,linux 的客户机就 ping 不通 internal 交换机地址了。我为啥要区动网络文件共享?因为配置 samba,想安全一点。然后 samba 也是个巨大的配置坑,我根本不想去碰。
为啥要用 hyper-v ?
我被 wsl2 莫名奇妙的网络问题折腾太厉害了,有时候服务能 ping 通,端口也能通,就是不能收发数据通信。。。。很多同学抱怨 wsl2 里面开个 http 服务器有时能连上,有时连不上,就是这个问题。我一个月前碰到一个 rpc 服务连接的问题,调试了好几个小时,就差去动手抓包了,最后由于太晚了,就关机睡下了。第二天开机后问题消失了。。。。。
docker 和 hyper-v 不能共存,经常会在开机时 docker 报错。尤其是你好几个月从来没有打开过 hyper-v,突然手贱打开了一下就会有这个问题,并且之后会一直伴随你每次开机报错。。。。
wsl2 有时候你用着用着文件目录就变成了 unreachable,我不想管这个问题,也不想去修,一般都是重新启动 wsl 。
还有 wsl 是个残废的 linux,很多命令没有,比如 netstat,还有些莫名奇妙的问题,就是用着用着 docker 不能用了。。。。

如果你要用 wsl2 建议把 hyper-v 禁掉,我已经打算去弄个 vmware 了。
10699 次点击
所在节点    Windows
60 条回复
learningman
2021-07-22 20:02:22 +08:00
wsl2 依赖于 hyper-V,你打算怎么禁。。。
learningman
2021-07-22 20:02:38 +08:00
docker 你用 WSL 后端呗
join
2021-07-22 20:04:10 +08:00
@learningman 就是用 wsl 后端,添加或删除服务可以禁掉 hyper 管理端的。
Jirajine
2021-07-22 20:09:00 +08:00
恰恰相反,我觉得 hyper-v 的网络配置应该是最直观的。
论用户体验肯定不如 VMware workstation/parallels 这种专为桌面用户打造的商业产品,libvirt qemu/kvm 那一套也是一样。
join
2021-07-22 20:10:55 +08:00
@Jirajine 配置容易,但是要干点事情就拉跨了。。。
sky96111
2021-07-22 20:16:12 +08:00
确实是个大坑,Windows 内部组件分割的稀裂。开了 HV 网络将无法调整公共网络和专用网络。甚至有时候防火墙会阻止宿主机访问虚拟机,有时候又不会,还要手动配置防火墙规则。前几天突然无论如何都访问不到虚拟机资源了,关防火墙、改桥接无线网卡都没有用,气的直接换 Linux 作主系统了
noparking188
2021-07-22 22:23:14 +08:00
我还在用 wsl1,不过 vscode 老是提醒我赶紧切换到 wsl2
我开 docker 它提示是用的 wsl2 做引擎,具体也不懂,我都在 powershell 里使用 docker 命令
感觉 windows 作为开发主力最好再搞台 Linux 服务器
webshe11
2021-07-22 22:31:29 +08:00
老夫从来都是 LTSC + VMware 一把梭 就是干
Yadomin
2021-07-23 01:22:36 +08:00
Public 和 Private 的网络仅限 Get-NetConnectionProfile 中出现的接口可以使用 Set-NetConnectionProfile 修改
这个是永久的,设置了就不用了管了
其他接口想要关闭防火墙需要 Set-NetFirewallProfile -DisabledInterfaceAliase "Interface Name"
这个是一次性的,重启需要重新设置
hanxiV2EX
2021-07-23 01:56:27 +08:00
我换回 vbox 了
jedihy
2021-07-23 02:16:06 +08:00
1. hyper-v 的宿主机并没有被虚拟化。
2. 文件共享 enhanced session 你可以直接 ctrl+c 。在虚拟机设置里面,Integration services 里面勾上 guest service,自动映射 host 的所有磁盘到虚拟机。
3. Internal 模式的 vmswitch 只有主机和同在这个 switch 下面的 vm 才能互访。
Yadomin
2021-07-23 02:26:56 +08:00
Routeros
2021-07-23 02:55:36 +08:00
hyper-v wsl 不会用第二次的人路过
efaun
2021-07-23 03:23:50 +08:00
@sky96111 #6 我用 wsl2 安装的 docker,python 容器除了 22 端口以外,其他都无法访问,bridge 和 host 网络都不行,但是 java 容器的所有端口都能访问,太迷惑了,我防火墙都是关的
owwlo
2021-07-23 03:31:34 +08:00
@Yadomin 原来是这样[震惊脸]!终于明白了为什么说有些游戏的反作弊插件会在开启 hyper-v 的宿主机上检测为运行在虚拟机里!
jedihy
2021-07-23 04:32:06 +08:00
@Yadomin
@owwlo
只是逻辑上是 hypervisor 在 host 下面。VM 都是跑在 host 的 vmwp 进程里面。host 对物理 cpu 和内存是 direct access 。
jedihy
2021-07-23 04:55:19 +08:00
@Yadomin
@owwlo
嗯,我说错了。还真是虚拟机。
gBurnX
2021-07-23 05:14:00 +08:00
要玩物理机虚拟化,建议还是 VMware ESXi,毕竟是地球上虚拟化一哥。其他品牌多多少少有问题,特别是某国内品牌,连个集群关机的功能都没有,关机还要拼手速,简直就是搞笑。
echo1937
2021-07-23 08:34:57 +08:00
我是因为 vagrant 来使用 hyper-v 的,
VMware 的 provider 需要额外购买插件,
vbox 还要额外安装就使用了 hyper-v,

结果 vagrant 功能支持上有一堆限制,
比如不能指定虚拟机的 ip 地址,管理界面也难用,
用户体验差 VMware 和 vbox 一大截,
内存自动扩展算是一个优势吧,
估计除了 Azure 自家,市场份额小得很。
KaynW
2021-07-23 08:59:10 +08:00
docker 和 hyper-v 不能共存 ??? 问号脸

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/791142

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX