V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nfroot
V2EX  ›  问与答

Windows 虚拟分区最节约资源的方式如何实现?

  •  
  •   nfroot · 2016-12-21 19:17:33 +08:00 · 1946 次点击
    这是一个创建于 2875 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景,某云主机,数据盘就一个,还不能增加一个数据盘。现在想虚拟一个 E 盘出来(不讨论意义,主要是有个工具需要 E 盘)

    要求性能损失最小,比较喜欢用文件夹去虚拟一个盘……也因为是服务器,并不是随时都会有一个在登陆的用户,所以要登陆用户后才能用的也不行……(不过如果可以用计划任务或者服务绕过也行)

    目前已经考虑到的 2 个方法,在性能上应该没什么损失(本身就是虚拟机了,不想再损失性能了)
    1.subst ,从 dos 时代到现在都可以用,直接是把某个文件夹虚拟成一个盘,缺点:丢到计划任务里无法创建虚拟盘,原因不明。
    2.新建一个极小的 VHD ,加载上去,然后使用 jonction/mklink 把 D 盘某文件夹虚拟到 E 盘。( VHD 会损失性能)
    19 条回复    2016-12-22 00:46:22 +08:00
    nfroot
        1
    nfroot  
    OP
       2016-12-21 19:19:57 +08:00
    有没有好建议?
    wevsty
        2
    wevsty  
       2016-12-21 19:29:51 +08:00   ❤️ 1
    只是需要 E 盘这样一个标识符的话,可以直接磁盘管理里面给现有分区加上一个 E 的标识符。没有任何性能损失。
    nfroot
        3
    nfroot  
    OP
       2016-12-21 19:32:41 +08:00
    @wevsty 我以前也理所当然的以为可以这样做(因为平时那个按钮不是禁用的),但是点进去才发现……是无法做到的,添加的话。只能成为虚拟文件夹
    Osk
        4
    Osk  
       2016-12-21 19:37:20 +08:00 via Android   ❤️ 1
    既然 vhd 都没咋使用,将文件夹 link 到 d 盘了,那 vhd 应该不至于影响太多性能吧
    nfroot
        5
    nfroot  
    OP
       2016-12-21 19:39:58 +08:00
    @Osk 这是我经过考虑后想出的办法,不知道有没有其他更好的,大家一起开动思路嘛。
    wevsty
        6
    wevsty  
       2016-12-21 19:42:03 +08:00   ❤️ 1
    @nfroot 哦,没注意这个限制。那换一种方法。
    吧指定文件夹设置成共享文件夹,然后再我的电脑这个图标右键映射本地共享文件夹为 E 盘即可。
    本地 SMB 性能应该是不差的
    lslqtz
        7
    lslqtz  
       2016-12-21 19:53:54 +08:00   ❤️ 1
    那你直接把盘符修改成 E 盘就好了。。
    这是啥工具。。这么 BT
    nfroot
        8
    nfroot  
    OP
       2016-12-21 19:54:19 +08:00
    @wevsty 服务器不一定会登陆用户,如果没登陆,映射磁盘不会出现的。
    nfroot
        9
    nfroot  
    OP
       2016-12-21 19:56:43 +08:00
    @lslqtz 额,其实就是个服务商的工具,可以备份整套站点和其他(也能开站点啥的,比较傻瓜化),所以最小折腾的情况下觉得用一下也不错……如果服务器系统出故障,用那工具重建的时候比较有效率(主要是简单粗暴……)

    小弟技术确实不大好,也就不多折腾了
    lslqtz
        10
    lslqtz  
       2016-12-21 20:00:27 +08:00   ❤️ 1
    @nfroot 没必要,导出 sql 压缩整站就好了。。
    开站点还是多折腾折腾 nginx 好,如果是 iis 就给个差评了。。
    xD
    nfroot
        11
    nfroot  
    OP
       2016-12-21 20:10:22 +08:00
    @lslqtz 服务商开发的 OA 是 ASP.NET 的,除了 IIS 也没办法用其他服务器软件(或许 MOMO 可以,但是感觉没那个必要绕远路),本来想用 nginx 挂个 http2 ( IIS 该版本不支持),结果这破玩意只能用在老 IE ,也就没折腾的必要了……

    这些开发系统的,有时候拿他们真没办法……随手看代码就知道水平了,只能自己这边多操心下。(比如首页文件有个 index.js ,却在 html 文件里又写上一堆基础型 js 内容[而不是放 js 文件里],首页还有一大堆 style 标签里写的 css ,也不知道引用一个 css 文件[一个 css 文件都没引用])

    跟他讲要上 HTTPS,异地备份,他说接触了“这么多客户”,从没谁做过这么多防护,哭笑不得,领导自己找的供应商,强行合作的。

    没办法只能自己多做点了。
    lslqtz
        12
    lslqtz  
       2016-12-21 20:13:41 +08:00   ❤️ 1
    @nfroot iis 我表示真恶心。。
    赶紧走人啊妈蛋
    nfroot
        13
    nfroot  
    OP
       2016-12-21 20:21:46 +08:00
    @lslqtz 要淡定要淡定,我毕竟不是程序员啊……就把它当做一个普通软件用就好啦。(程序也不用我去改)
    wevsty
        14
    wevsty  
       2016-12-21 20:28:06 +08:00   ❤️ 2
    @nfroot
    用命令挂载可以做到不登陆就挂载
    net use e: \\127.0.0.1\d
    我放到任务计划启动是 OK 的,就是得稍微延时一下。另外 UAC 开启的状态下管理员权限和非管理员权限的访问情况可能有点区别,这点需要你自己注意。
    如果说这个还不能满足的话可以看看
    https://github.com/dokan-dev/dokany/blob/master/README.md
    lslqtz
        15
    lslqtz  
       2016-12-21 22:05:01 +08:00
    @wevsty 好评
    Arnie97
        16
    Arnie97  
       2016-12-21 23:48:11 +08:00 via Android   ❤️ 1
    @wevsty 没必要用本地跑 SMB 的 Workaround 吧…

    你们都没听说过 subst 吗?(请自行在 cmd 里"subst /?")
    Arnie97
        17
    Arnie97  
       2016-12-21 23:49:33 +08:00 via Android   ❤️ 1
    @wevsty 好吧,没仔细看楼主的最后一条…
    Arnie97
        18
    Arnie97  
       2016-12-21 23:59:12 +08:00 via Android   ❤️ 1
    对了,改注册表可以实现类似 subst 的效果且重启后盘符不会消失 ,参见 https://en.wikipedia.org/wiki/SUBST#Persisting_across_reboots
    nfroot
        19
    nfroot  
    OP
       2016-12-22 00:46:22 +08:00
    @Arnie97 简单粗暴很好用,已发射感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3367 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.