虚拟机(实验性) - lyulyul/shine-cluster GitHub Wiki

虚拟机服务是实验性的。不确保以后会有,不确保操作方式不变。

在aha上你可以使用虚拟机。虚拟化技术由VirtualBox提供支持。(没钱买VMware)不管是VirtualBox还是VMware,它们都不支持GPU Passthrough。ref

一个用户同时运行的虚拟机总共占用的内存不得超过20GB,总共使用的CPU不得超过6个。

一个虚拟机实例的连续运行时间受制于集群简介#运行时间限制(总是有人忘记关机)请善用Save State功能(相当于休眠)

如果你本地电脑用Windows,你可能想要用Linux(Ubuntu)虚拟机;如果你本地电脑用Linux,你可以用Windows虚拟机;你也可以两者都用。如果你同时运行Windows虚拟机和Linux虚拟机,两者可以分别使用10GB内存和10个CPU,确保总量不超过限制。如果你只运行一台虚拟机,可以把20GB内存和20个CPU都给它。

前提条件:请配置GUI;否则你就必须使用VirtualBox命令行。本章节假设你已经配置了GUI。

在命令行输入virtualbox,打开VirtualBox图形界面。

Windows虚拟机

创建虚拟机

有两种方法创建Windows虚拟机实例。

法一:使用官方Windows镜像

服务器已经在/srv文件夹提供了WinDev2102Eval.ova,它是从https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ 下载下来的正版授权镜像。在VirtualBox图形界面选择File -> Import Appliance。

在Appliance Settings界面可以修改RAM、CPU等数值。如果双击没反应,可能是X11的问题,重启试试看。如果键盘输入没反应,你就当作已经输入了,按回车即可。 内存推荐8192MB,CPU 4个。

法二:使用管理员修改过的Windows实例

服务器已经在/srv文件夹提供了WinDev2102Eval文件夹,它是管理员按法1创建出来的虚拟机实例,但被管理员修改过。

修改内容:

  1. 设置用户名和密码均为User。
  2. 启用了Windows远程桌面。
  3. 界面语言从英文改成了简体中文。

把WinDev2102Eval文件夹复制到自己的家目录

rsync -a -h --progress /srv/WinDev2102Eval ~/

在VirtualBox选择Add,定位到~/WinDev2102Eval/WinDev2102Eval.vbox。

个人配置

不管用法1还是法2创建了虚拟机,都要自己做一些配置。

挂载个人文件夹

用法2创建的虚拟机默认挂载了管理员的文件夹。你要修改成你自己的,注意要勾选auto-mount。

配置Windows远程桌面访问

VirtualBox显示的虚拟机窗口效能不佳,可能有卡顿。所以你可以用虚拟机操作系统自带的远程访问。

如果虚拟机为Windows,可以配置Windows远程桌面访问。Ubuntu也可以通过Windows远程桌面协议访问Windows。

注意要配置TCP和RDP协议。其他地方不要动,Host Port要选择自己的lucky number,范围在[33000,34000)。

远程访问配置好后,以后开启虚拟机时,点击Start旁的Headless Start。过十几秒钟等虚拟机完全启动后,用本地电脑去访问Windows远程桌面。

用Headless Start,请确保不用时关机或Save State休眠。一个虚拟机实例的连续运行时间受制于集群简介#运行时间限制(总是有人忘记关机)

Linux虚拟机

如果你想要用Linux命令行,用docker就可以,不要创建虚拟机!如果你要用Linux桌面版,请继续收看。

在/srv下已经有了ubuntu-20.04.2.0-desktop-amd64.iso,这是Ubuntu 20.04 LTS桌面版的安装镜像。

请自行Google:virtualbox 安装ubuntu

远程连接到Ubuntu桌面的方式多种多样。RDP已被试验成功。在虚拟机Ubuntu命令行输入

sudo apt install xrdp
# 如果界面错乱地厉害,可以不输下面一行,直接重启虚拟机。
sudo systemctl enable --now xrdp

下面配置网络NAT。注意要配置TCP和RDP协议。其他地方不要动,Host Port要选择自己的lucky number,范围在[33000,34000)。

和Windows不同,如果要远程访问,自己必须先从虚拟机Ubuntu里面log out,否则远程访问就会黑屏。

https://linuxconfig.org/ubuntu-20-04-remote-desktop-access-from-windows-10