V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
123go
V2EX  ›  程序员

全程工作在虚拟机环境下是否可行?

  •  
  •   123go · 37 天前 · 5054 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于平时需要多个项目和工作事项来回切换,每次都要重新打开和关闭一堆的工具和文件。 本来想找一下是否有某种软件可以保存所有的应用程序和文件的打开状态,可以在多个状态间快速切换,最终没找到。 于是我就想,是不是可以用虚拟机+快照的方式来满足这种需求。 对于需要多快照间共享的文件或配置,使用 onedrive 或局域网共享盘来解决。

    53 条回复    2022-07-08 13:48:42 +08:00
    kwanzaa
        1
    kwanzaa  
       37 天前
    有点折腾,多账户不能满足吗?
    Puteulanus
        2
    Puteulanus  
       37 天前
    多桌面,全打开,就别关了?
    alen_v
        3
    alen_v  
       37 天前
    大内存,多桌面 是个办法。
    nothingistrue
        4
    nothingistrue  
       37 天前
    全程工作在唯一一个虚拟机环境下是可行的,hyper-v 虚拟机除了 ctrl+alt+* 组合键用不了、(因为只有远程桌面连接这一种方式造成的)锁 30 帧之外,跟宿主机就没区别了。多个虚拟机随时切换就太困难了。
    AS4694lAS4808
        5
    AS4694lAS4808  
       37 天前
    上 64G 内存,开它 5 个 10 个 vmware 虚拟机,共享文件设置到一个宿主机的文件夹,应该能解决吧,不需要用到快照。
    123go
        6
    123go  
    OP
       37 天前
    @nothingistrue #4 我想的就是只用一个虚拟机,通过快照的方式进行多状态的切换。

    其他几个朋友提到的多桌面或多用户的方式,我内存 32G 应该还差不多,只不过我 cpu(i5-9400)可能吃不消。
    lower
        7
    lower  
       37 天前
    云桌面

    记得以前干外包的时候,华为云桌面部门经常发帖诉苦说云桌面资源不足,让大家省着点用,要收回有的人手上多余的云桌面资源😂
    评论里经常有人怼,说自己工作好几台都还不够用……
    nothingistrue
        8
    nothingistrue  
       37 天前
    @123go Hyper-v 的快照是类似于 Docker 镜像的层叠模式,其他虚拟机的快照估计也类似。这种方式不适合做来回切换。
    darklights
        9
    darklights  
       37 天前
    可行,不需要快照,直接挂起虚拟机就行。虚拟机之间互通,有共享文件夹和共享剪贴板。


    问题也有:
    内存要够多
    显示性能低下
    切换程序非常繁琐

    (仅以 VMware 为例,hyper-v 没用过)
    hanssx
        10
    hanssx  
       37 天前
    可行,看我之前提问的帖子 https://www.v2ex.com/t/847541 ,有些朋友已经这么做了,我正在弄。
    为了提高性能,直通 CPU+Nvme+独显(由于 12 代核显还没支持那么完善,目前是直通独显,10 系有 VBIOS 可以提取 https://github.com/Matoking/NVIDIA-vBIOS-VFIO-Patcher)

    工作方式是放到公司,加 UPS ,加上智能插座控制来电断电,配合主板 ac recovery 能远程开关机,平时工作日 5*24 开机,硬件选得是 12 代,如果不嫌声音或者能处理成静音风扇也可选择服务器 U 组装。

    VPN 到公司内网,内网再通信 RDP/XRDP/VNC/Parsec/串流随便搞了。

    目前还在直通独显的工作中,折腾吧。
    123go
        11
    123go  
    OP
       37 天前
    @nothingistrue #8 不太理解为什么不适合来回切换,是因为切换有时间成本吗?
    nothingistrue
        12
    nothingistrue  
       37 天前
    层叠模式下的存储,假定是这些快照,10 点的快照->11 点的快照->12 点的快照,12 点快照要依赖 11 点快照,11 点的要依赖 10 点的。如果这时候你切回了 10 点的快照,那么 11 点、12 点的快照就作废不能用了。

    当然有方法能弄成 a -> a1, a -> a2 ,a -> a3 ,在 a1 、a2 、a3 之间来回切换的快照存储方式。不过这种形式下你得手动保存和开启快照了,说句实话,手动保存快照,要比切换虚拟机慢,而且可能慢上好几倍的时间。
    sarices
        13
    sarices  
       37 天前
    直接不关机就可以了
    junmoxiao
        14
    junmoxiao  
       37 天前
    用链接克隆搞多个虚拟机即可,快照不方便
    thtznet
        15
    thtznet  
       37 天前
    PVE 下的客户机做工作站,2 年没关过机了,RDP 一连就干活,下班直接×掉 RDP 。
    HughRyu
        16
    HughRyu  
       37 天前
    必须可行
    VYSE
        17
    VYSE  
       37 天前
    多台 WINDOWS+mstsc, 无缝复制粘贴, 包括 object 复制, 最好每个 mstsc 独占一个显示器, Synergy 也可以多屏多系统无缝输入, 但复制粘贴上差一些, 弃坑 stick to 多 mstsc 了
    lostsquirrelX
        18
    lostsquirrelX  
       37 天前
    ubuntu workspaces?
    documentzhangx66
        19
    documentzhangx66  
       37 天前
    我就是这样做:

    1.第一阶段是单机,大内存,多虚拟桌面。
    但是后来发现,电脑长期不重启,经常会出现 bug ,比如鼠标右键菜单,无法弹出;图标无法拖动等等。
    documentzhangx66
        20
    documentzhangx66  
       37 天前
    2.第二阶段,用虚拟机,把微信、QQ 等容易出问题的软件,专门放在一个虚拟机内执行。
    documentzhangx66
        21
    documentzhangx66  
       37 天前
    3.第三阶段,彻底分离:
    Word 、Excel 等 Office 专用虚拟机、上网专用虚拟机、微信 QQ 等 IM 专用虚拟机。
    cheng6563
        22
    cheng6563  
       37 天前
    反正别用 Hyper-V 就行了
    amlee
        23
    amlee  
       37 天前
    win10
    win + tab
    新建桌面,重命名桌面。

    然后电脑永不关机
    fanyingmao
        24
    fanyingmao  
       37 天前
    试过在虚拟机下用 Ubuntu 开发,卡得要死。
    charlie21
        25
    charlie21  
       37 天前
    我的工作区的大部分是从终端进入工作目录,而终端工具 tmux 可以在启动时自动恢复 session (每个 session 有自己的 window, panel ,直达某个本机路径 /文件夹),恢复之后相当于在终端里自动打开多个路径。这种路径恢复让我避免了一次一次打开文件夹,对我而言已经达到了 1 恢复工作区 2 不必担心某个工作区无法恢复 的效果,同时非常轻量级
    Iamsonny
        26
    Iamsonny  
       37 天前
    ubuntu+kvm+win10 ,反正 win10 就聊天看看股票啥的。
    软件打开多个项目分屏,切着方便 。前提是项目没有占用同个资源的。
    xingyuc
        27
    xingyuc  
       37 天前
    我见过一个公司,就是虚拟的,使用微软账号登录?服务器应该在本地,系统盘也隐藏了
    wudicgi
        28
    wudicgi  
       37 天前
    在 Windows 上, VirtualBox 的共享文件夹用起来感觉和虚拟磁盘有明显差别
    比如某些 .exe 程序在共享文件夹中直接运行会报错,文件也容易被另一边占用删除不了
    (Host OS 和 Guest OS 都是 Windows 10)

    用虚拟机工作,共享文件的最佳方式是什么?
    daliusu
        29
    daliusu  
       37 天前
    有什么不可行的,银行不少都这么干的
    yedanten
        30
    yedanten  
       37 天前 via Android
    可以 但不建议在多快照之间切换,拿其中一个快照克隆个新的虚拟机,虚拟机之间切换体验更好。
    ragnaroks
        31
    ragnaroks  
       37 天前
    可行,我工作机就是一个环境一个虚拟机,好多年了
    standin000
        32
    standin000  
       37 天前
    @nothingistrue 用远程桌面的话,视频都看不了吧,hyper-v 没有直通显卡吧
    hazardous
        33
    hazardous  
       37 天前
    我自己就是用 virtualbox 来安装 visual studio 开发的,因为这个玩意对操作系统入侵太严重了,几乎不能卸载,多版本共存更是噩梦。
    而且虚拟机恢复飞快,完美保持关闭状态。缺点就是占空间太大了,我 512g 的 SSD 有一半是虚拟机磁盘了
    hazardous
        34
    hazardous  
       37 天前
    完美保持关闭状态=》完美保持关闭前状态
    HankAviator
        35
    HankAviator  
       37 天前 via Android
    @lower 是的,给厂商或外包用的瘦客户端简直要命,瞎眼显示屏加卡的要死的系统
    hackpro
        36
    hackpro  
       37 天前 via iPhone
    Vmware macOS 不行 主要是显存搞不定
    很多 App 在 vmware 下会出现空白等诡异的行为 血与泪的教训😭
    shijingshijing
        37
    shijingshijing  
       37 天前
    Win 7 现在只能用虚拟机来运行了,不玩游戏其实很舒适的,如果是高分屏,要调整一下缩放比,其他暂时没什么大问题。
    charlie21
        38
    charlie21  
       37 天前
    @hazardous 请问虚拟机里 win + vs 初次安装完毕之后虚拟磁盘文件占用空间是多少 G
    imycc
        39
    imycc  
       37 天前
    看你需要开的是什么应用程序。
    如果仅仅是终端上的命令行程序的话,推荐用 tmux ,每个项目一个 session 。然后虚拟机不要关机,宿主机要重启的时候就挂起,再恢复就行了。
    tmux 还有一些会话管理插件,可以根据项目一次打开多个窗口和程序,不过我还没折腾过。
    imycc
        40
    imycc  
       37 天前
    PS:如果是文件的话,我用的 vscode 的远程插件,关闭的时候不要关文件,启动的时候会自动恢复。
    我写了个小脚本,在 vscode 打开终端的时候,会按照项目名称创建(或者重新打开) tmux 会话,所以除非重启虚拟机,一般都能维持状态。
    jones2000
        41
    jones2000  
       37 天前
    多显示器+远程桌面。 虚拟机不建议用,又卡又慢,还不如多搞几台实体机,一个项目一个台机器。
    dcsuibian
        42
    dcsuibian  
       37 天前
    个人使用的话,我不建议。
    1 、快捷键冲突或是不明确
    2 、虚拟机性能损耗
    3 、硬件问题,比如显卡、多显示器
    4 、如果是远程桌面的方式,那么视频质量也是个问题。即使优秀如 rdp ,色彩也会下降不少。

    总之太折腾了
    nothingistrue
        43
    nothingistrue  
       37 天前
    @standin000 #32 视频没问题,30 帧足够了,玩游戏不行(真锁 30 帧也能玩)。hyper-v 没有直通,但是有更方便的显卡虚拟化,它的主要问题是有显卡但没显示器(显示器只能是远程桌面,不提供其他连接方式)。
    123go
        44
    123go  
    OP
       36 天前
    @documentzhangx66 #21 多应用间的剪贴板和文件共享如何互通呢?
    123go
        45
    123go  
    OP
       36 天前
    @amlee #23 多桌面或多用户都需要应用保持运行状态,这对于重量级应用比如开发工具或数据库等,如果开多个实例,一般办公电脑根本吃不消啊
    123go
        46
    123go  
    OP
       36 天前
    @cheng6563 #22 我的工作平台是 windows 11 。我考虑过用 vmware ,但是 Hyper-V 作为微软自家的虚拟机,难道对于虚拟 windows 的表现,还不如 vmware 吗?
    123go
        47
    123go  
    OP
       36 天前
    @VYSE #17 我感觉即便是局域网的 mstsc ,使用体验也远不如虚拟机环境,主要还是有延迟。
    VYSE
        48
    VYSE  
       36 天前
    @123go #46 有线+G 网, WIFI 下体验极差, 我现在笔记本加 usb 网卡来搭
    cheng6563
        49
    cheng6563  
       36 天前
    @123go hyper-v 你去跑个分是很好很强大,但深度使用就是一堆坑等着你。
    比如毫无 GPU 加速,快照模式下 IO 性能稀烂,关机时卡死不动只能重启,虚拟机分配到和主机相同的 IP 导致双双断网。

    别信任微软在 Win7 之后出的软件。
    playboy0
        50
    playboy0  
       36 天前
    @cheng6563 Windows server 里面套软路由挺稳定啊,不明白你说的深度使用是什么呢?是指使用虚拟机特性
    tianzi123
        51
    tianzi123  
       36 天前
    最省心的是去咸鱼弄二手配件组几台,也就一千一台最多,然后直接局域网远程,项目完了直接卖了,没啥损失,再怎么折腾虚拟机也没这个方便,有这个时间成本去折腾的话想想下自己上班时薪是多少,我是搞不懂吃饭的家伙想法设法省钱的
    ltkun
        52
    ltkun  
       36 天前 via Android
    @cheng6563 胆子大一点 别信任微软的任何软件
    hazardous
        53
    hazardous  
       35 天前
    @charlie21 #38 我为了省空间,用的 xp 系统加 vs2010 (最后一个支持 xp 的 vs ),只装了 C++开发环境,和必要的 msdn 文档,不到 10 个 G ,具体多少忘记了……
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2449 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:35 · PVG 11:35 · LAX 20:35 · JFK 23:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.