在使用无影云电脑时,若需实现多台云电脑之间的文件共享,应创建一个文件存储NAS,并将该NAS挂载至各台云电脑上,使其作为本地目录进行访问。
方案概览
阿里云无影云电脑可通过挂载共享文件存储NAS,实现多台云电脑集共享存储,并通过SMB协议将云端文件系统映射为本地路径,支持多实例并发读写,打破本地存储限制,提升协作效率与数据一致性。同时为确保重启后访问不中断,需要配置系统启动自动挂载。
云电脑访问文件存储NAS时,支持匿名访问(gust)和AD域认证两种方式,可以根据环境灵活选择:
匿名访问(guest):无需账号密码,配置快捷,适合测试环境。
AD域 + Kerberos认证 :对接企业域控,启用SMB ACL权限控制,适合生产环境。
在创建共享存储NAS时需确保与云电脑在同一办公网络,并确保云电脑出方向安全组策略445端口放行,以保障稳定、安全的文件访问。
操作步骤
1.获取文件存储NAS挂载点
前往无影云电脑控制台。
在左侧导航栏网络与存储目录下,选择文件存储NAS。
在列表中,复制需要挂载的文件存储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
配置SELINUX。
sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config
在CoreOS操作系统上手动编译CIFS客户端工具。
参照以下步骤启动Fedora容器编译CIFS客户端工具。或下载阿里云官方提供的CoreOS版本CIFS工具包,拷贝至/tmp/或/bin目录。
启动Fedora容器自行编译cifs-utils。
docker run -t -i -v /tmp:/cifs fedora /bin/bash
在docker环境内依次运行以下命令。
yum groupinstall -y "Development Tools" "Development Libraries"
yum install -y bzip2
curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2;
bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar
cd cifs-utils-6.9; ./configure && make
cp mount.cifs /cifs/
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
: 替换为获取UID与GID后记录的参数值。
配置自动挂载
为避免云电脑重启后挂载丢失,需配置系统自动挂载。
编辑/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版本。cruid
和uid
:替换为获取UID与GID后记录的UID。gid
:替换为获取UID与GID后记录的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
若云电脑无法正确访问挂载点,需验证:
挂载点所属文件存储NAS是否与云电脑在同一办公网络。
云电脑策略未限制出方向445端口。