다음을 통해 공유

排查 Azure Data Science Virtual Machine 的问题

本文介绍如何查找和更正使用 Azure Data Science Virtual Machine 时可能遇到的错误或失败。

Ubuntu

无法连接到桌面环境

如果你可以通过 SSH 终端连接到 DSVM,但无法通过 x2go 进行连接,则原因可能是 x2go 的会话类型设置有错误。 若要连接到 DSVM 桌面环境,请将 x2go/session preferences/session 中的会话类型设置为 XFCE。 目前不支持其他桌面环境。

使用 x2go 连接到 DSVM 时,字体看起来错误

特定的 x2go 会话设置可能会导致连接到 x2go 时某些字体看起来不正确。 连接到 DSVM 之前,请取消选中会话首选项对话框的“输入/输出”选项卡中的“设置显示 DPI”复选框。

提示输入的密码未知

可以将 DSVM 的“身份验证类型”设置设为“SSH 公钥”。 建议使用此设置,而不要使用密码身份验证。 如果使用“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 将不要求再次登录,因为它认为会话登录过程中执行的身份验证足以满足安全要求。

无法以非 root 用户身份使用 docker

若要以非 root 用户身份使用 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 代 DSVM 维护并提供基于 Windows 2019 Server 的 Data Science Virtual Machine (DSVM) 的映像。 尚不支持第 2 代,但我们计划在不久的将来提供支持。

访问 SQL Server

尝试连接到预安装的 SQL Server 实例时,可能会遇到“登录失败”错误。 若要成功连接到 SQL Server 实例,必须以管理员模式运行要连接的程序 - 例如,SQL Server Management Studio (SSMS)。 之所以需要管理员模式,是因为根据 DSVM 的默认行为,只有管理员可以连接。

Hyper-V 无法正常运行

Hyper-V 最初无法在 Windows 上正常运行,这是预期的行为。 为了获得最佳性能,我们禁用了一些服务。 若要启用 Hyper-V:

  1. 请在 Windows DSVM 中打开搜索栏
  2. 键入“服务”,
  3. 将所有 Hyper-V 服务设置为“手动”
  4. 将“Hyper-V 虚拟机管理”设置为“自动”

最终屏幕应如下所示:

显示正在运行的 Hyper-V 服务的屏幕截图。