一、购买GPU服务器,卸载cloudbase-init,确保安装了tat,修改主机名,安装Grid14显卡驱动,做镜像
购买整卡GPU服务器(不要切分卡,比如GN7vw,不要1/8、1/4、1/2卡,要整卡,整卡的显卡驱动比较自由),购买时选Server2019纯净版系统
买的时候注意设置复杂密码,注意勾选自动化助手(TAT)
如果购买过程中忘记勾选了,买下后可以参考文档安装
https://cloud.tencent.com/document/product/1340/51945
TAT运行正常后 → 卸载cloudbase-init、禁用光驱、设置Print Spooler服务开机启动 → 修改主机名
①运行services.msc在服务列表查看有tatsvc
②运行appwiz.cpl从程序列表卸载cloudbase-init
卸载后通过TAT来重置密码
net user Administrator "新密码"
是要带英文双引号的,不要去掉
打开cmd或powershell执行sc.exe config Spooler start= auto设置打印服务开机启动
运行devmgmt.msc打开设备管理器禁用qemu光驱
③运行sysdm.cpl修改主机名,重启生效
由于3D类软件需要Grid驱动,Grid驱动是收费的,想办法弄到较新的Grid驱动安装文件
公网上的grid驱动不好找(nvidia官网并不会直接对外,这个是收费的),从https://veil-update.mashtab.org/drivers/nvidia_drivers/ 找到一个grid14.0不清楚能不能用
https://veil-update.mashtab.org/drivers/nvidia_drivers/NV_GRID_14/511.65_grid_win10_win11_server2016_server2019_server2022_64bit_international.exe
Grid14.2不适用2016,适用win10、win11、server2019、server2022
文件名:513.46_grid_win10_win11_server2019_server2022_64bit_international.exe
从文件名也能看出其适用范围,就是没有server2016
而比它低的Grid14.1和Grid14.0则支持server2016
Grid14.1(版号512.78)
文件名:512.78_grid_win10_win11_server2016_server2019_server2022_64bit_international.exe
grid14.0(版号511.65)
文件名:511.65_grid_win10_win11_server2016_server2019_server2022_64bit_international.exe
从这里查看Grid驱动支持的显卡型号
https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html
搞好驱动后,关机制作镜像(其实就是快照1),以免后面出错可以再回到这个节点
二、安装UG NX10.0,做镜像
可费了大劲了,差点就花钱找人弄了
http://ug.yunlanw.cn/
最后我还是没舍得花钱,多花了些时间试错终于搞定了,落成了文档
https://cloud.tencent.com/developer/article/2139789
安装好后关机制作镜像(其实就是快照2),以免后面出错可以再回到这个节点
三、安装IIS、远程桌面服务、配置域控,做镜像
1.安装IIS
https://cloud.tencent.com/developer/article/1557571
Get-WindowsFeature -Name NET-*, Web-* | where {$_.Name -notmatch "Ftp|Web-Application-Proxy"} | Install-WindowsFeature
配置权限:C:windowstemp目录加IIS_IUSRS的完全权限
2.安装远程桌面服务
https://cloud.tencent.com/developer/article/1598570
Get-WindowsFeature -name rds-rd-server,*rds-licensing*|Install-WindowsFeature
蓝色的那个远程会话主机可以不用选(选了的话,在后面安装RemoteApp时会出现3个子任务分别是成功、失败、已取消,不过也没关系,不影响RemoteApp的发布和使用)
用Get-WindowsFeature -name *rds-licensing*|Install-WindowsFeature是没问题的,3个子任务都是成功的
其实用Get-WindowsFeature -name rds-rd-server,*rds-licensing*|Install-WindowsFeature也挺好的,虽然后面2个子任务不成功,但不影响最终发布RemoteApp
这2个不成功对我来说是挺好的,因为已发布是空白的,我就喜欢这种干净的
这2个成功,会自动发布下图圈出的那3个,另外2个是我后来手动发布的
激活授权服务器
运行licmgr打开RD授权管理器,参考上述文档激活之,即搞定文档里的第二步即可
剩下的第三步在配置完域控 → 安装了RemoteApp后补上
有点绕,如果完全按照文档https://cloud.tencent.com/developer/article/1598570执行Get-WindowsFeature -name rds-rd-server,*rds-licensing*|Install-WindowsFeature,激活授权服务器和配置授权一并就搞了,但为了后面安装RemoteApp时不报错,就分2步进行了,先执行Get-WindowsFeature -name *rds-licensing*|Install-WindowsFeature,再等最后安装完RemoteApp搞lsdiag.msc配置授权。
3.配置域控
https://cloud.tencent.com/developer/article/1925795
执行命令过程中的黄色msg都忽略
Install-WindowsFeature -Name DNS -IncludeManagementTools;Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools;Install-ADDSForest -SafeModeAdministratorPassword (ConvertTo-SecureString -AsPlainText "tRtanj9jw0luE_zf" -Force) -CreateDnsDelegation:$false -DatabasePath "C:WindowsNTDS" -DomainMode "7" -DomainName "kylinchina.local" -DomainNetbiosName "KYLINCHINA" -ForestMode "7" -InstallDns:$true -LogPath "C:WindowsNTDS" -NoRebootOnCompletion:$false -SysvolPath "C:WindowsSYSVOL" -Force:$true
以上都完成后,关机制作镜像(其实就是快照3),以免后面出错可以再回到这个节点
四、配置RemoteApp,做镜像
前几步做完就是这效果,7个全绿
然后"添加角色和功能"
默认没勾选,勾选后"部署"按钮会变亮,点一下它
耐心等待过程自动结束,过程中可能会自动重启,不用管,一定要等到自动结束,最后的结果,如果出现线图出现下图,忽略图中的失败和已取消
五、发布RemoteApp
安装已经完成,接下来发布RemoteApp即可,打开服务器管理器servermanager
服务器管理器远程桌面服务集合QuickSessionCollection
左上侧最底下的"远程桌面服务" → "集合" → "QuickSessionCollection"
中间部分有个“发布RemoteApp程序”
发布完成后,还需要调试IIS里的RDWeb站点
运行inetmgr打开IIS管理器,一层一层展开到RDWeb站点,右侧有"浏览*:443(https)"点一下
跳转到https://localhost/RDWeb
点开详细信息 → 转到此网页
忽略地址栏证书错误,直接填用户名和密码
这里提一下,如果没有前面安装IIS后C:windowstemp目录加IIS_IUSRS的完全权限的步骤,点开详细信息 → 转到此网页,会报错如下
原因就是C:windowstemp没有IIS_IUSRS用户的权限(默认有IIS_IUSRS,但一个都没勾选)
用户名得带上域,例如
登上后就是下面这样
点一下NX10.0的图标 → 连接
不一会儿(大概10秒左右)就打开了
以上测试是在域控进行的,发布RemoteApp肯定是给域成员用的,域成员验证的话,就是在浏览器里访问这个地址http://域控计算机名全名/RDWeb或者http://域控内网IP/RDWeb
由于我配的域控计算机全名是UGNX.kylinchina.local,内网IP是10.255.4.52
所以我在域成员上就访问http://UGNX.kylinchina.local/RDWeb 或http://10.255.4.52/RDWeb (建议后者,因为重启域控后,域相关的域名解析刷新DNS有个过程,IP比域名反应快)
访问的时候,http会自动跳转到https
用户名:kylinchinaAdministrator
密码:域控的密码
我搞了2台域成员机器,每台机器配了2个用户,4个用户同时打开RemoteApp很正常
【Computer1】Server2019系统
NET USER "testuser1" "Passwd@tt001" /ADD /Y
NET LOCALGROUP "Remote Desktop Users" "testuser1" /ADD
wmic.exe UserAccount Where Name="testuser1" Set PasswordExpires="false"
NET LOCALGROUP "Administrators" "testuser1" /ADD
NET USER "testuser2" "Passwd@tt002" /ADD /Y
NET LOCALGROUP "Remote Desktop Users" "testuser2" /ADD
wmic.exe UserAccount Where Name="testuser2" Set PasswordExpires="false"
NET LOCALGROUP "Administrators" "testuser2" /ADD
【Computer2】Server2019系统
NET USER "testuser3" "Passwd@tt003" /ADD /Y
NET LOCALGROUP "Remote Desktop Users" "testuser3" /ADD
wmic.exe UserAccount Where Name="testuser3" Set PasswordExpires="false"
NET LOCALGROUP "Administrators" "testuser3" /ADD
NET USER "testuser4" "Passwd@tt004" /ADD /Y
NET LOCALGROUP "Remote Desktop Users" "testuser4" /ADD
wmic.exe UserAccount Where Name="testuser4" Set PasswordExpires="false"
NET LOCALGROUP "Administrators" "testuser4" /ADD
入域前需要把首位DNS改成域控的内网IP,我的是10.255.4.52
执行powershell命令修改
(get-wmiobject -class win32_networkadapterconfiguration -filter ipenabled=true).SetDNSServerSearchOrder(('10.255.4.52','183.60.83.19','183.60.82.98'))
如何入域?运行sysdm.cpl改域 → 弹窗后输入域控的账号密码
只是测试RemoteApp的打开速度似乎没啥意思,速度完全正常
一开始我买的GPU渲染型GN7vw,GN7vw.4XLARGE32,后来不小心误删除了,又买了GPU渲染型GNV4v,GNV4v.7XLARGE116,正好也对比了下,T4卡和A10卡在NX10.0和Blender上有没有差异。
安装NX10.0的域控系统盘只有100G SSD云盘,按官网的公式计算性能,吞吐是140MB/s
https://cloud.tencent.com/document/product/362/2353#.E6.80.A7.E8.83.BD.E6.8C.87.E6.A0.87.3Ca-id.3D.22performance.22.3E.3C.2Fa.3E
由于本人不会用NX(工业设计软件,太专业了,我能安装上就不错了),只是测试打开RemoteApp的速度太没意思了,最好能实际用一下,不用也不知道是否用到显卡了,正好我之前研究过blender这个三维动画软件,会一点点,写过文档:https://cloud.tencent.com/developer/article/2136452
于是我干脆在域控上也安装了blender,想试试把它也发布RemoteApp,准备用用它,看看对域控GPU机器的显卡造成的负载高低。
多个域成员机作为客户端调用RemoteApp,打开软件速度正常,多个客户端调用渲染,观察服务端的任务管理器 → 性能页签左下角的GPU监控指标能看到利用率变化明显(我那个渲染任务就1分钟)
跑渲染的时候百分之几十,不跑的时候0%
使用服务器过程中,每次登录管理员用户都弹服务器管理器界面挺烦的,可以执行这句命令关闭这个机制
代码语言:javascript复制reg add "HKLMSoftwareMicrosoftServerManager" /v "DoNotOpenServerManagerAtLogon" /d 1 /t REG_DWORD /f
不同操作系统的域成员机器14台,每台域成员有2个Administrator之外的本机用户,15个域用户 28个会话,以单个域用户shawyang访问remoteapp,不存在打开慢的问题 28个会话,以test1-test14这14个域用户访问remoteapp,不存在打开慢的问题