当您想在Windows系统中共享文件时,可以在服务器挂载支持SMB协议的NAS文件系统。本文介绍如何在阿里云Windows ECS实例中挂载SMB协议文件系统。
前提条件
在创建NAS SMB协议文件系统的地域,已有可用的云服务器ECS(Windows)。具体操作,请参见创建ECS实例。
已创建NAS SMB协议文件系统,并获取到文件系统的挂载点地址。具体操作,请参见通过控制台创建通用型NAS文件系统。
网络连通。
选择经典网络进行挂载时,ECS和NAS属于同一阿里云UID。
检查文件系统白名单,确保云服务器ECS(Windows)已经被授予访问该SMB协议文件系统的权限。
确保端口445处于打开状态,SMB协议文件系统将通过TCP端口445通信。
如果端口445未打开,请在目标ECS实例的安全组中添加关于端口445的安全组规则。具体操作,请参见添加安全组规则。
背景信息
默认情况下,一般挂载文件系统是以登录系统的用户身份执行的。在Windows操作系统中,系统服务(Services)、计划任务(Scheduled Tasks)以及很多系统调用都是以SYSTEM系统账号进行操作。
如果需要以SYSTEM身份进行挂载,请参见以SYSTEM身份挂载文件卷支持Windows服务访问NAS SMB文件卷。
如果想通过AD域身份或者Everyone的方式挂载NAS SMB文件系统,请参见将SMB文件系统挂载点接入AD域和Windows客户端以AD域用户身份挂载并使用SMB文件系统。
步骤一:环境准备
以下操作步骤,请确保在挂载每台Windows服务器时执行一次即可,不需要在每次挂载时都执行一次。
对于Windows Server 2016以上的系统,需要配置允许客户端匿名访问,执行以下命令。
REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters /f /v AllowInsecureGuestAuth /t REG_DWORD /d 1
开启Workstation服务。
选择
或使用快捷键Win+R
,输入services.msc
进入本地服务。在服务中找到Workstation,确认状态为正在运行,启动类型为自动。
正常情况下,Workstation服务默认为启动状态。
开启TCP/IP NetBIOS Helper服务。
打开网络与共享中心,单击主机所连网络。
单击属性,双击Internet 协议版本 4进入属性框,单击高级。
在高级TCP IP设置对话框中,选择
。选择
或使用快捷键Win+R
,输入services.msc
进入本地服务。在服务中找到TCP/IP NetBIOS Helper,确认状态为正在运行,启动类型为自动。
正常情况下,TCP/IP NetBIOS Helper服务默认为启动状态。
步骤二:挂载NAS SMB协议文件系统
NAS SMB协议文件系统支持通过手动挂载和自动挂载两种方式进行挂载。手动挂载适用于临时挂载,每次服务器启动或重启后都需要重新挂载。自动挂载适用于持久挂载,每次服务器启动或重启后都无需重新挂载。为避免服务器重启后,挂载信息丢失,导致无法查看已挂载的文件系统,建议您手动挂载成功后,配置自动挂载文件系统。
手动挂载文件系统
您需要使用NAS SMB协议文件系统的挂载点地址,将NAS SMB协议文件系统挂载至Windows ECS实例。
打开CMD命令行窗口,执行以下命令挂载SMB文件系统。
net use Z: \\file-system-id.region.nas.aliyuncs.com\myshare
参数
说明
Z
当前Windows系统上要挂载的目标盘符,如果有冲突,或者挂载了多个NAS文件系统,则按字母顺序递减盘符。
file-system-id.region.nas.aliyuncs.com
创建SMB协议文件系统时系统自动生成的挂载点地址,请根据实际值替换。
您可以在NAS控制台,单击目标文件系统,然后单击挂载使用,将鼠标放置在挂载地址列的图标上获取挂载点地址。
myshare
SMB的共享名称,不允许变更。
对于Windows Server 2019及更高版本的操作系统,为了让所有用户都能访问挂载点,推荐使用PowerShell命令New-SmbGlobalMapping进行挂载。命令如下所示:
执行命令如需输入身份,请您输入工作域任何一个合法身份即可。例如workgroup\administrator,密码为ECS administrator的密码。
挂载命令
New-SmbGlobalMapping -LocalPath z: -RemotePath \\file-system-id.region.nas.aliyuncs.com\myshare -Persistent $true
卸载命令
Remove-SmbGlobalMapping -LocalPath z:
验证挂载命令
Get-SmbGlobalMapping
确认NAS SMB协议文件系统挂载成功。
(可选)自动挂载文件系统
您可以通过配置Windows ECS实例的c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\auto_mount.bat
文件,实现ECS重启时自动挂载SMB协议文件系统。
打开CMD命令行窗口,执行以下命令,配置脚本auto_mount.bat。
echo %HOMEPATH%\mount.bat > auto_mount.bat
执行以下三条命令,将auto_mount.bat配置成用户登录后自动运行,并配置其他人的读和执行权限。
MOVE auto_mount.bat "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"
icacls "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\auto_mount.bat" /grant everyone:rx
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /f /v MyMount /t REG_SZ /d "c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\auto_mount.bat"
执行以下命令,配置实际执行挂载命令的脚本mount.bat。
echo net use z: \\file-system-id.region.nas.aliyuncs.com\myshare > "%HOMEPATH%\mount.bat"
请根据实际值替换盘符
z
和挂载点地址file-system-id.region.nas.aliyuncs.com
。说明如果SMB协议文件系统支持AD、ACL,并且您希望使用Windows登录用户身份以外的其他域用户身份挂载SMB协议文件系统,则可以执行以下命令配置脚本。
echo net use z: \\file-system-id.region.nas.aliyuncs.com\myshare /user:user@domain password > "%HOMEPATH%\mount.bat"
请根据实际值替换盘符
z
、挂载点地址file-system-id.region.nas.aliyuncs.com
,域用户名user@domain
,域用户密码password
。重启ECS服务器。
用户重新登录后,执行
net use
命令验证挂载结果。重要重启云服务器会中断业务,建议您在业务低谷时期重启云服务器。
相关文档
如果您想在文件存储NAS上搭建Windows应用程序,请参见Windows应用程序。
如果您想将文件存储NAS用于内容管理系统和Web服务应用程序,为网站及应用程序提供高效存储服务,请参见Web服务和内容管理。
更多有关文件存储NAS应用场景的最佳方案,请参见最佳实践。