Linux云电脑挂载NAS文件系统

在使用无影云电脑时,若需实现多台云电脑之间的文件共享,应创建一个文件存储NAS,并将该NAS挂载至各台云电脑上,使其作为本地目录进行访问。

方案概览

阿里云无影云电脑可通过挂载共享文件存储NAS,实现多台云电脑集共享存储,并通过SMB协议将云端文件系统映射为本地路径,支持多实例并发读写,打破本地存储限制,提升协作效率与数据一致性。同时为确保重启后访问不中断,需要配置系统启动自动挂载。

云电脑访问文件存储NAS时,支持匿名访问(gust)和AD域认证两种方式,可以根据环境灵活选择:

  • 匿名访问(guest):无需账号密码,配置快捷,适合测试环境。

  • AD域 + Kerberos认证 :对接企业域控,启用SMB ACL权限控制,适合生产环境。

说明

创建共享存储NAS时需确保与云电脑在同一办公网络,并确保云电脑出方向安全组策略445端口放行,以保障稳定、安全的文件访问。

操作步骤

1.获取文件存储NAS挂载点

  1. 前往无影云电脑控制台

  2. 在左侧导航栏网络与存储目录下,选择文件存储NAS

  3. 在列表中,复制需要挂载的文件存储NAS挂载点域名

说明

若列表中没有可用的文件存储NAS,单击创建共享存储NAS。共享存储NAS需要与目标云电脑位于同一办公网络下。

创建文件存储NAS会根据存储规格、存储大小与时长收取一定的存储费用。关于通用型NAS的详细计费信息,参见通用型NAS计费

2.安装CIFS客户端工具

为使Linux系统能够与SMB/CIFS协议的共享服务通信,必须安装cifs-utils软件包。

在云电脑中运行Terminal,执行安装命令。

Ubuntu/Debian

# 更新包管理工具
sudo apt-get update
# 修复未正确配置的软件包
sudo dpkg --configure -a
# 安装CIFS工具
sudo apt-get install cifs-utils

RHE/CentOS/Alibaba Cloud Linux

sudo yum install cifs-utils

OpenSUSE/SLES12-SP2

sudo zypper install cifs-utils

CoreOS

  1. 配置SELINUX。

    sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config
  2. CoreOS操作系统上手动编译CIFS客户端工具。

    参照以下步骤启动Fedora容器编译CIFS客户端工具。或下载阿里云官方提供的CoreOS版本CIFS工具包,拷贝至/tmp//bin目录。

    1. 启动Fedora容器自行编译cifs-utils。

      docker run -t -i -v /tmp:/cifs fedora /bin/bash
    2. docker环境内依次运行以下命令。

      1. yum groupinstall -y "Development Tools" "Development Libraries"
      2. yum install -y bzip2
      3. curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2;
      4. bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar
      5. cd cifs-utils-6.9; ./configure && make
      6. cp mount.cifs /cifs/
      7. exit

3.创建本地挂载点

挂载点是NAS文件系统在本地Linux文件系统结构中的入口。

bash# 创建目录作为挂载点
sudo mkdir -p /mnt/nas

4.挂载文件系统

挂载文件系统是将本地挂载点与文件存储NAS挂载点进行连接,连接完成后云电脑可将文件系统NAS作为本地目录使用。

说明

在进行挂载操作前,建议通过 telnet 命令验证云电脑与文件存储 NAS 挂载点之间的网络连通性。具体步骤可参考网络连通性

根据用户认证方式,选择以下一种进行操作。

  • 匿名访问:若使用便捷用户身份访问并挂载文件系统NAS,或云电脑位于AD办公网络但挂载的文件系统NAS未开启SMB ACL时,需使用匿名访问。

  • AD域认证身份访问:若云电脑所在办公网络为AD办公网络,且NAS文件系统已开启SMB ACL功能,此时NAS文件系统挂载需要企业AD域用户身份验证。

所有示例均使用以下变量,在实际操作中替换为真实值:

  • nas-example.cn-hangzhou.nas.aliyuncs.com:步骤1中记录的文件系统NAS挂载点。

  • /mnt/nas:步骤2中创建的本地挂载点。

  • myshare:NAS SMB协议的默认共享名,不支持变更。

匿名访问

若使用便捷用户身份访问并挂载文件系统NAS,或云电脑位于AD办公网络但挂载的文件系统NAS未开启SMB ACL,执行以下命令进行挂载。

重要

此访问方式无需凭据,不建议在生产环境中使用。

执行挂载

# 获取当前用户的UID
id -u
# 获取当前用户的GID
id -g
# 执行挂载
sudo mount -t cifs //nas-example.cn-hangzhou.nas.aliyuncs.com/myshare /mnt/nas -o vers=2.1,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576

uid/gid: 替换为获取UIDGID后记录的参数值。

配置自动挂载

为避免云电脑重启后挂载丢失,需配置系统自动挂载。

编辑/etc/fstab文件,添加一行配置。

# //nas-server/share  /mount/point  type  options  dump  pass
//<挂载点域名>/myshare /mnt cifs vers=2.1,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576 0 0

配置完成后,执行 sudo systemctl daemon-reload 使其生效。

AD域认证身份访问

若云电脑所在办公网络为AD办公网络,且文件系统NAS已开启SMB ACL功能,执行以下命令进行挂载。若尚未开启SMB ACL功能,请参见SMB文件系统挂载点接入AD

执行挂载

# 获取当前用户的UID
id -u
# 获取当前用户的GID
id -g
# 执行挂载
sudo mount -t cifs //nas-example.cn-hangzhou.nas.aliyuncs.com/myshare /mnt/nas -o vers=3.0,sec=krb5,cruid=0,uid=0,gid=0
  • vers=3.0: 当SMB ACL选项开启时,此时命令中vers字段需要使用3.0版本。

  • cruiduid:替换为获取UIDGID后记录的UID。

  • gid:替换为获取UIDGID后记录的GID。

配置自动挂载

为避免云电脑重启后挂载丢失,需配置系统自动挂载。

编辑/etc/fstab文件,添加一行配置。

# //nas-server/share  /mount/point  type  options  dump  pass
//<挂载点域名>/myshare /mnt cifs vers=3.0,sec=krb5,cruid=0,uid=0,gid=0 0 0

配置完成后,执行 sudo systemctl daemon-reload 使其生效。

验证结果

执行以下命令,若系统正确返回NAS文件系统挂载信息,则说明挂载成功。若无返回或返回内容不包含配置的挂载点,则说明挂载失败。

bash# 检查挂载点状态
mount | grep cifs

# 查看文件系统容量信息
df -h | grep /mnt/nas

故障排查

若挂载未生效,可能因以下原因造成。

网络连通性

通过此命令验证云电脑至挂载点网络连通性。

bash# 网络端口连通性测试
telnet nas-example.cn-hangzhou.nas.aliyuncs.com 445

若云电脑无法正确访问挂载点,需验证:

  1. 挂载点所属文件存储NAS是否与云电脑在同一办公网络。

  2. 云电脑策略未限制出方向445端口。