Azure Data Science Virtual Machine 的已知问题和故障排除方法
本文可帮助你查找和更正使用 Azure Data Science Virtual Machine 时可能遇到的错误或失败。
Ubuntu
无法连接到桌面环境
如果可以通过 SSH 终端(而不是 x2go)连接到 DSVM,则可能是在 x2go 中设置了错误的会话类型。 要连接到 DSVM 的桌面环境,您需要将 x2go/session preferences/session 中的会话类型设置为 XFCE。 目前不支持其他桌面环境。
使用 x2go 连接到 DSVM 时,字体看起来错误
如果连接到 x2go 时某些字体看起来错误,这可能与 x2go 中的会话设置相关。 连接到 DSVM 之前,请取消选中会话首选项对话框的“输入/输出”选项卡中的“设置显示 DPI”复选框。
提示输入的密码未知
如果创建 DSVM 时将“设置身份验证类型”为“SSH 公钥”(建议使用密码身份验证)时,将不会为您提供密码。 但是,在某些情况下,某些应用程序仍将要求你输入密码。 运行 sudo passwd <user_name>
来为某些用户创建新密码。 使用 sudo passwd
,可以为根用户创建一个新密码。
运行这些命令不会更改 SSH 的配置,允许的登录机制将保持不变。
运行 sudo 命令时提示输入密码
在 Ubuntu 计算机上运行 sudo
命令时,系统可能会多次要求你输入密码,以确认你确实是登录用户。 此行为是预期行为,这是 Ubuntu 中的默认设置。 但是,在某些情况下,不需要重复身份验证,因为这很麻烦。
若要对大多数情况禁用重新身份验证,可以在终端中运行以下命令。
echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers
重启终端后,sudo 不会再次要求登录,并且会认为来自会话登录的身份验证已足够。
无法将 docker 用作非根用户
若要将 docker 用作非根用户,你的用户需要是 docker 组的成员。 可以运行 getent group docker
命令来检查属于该组的用户。 若要将用户添加到 docker 组,请运行 sudo usermod -aG docker $USER
。
Docker 容器无法通过网络与外部交互
默认情况下,docker 将新容器添加到所谓的“桥接网络”,即 172.17.0.0/16
。 如果此桥接网络的子网与 DSVM 的子网重叠或者与你的订阅中的另一个专用子网重叠,则主机和容器之间可能无法进行网络通信。 在这种情况下,将无法访问容器中运行的 Web 应用程序,并且无法通过 apt 更新包来更新容器。
若要解决此问题,需要重新配置 docker,以将 IP 地址空间用于其特定桥接网络,即不会与订阅的其他网络重叠的桥接网络。 例如,
"default-address-pools": [
{
"base": "10.255.248.0/21",
"size": 21
}
]
通过添加到 /etc/docker/daemon.json
文件中包含的 JSON 文档,docker 会向桥接网络分配另一个子网。 (需要使用 sudo 编辑此文件,例如通过运行 sudo nano /etc/docker/daemon.json
。)
更改后,需要运行 service docker restart
来重启 docker 服务。
若要检查更改是否生效,可以运行 docker network inspect bridge
。 IPAM.Config.Subnet 下的值应该对应上面指定的地址池。
docker 容器中的 GPU 不可用
DSVM 上安装的 docker 默认支持 GPU。 但是,必须满足一些先决条件。
- 显然,DSVM 的 VM 大小必须至少包含一个 GPU。
- 使用
docker run
启动 docker 容器时,需要添加 --gpus 参数,例如--gpus all
。 - 包含 NVIDIA A100 GPU 的 VM 大小需要安装其他软件包,尤其是 NVIDIA Fabric Manager。 这些包可能尚未预安装在你的映像中。
Windows
虚拟机第 2 代 (Gen 2) 无法工作
当你尝试基于虚拟机第 2 代 (Gen 2) 创建数据科学 VM 时,它会失败。
当前,我们仅针对第 1 代虚拟机,基于 Windows 2019 Server 维护和提供数据科学 VM 的映像。 尚不支持 Gen 2,我们计划在不久的将来提供支持。
访问 SQL Server
尝试连接到预安装的 SQL Server 实例时,可能会遇到“登录失败”错误。 若要成功连接到 SQL Server 实例,需要在管理员模式下运行要连接的程序,例如 SQL Server Management Studio (SSMS)。 管理员模式是必需的,因为根据 DSVM 的默认设置,只允许管理员进行连接。
Hyper-V 不起作用
该 Hyper-V 最初在 Windows 上不起作用是预期的行为。 为了保障启动性能,我们禁用了一些服务。 若要启用 Hyper-V:
- 请在 Windows DSVM 中打开搜索栏
- 键入“服务”,
- 将所有 Hyper-V 服务设置为“手动”
- 将“Hyper-V 虚拟机管理”设置为“自动”
最终屏幕应如下所示: