【避坑记录】--Hyper-V Server折腾小记,2楼更新了--直接在服务器端管理虚拟机

  • P
    Pyrrhus
    主要是看了这个贴,所以开始了一番折腾:https://www.hi-pda.com/forum/viewthread.php?tid=2226618
    【坑1】不是所有机器都能装Hyper-V Server的:
    首先,阿童木CPU是不能装的,至少上网本那代的CPU是不能装的。
    其次,AMD的CPU也有问题,至少我有一台DELL台式机会蓝屏,而比它更古老的奔腾却能安装。

    【坑2】Hyper-V管理器是有版本限制的:
    Hyper-V管理器是不能单独下载的,只能从系统选项安装。
    而且,Win7的Hyper-V管理器只能连接Hyper-V Server 2008R2,
    而Hyper-V Server2016必须要用Win10里的Hyper-V管理器连接,
    我没有win10,所以我只能装Hyper-V Server 2008R2。




    后面的坑都是一坑套一坑,所以就不单独罗列了。


    Hyper-V Server本身是没有管理工具的,必须要用其他电脑上的Hyper-V管理器连接管理,
    而这块的坑最大,但只要照着这个帖设置,肯定能连上:
    https://blogs.technet.microsoft.com/jhoward/2008/03/28/part-2-hyper-v-remote-management-you-do-not-have-the-required-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername/


    这个帖一共5部分:
    Part1是服务器端设置
    Part2是客户端设置
    Part3是Server Core服务器端设置(这就是Part1的命令行设置)
    其他2部分是疑难杂症,而事实上只有Part2才是最重要的。


    ====================================================


    安装就不啰嗦了,安装完设好网络,开远程后,
    第一步,添加本地管理员
    就是把运行Hyper-V管理器的电脑上的用户添加到服务器上。


    而问题是服务器需要复杂密码检查,而一般电脑的密码都是简单密码。
    所以需要禁用 Hyper-V Server 2008 R2 的复杂密码要求:
    1、在 cmd 中执行“secedit /export /cfg c:\sec.cfg”,导出安全策略的配置。
    2、使用记事本编辑刚才导出的安全配置文件,找到“PasswordComplexity”项将其设置值改为“0”,保存退出。
    3、执行“secedit /configure /db c:\windows\security\sec.sdb /cfg c:\sec.cfg /areas SECURITYPOLICY”将刚才修改的设置导回安全策略中。
    最后执行 gpupdate /force 强制刷新一下组策略即可!


    看上去可行,但事实上第二步会出问题,命令行输入notepad确实能够打开记事本,
    server 2016的记事本能正常编辑,但2008R2的记事本会忽略所有回车把文本挤在一起。


    所以需要共享文件夹:
    付权限:
    cacls c:\work /T /g everyone:F
    共享文件夹,全控制权限:
    net share work=c:\work /grant:everyone,full


    把sec.cfg放在共享目录里编辑好倒回,到这里才能把用户加好。
    而一旦加好用户,服务器端的设置基本就好了,因为Part1里设的那些权限管理员组都有,就不用设了。


    第二步,根据Part2设置客户端的权限


    第三步,打开Hyper-V管理器连接服务器,后面就和其他虚拟机操作一样了。


    番外篇,我装的2008R2比较老,没有网卡驱动怎么办?
    这就是windows的好处,先下个Win7的驱动,然后:
    pnputil.exe -a c:\drivers\*.inf -> 添加 c:\drivers\ 中的所有程序包



    -----------------------------------2018-05-09 更新-----------------------------------
    番外篇二,还是连不上,提示WinRM权限问题:


    1.启用WinRM服务(服务器、客户端同时启用)


    2.服务器以管理员方式启动CMD,运行:winrm quickconfig
    如果出现“访问拒绝”错误,请运行:
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

    3.客户端以管理员方式启动CMD,输入powershell回车,然后运行:
    Set-Item wsman:\localhost\Client\TrustedHosts -Value 192.168.0.*(换成你的服务器IP)
    如果出现“访问拒绝”错误,请给Administrator用户设个密码。
  • P
    Pyrrhus
    Hyper-V Server 上命令行能使用的命令可以参考这个:
    https://www.cnblogs.com/IPYQ/p/6800616.html

    ===========================================================
    把ESXi的虚拟机迁移到Hyper-V

    比预想的简单,先下载一个转换工具:http://starwindfreev2vconverter.en.softonic.com/download
    然后从ESXi服务器上把虚拟机文件下载下来(文件很大,是置备大小而不是实际大小)。
    然后用上面的软件转换一下(它可以把vmdk和vhd互转),
    复制到Hyper-V Server上的共享目录,然后重建一个虚拟机,指定该vhd文件即可。

    我试了一个XP,感觉比ESXi上快,也可能是心理作用。

    ===========================================================


    不使用Hyper-V管理器,直接在服务器端管理虚拟机

    服务器重启后,能不能在服务器端直接把虚拟机打开,而不用客户端?
    答案是可以的。
    2012R2版本以后PowerShell里直接内置了管理Hyper-V的命令,
    2008R2需要下载个补丁才能打开,地址在这:https://archive.codeplex.com/?p=pshyperv
    把下载文件里的sourcecode解压拷贝到server上,里面的所有ps1文件需要解除保护,可参考附图。
    然后在命令行输入:powershell,
    Import-Module “C:\ HyperV\HyperV.psd1” #导入HyperV模块
    完成后就可以控制虚拟机了,详细的命令可以看上面链接里的介绍。

    常用的命令:
    Get-VM #列出所有虚拟机
    Start-VM #启动虚拟机
    Stop-VM #关闭虚拟机




    ===========================================================


    这个机器怎么玩?
    首先,这本身就是一个NAS,上面共享的文件夹效果要比普通的NAS要好。
    其次,虚拟机克隆比较简单,只要把vhc复制一下,重新建个虚拟机就可以了。

    其他的还没想好。
  • c
    conru
    我怎么完全没看懂,我也用hyper安装了黑群晖,但是好像没有这么复杂啊,win10下添加组件,然后添加虚拟机,就可以用了,这么复杂是搞什么。
  • d
    danety
    学习一下,曾经也用过,后来发现还是直接专机专用比比较省事 iOS fly ~
  • r
    robbie_williams
    看来当初选择vmware是无比正确的 BABYMETAL
  • t
    techwind
    晕,这是要考试的节奏啊。
  • P
    Pyrrhus
    你这个类似Vmware workstation,而Hyper-V Server类似ESXi
  • P
    Pyrrhus
    当时装ESXi的驱动让我非常绝望。
  • r
    robbie_williams
    别用冷门家用机,我当时买了个联想的server
  • 2
    2314
    问个问题 如果hyperv server类似于exsi 那就是机器本身无系统的情况下就可以装么?另外 如果本身系统是windows 比如win10 那么建立虚拟机就是hyperv 与 hyperv server无关吧?HiPDA·NG
  • h
    helleon
    不能web管理的server都是耍流氓。纠结要不要esxi转PVE的路过
  • P
    Pyrrhus
    hyper-v是所有server版自带的,而hyper-v server就是把所有其他无关应用全部去掉,只留hyper-V,所以比较稳定。而且服务器资源可以尽可能地给虚拟机使用。

    所以hyper-v server和装普通系统是一样的。
  • P
    Pyrrhus
    不是自己用的,新出的千兆网卡没有相应的驱动。
  • s
    sunnywolf
    我n40L装win 2012,好像自带hyperv,也装了黑裙辉,稳定好几年了
  • P
    Pyrrhus
    你都可以远程桌面了,还要Web管理?
  • n
    ngok
    我怎么感觉像是穿越了,2008R2这不是好几年前的东西吗? iOS fly ~
  • 2
    2314
    回复13#Pyrrhus

    谢谢 我一直有一个目标 就是搞个家用服务器 常年开机 配置齐全 既是文件服务器 也是游戏机 扔在角落里 不管 只需要一根网线和电源

    然后 配一个小主机带显示器 所有操作都远程登录服务器操作 包括写东西 看电影 打游戏 如果现在显卡直通成熟的话 理论上是不是没啥致命问题了? 当然 不是说玩儿4k游戏 只玩儿1080p就是了 担心的家里面千兆网能否撑的起来带宽HiPDA·NG
  • x
    xin.h
    跟我一直的想法一样呀,就是从没行动过
  • s
    superflaner
    hyperv装上就卸了

    然后用exsi至今…

    另外楼主说的hyperv不是所有的机器都能装,其实这个是看CPU是不是支持虚拟化决定的
  • P
    Pyrrhus
    用Win7只能连2008R2,事实上2008R2以后的系统除了UI,其他变化不大。
  • y
    yunsword
    我最近也在搞hyper v server 2016+win10
    死活登陆不了服务器啊!按教程一步一步来的,有点崩溃了!
  • P
    Pyrrhus
    看主贴的链接,都有截图,应该连得上。不行的话先装server2016,然后开hyper-v,它本身就有管理器,2边对照着设置。
  • h
    helleon
    web界面我chromebook可以打开,ios也能打开,android也能打开,一台稍微不太破的电视机也能打开,不嫌磕碜的话甚至智能手表也能打开,而且不用装任何东西。远程桌面试试?
  • k
    kenchn
    马克,学习了。
  • 河之南
    马克学习
  • p
    packingbox
    我现在用黑群晖6.2版本的带的虚拟机也挺好用的,管理也简单,网页全部搞定。 iOS fly ~
  • 2
    2Bpencil
    好不容易装好hyper-v server,同意它的自动update,然后就再也无法远程访问了
  • 剑二十三
    pve pve
  • 郁鸟
    mark,虚拟机 iOS fly ~
  • y
    yuwenm16
    马克电脑上看 iOS fly ~
  • d
    drw_08
    何必用hyper v server呢?装个2016再开hyperv功能不就好了,家用单路主板4核顶天了吧?带gui的winsvr能占你多少资源啊…另外,为了照顾自己的电脑是win7而去装2008 r2的老板本,就为了能用自带hyperv console去远程管理,我是服气的…
  • y
    yrpen
    确实比较折腾,当初稀里糊涂给弄好了,已经不想再动了。目前正常运行了快200天 顶一顶
  • h
    hchua
    我记得我原来的e8400能装,现在的l5420倒不能装。l5420也是有vt-x指令集的
  • i
    ibmfans
    这个崩溃了数据还能拿回来吗?白裙灰不折腾 iOS fly ~
  • 谁家丢的西瓜皮
    标记一下吧
  • u
    umount
    回复1#Pyrrhus

    楼主你好,请教2个问题:
    1,我nas还想做htpc。装hyper-v server的话,电视机hdmi切到nas后,可以使用虚拟机的图形界面吗?还是只能看到hyper-v server的命令行?
    2,可以实现虚拟机1的win 10直通硬盘,然后nfs共享给虚拟机2的黑群晖吗?硬盘休眠怎么设置?我比较信任windows的硬盘休眠管理
  • m
    mexs
    很好,谢谢,上次折腾到一半放弃了HiPDA·NG
  • 姬神
    学习下hyper-V Server
  • 猛禽
    所以企业不用hyper V而选esxi是有原因的
  • P
    Pyrrhus
    1.hyper-v server本身不带控制台,必须在另外一台电脑上显示虚拟机的内容,事实上装完后根本就不会看这台机器,所以它就不支持图形界面,这也是我选hyper-v server而不是普通Server版。

    2.理论上是可以的,但我没试过。

    电源管理可以用Powercfg命令,用Powercfg /?|more看用法,东西挺多,但其实也比较简单。
    比如:
    POWERCFG -List #看电源计划列表
    POWERCFG -Change -hibernate-timeout-dc 10 #修改电池休眠时间为10分钟
  • P
    Pyrrhus
    我任何windows的机器都把自动更新关了,它非常耗资源,有时候还关不了机
  • u
    umount
    回复42#Pyrrhus

    谢谢!对第一点,好像安卓盒子有微软官方的远程桌面APP。这样应该可以用这种方式显示虚拟机win10的内容。但是作为htpc的话,不知道视频图像质量会损失多少。如果比较大就不划算了。是不是说,还想做htpc的话,只能选择一个带图形界面的host系统了?还有其它办法吗?
  • P
    Pyrrhus
    耗资源是一方面,另一方面是稳定,你用dism /online /get-features /format:table看一下,普通电脑都开了几十个功能,每一个功能都有可能被攻击,而它只开了6个服务,装完补丁裸奔就可以了。

    另外,2016比2008R2,只是能管理更多cpu,更多内存,集群管理更强,这些我都用不到啊。
  • P
    Pyrrhus
    当然可以啊,这本身就是windows系统,把硬盘挂在其他电脑上直接可以读写。
  • P
    Pyrrhus
    以前Hyper-V不成熟,
    但我觉得以后ESXi会往Hyper-V迁移,就像很多企业把Oracle换成SqlServer一样。
  • P
    Pyrrhus
    对,你直接远程桌面到虚拟机就可以了,现在的电脑性能虚拟机里放个视频应该足够了,可能瓶颈反而是网络。
  • 猛禽
    回复47#Pyrrhus

    就看这么些坑就够了,当年我在前公司用esxi根本没有这种事。只听说把Oracle换MySQL的,或者MSSQL换Oracle,很少有Oracle换MSSQL,能用得起Oracle的根本没有换MSSQL的理由。
  • l
    linlance2000
    我用windows 2012 直接就可以用了。没这么复杂呀。