使用微软 Windows 文件共享 - Amazon FSx for Windows File Server
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用微软 Windows 文件共享

Microsoft Windows文件共享是文件系统中的特定文件夹。它包括该文件夹的子文件夹,您可以使用服务器消息块 (SMB) 协议向计算实例访问该文件夹的子文件夹。你的文件系统附带默认的 Windows 文件共享,名为share. 您可以使用名为的 Windows 图形用户界面 (GUI) 工具创建和管理任意数量的其他 Windows 文件共享共享文件夹.

访问文件共享

要访问文件共享,您可以使用 Windows Map Network Drive 功能将计算实例上的驱动器盘符映射到 Amazon FSx 文件共享。将文件共享映射到计算实例上的驱动器的过程称为安装中Linux 中的文件共享。此过程因计算实例的类型和操作系统而异。映射文件共享后,应用程序和用户可以访问文件共享上的文件和文件夹,就像它们是本地文件和文件夹一样。

以下是在不同支持的计算实例上映射文件共享的过程。

在 Amazon EC2 Windows 实例上映射文件共享

您可以使用 Windows 文件资源管理器或命令提示符在 EC2 Windows 实例上映射文件共享。

  1. 启动 EC2 Windows 实例并将其连接到您加入了 Amazon FSx 文件系统的微软 Active Directory。为此,请从Amazon Directory Service管理指南

  2. 连接到您的 EC2 Windows 实例。有关更多信息,请参阅《适用于 Windows 实例的 Amazon EC2 用户指南》中的连接您的 Windows 实例

  3. 连接后,请打开文件资源管理器。

  4. 在导航窗格中,打开的上下文 (右键单击) 菜单网络,然后选择映射网络驱动器.

  5. 适用于Drive,选择驱动器盘符。

  6. 适用于文件夹中,输入文件系统的 DNS 名称或与文件系统关联的 DNS 别名,以及共享名称。

    您可以在Amazon FSx 控制台通过选择Windows 文件 Server网络 & 安全. 或者,您可以在响应中找到它们CreateFileSystem要么DescribeFileSystemsAPI 操作。有关使用 DNS 别名的更多信息,请参阅。管理 DNS 别名.

    • 对于加入到的单可用区文件系统Amazon托管微软活动目录,DNS 名称如下所示。

      fs-0123456789abcdef0.ad-domain.com
    • 对于加入到自管 Active Directory 的单可用区文件系统以及任何多可用区文件系统,DNS 名称如下所示。

      amznfsxaa11bb22.ad-domain.com

    例如,要使用单可用区文件系统的 DNS 名称,请为文件夹.

    \\fs-0123456789abcdef0.ad-domain.com\share

    要使用多可用区文件系统的 DNS 名称,请输入以下文件夹.

    \\famznfsxaa11bb22.ad-domain.com\share

    要使用与文件系统关联的 DNS 别名,请为文件夹.

    \\fqdn-dns-alias\share
  7. 选择一个选项登录时重新连接,表示文件共享是否应在登录时重新连接,然后选择Finish.

  1. 启动 EC2 Windows 实例并将其连接到您加入了 Amazon FSx 文件系统的微软 Active Directory。为此,请从Amazon Directory Service管理指南

  2. 以用户身份 Connect 到 EC2 Windows 实例Amazon Managed Microsoft AD目录。有关更多信息,请参阅《适用于 Windows 实例的 Amazon EC2 用户指南》中的连接您的 Windows 实例

  3. 连接后,请打开命令提示符窗口。

  4. 使用您选择的驱动器盘符、文件系统的 DNS 名称和共享名称挂载文件共享。你可以使用Amazon FSx 控制台通过选择Windows 文件 Server网络 & 安全. 或者,您可以在响应中找到它们CreateFileSystem要么DescribeFileSystemsAPI 操作。

    • 对于加入到的单可用区文件系统Amazon托管微软活动目录,DNS 名称如下所示。

      fs-0123456789abcdef0.ad-domain.com
    • 对于加入到自管 Active Directory 的单可用区文件系统以及任何多可用区文件系统,DNS 名称如下所示。

      amznfsxaa11bb22.ad-domain.com

    下面是挂载文件共享的示例命令。

    $ net use H: \\amzfsxaa11bb22.ad-domain.com\share /persistent:yes

    而不是net use命令,你也可以使用任何受支持的 PowerShell 命令来挂载文件共享。

 

在 Amazon EC2 Mac 实例上挂载文件共享

您可以在已加入 Active Directory 或未加入的 Amazon EC2 Mac 实例上挂载文件共享。如果实例未加入您的 Active Directory,请务必更新为实例所在的 Amazon Virtual Private Cloud (Amazon VPC) 设置的 DHCP 选项,以包括您的 Active Directory 域的 DNS 名称服务器。然后重新启动实例。

  1. 启动 EC2 Mac 实例。为此,请从适用于 Linux 实例的 Amazon EC2 用户指南

  2. 使用虚拟网络计算 (VNC) Connect 到 EC2 Mac 实例。有关更多信息,请参阅 。使用 VNC 连接到您的实例。中的适用于 Linux 实例的 Amazon EC2 用户指南.

  3. 在 EC2 Mac 实例上,连接到您的 Amazon FSx 文件共享,如下所示:

    1. 打开 Finder,选择转到,然后选择Connect 到 Server.

    2. Connect 到 Server对话框中,输入文件系统的 DNS 名称或与文件系统关联的 DNS 别名,以及共享名称。然后选择 Connect(连接)。

      您可以在Amazon FSx 控制台通过选择Windows 文件 Server网络 & 安全. 或者,您可以在响应中找到它们CreateFileSystem要么DescribeFileSystemsAPI 操作。有关使用 DNS 别名的更多信息,请参阅。管理 DNS 别名.

      
                      Mac 连接屏幕截图显示文件系统窗格的 DNS 和共享名称。
    3. 在下一个屏幕上,选择Connect (连接)以继续。

    4. 输入 Amazon FSx 服务帐户的 Microsoft Active Directory (AD) 凭据,如以下示例所示。然后选择 Connect(连接)。

      
                      Mac 连接屏幕截图显示了如何为文件系统窗格输入用户凭据。
    5. 如果连接成功,您可以在下面看到 Amazon FSx 共享Locations在 “访达” 窗口中。

  1. 启动 EC2 Mac 实例。为此,请从适用于 Linux 实例的 Amazon EC2 用户指南

  2. 使用虚拟网络计算 (VNC) Connect 到 EC2 Mac 实例。有关更多信息,请参阅 。使用 VNC 连接到您的实例。中的适用于 Linux 实例的 Amazon EC2 用户指南.

  3. 使用以下命令挂载文件共享。

    mount_smbfs //file_system_dns_name/file_share mount_point

    你可以在Amazon FSx 控制台通过选择Windows 文件 Server网络 & 安全. 或者,您可以在响应中找到它们CreateFileSystem要么DescribeFileSystemsAPI 操作。

    • 对于加入到的单可用区文件系统Amazon托管微软活动目录,DNS 名称如下所示。

      fs-0123456789abcdef0.ad-domain.com
    • 对于加入到自管 Active Directory 的单可用区文件系统以及任何多可用区文件系统,DNS 名称如下所示。

      amznfsxaa11bb22.ad-domain.com

    此过程中使用的 mount 命令在给定时间点执行以下操作:

    • //file_system_dns_name/file_share— 指定要挂载的文件系统的 DNS 名称和共享。

    • mount_point— 要装载文件系统的 EC2 实例上的目录。

 

在 Amazon EC2 Linux 实例上装载文件共享

您可以在已加入 Active Directory 或未加入的 Amazon EC2 Linux 实例上装载 FSx for Windows 文件服务器文件共享。

注意

以下命令仅指定参数,例如 SMB 协议、缓存以及读写缓冲区大小作为示例。Linux 的参数选择cifs命令以及使用的 Linux 内核版本可能会影响客户端和 Amazon FSx 文件系统之间网络操作的吞吐量和延迟。有关更多信息,请参阅 。cifs您正在使用的 Linux 环境的文档。

  1. 如果你还没有将正在运行的 EC2 Linux 实例加入到你的 Microsoft Active Directory 中,请参阅手动加入 Linux 实例中的Amazon Directory Service管理指南为此,请按照指示操作。

  2. Connect 到 EC2 Linux 实例。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的连接到您的 Linux 实例

  3. 运行以下命令以下命令来安装cifs-utils程序包。此软件包用于在 Linux 上挂载诸如 Amazon FSx 之类的网络文件系统。

    $ sudo yum install cifs-utils
  4. 创建挂载点目录/mnt/fsx. 您将在这里挂载 Amazon FSx 文件系统。

    $ sudo mkdir -p /mnt/fsx
  5. 使用以下命令使用 kerberos 进行身份验证。

    $ kinit
  6. 使用以下命令挂载文件共享。

    $ sudo mount -t cifs //file_system_dns_name/file_share mount_point --verbose -o vers=SMB_version,sec=krb5,cruid=ad_user,rsize=CIFSMaxBufSize,wsize=CIFSMaxBufSize,cache=none,ip=preferred-file-server-Ip

    你可以在Amazon FSx 控制台通过选择Windows 文件 Server网络 & 安全. 或者,您可以在响应中找到它们CreateFileSystem要么DescribeFileSystemsAPI 操作。

    • 对于加入到的单可用区文件系统Amazon托管微软活动目录,DNS 名称如下所示。

      fs-0123456789abcdef0.ad-domain.com
    • 对于加入到自管 Active Directory 的单可用区文件系统以及任何多可用区文件系统,DNS 名称如下所示。

      amznfsxaa11bb22.ad-domain.com

    ReplaceCIFSMaxBufSize具有内核允许的最大值。运行以下命令以下命令以获取此值。

    $ modinfo cifs | grep CIFSMaxBufSize parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (uint)

    输出显示最大缓冲区大小为 130048。

  7. 通过运行以下命令验证文件系统是否已装载,该命令仅返回普通 Internet 文件系统 (CIFS) 类型的文件系统。

    $ mount -l -t cifs //fs-0123456789abcdef0/share on /mnt/fsx type cifs (rw,relatime,vers=SMB_version,sec=krb5,cache=cache_mode,username=user1@CORP.NETWORK.COM,uid=0,noforceuid,gid=0,noforcegid,addr=192.0.2.0,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)

此过程中使用的 mount 命令在给定时间点执行以下操作:

  • //file_system_dns_name/file_share— 指定要挂载的文件系统的 DNS 名称和共享。

  • mount_point— 要装载文件系统的 EC2 实例上的目录。

  • -t cifs vers=SMB_version— 将文件系统的类型指定为 CIFS 和 SMB 协议版本。适用于 Windows 文件服务器的亚马逊 FSx 支持中小型企业 2.0 至 3.1.1 版本。

  • sec=krb5— 指定使用 Kerberos 版本 5 进行身份验证。

  • cache=cache_mode— 设置缓存模式。CIFS 缓存的此选项可能会影响性能,您应该测试哪些设置最适合内核和工作负载(并查看 Linux 文档)。选项strictnone是推荐的,因为loose由于协议语义较宽松,可能会导致数据不一致。

  • cruid=ad_user— 将凭据缓存所有者的 uid 设置给 AD 目录管理员。

  • /mnt/fsx— 指定 Amazon FSx 文件共享在 EC2 实例上的挂载点。

  • rsize=CIFSMaxBufSize,wsize=CIFSMaxBufSize— 将读取和写入缓冲区大小指定为 CIFS 协议允许的最大值。ReplaceCIFSMaxBufSize具有内核允许的最大值。确定CIFSMaxBufSize通过运行以下命令。

    $ modinfo cifs | grep CIFSMaxBufSize parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (uint)

    输出显示最大缓冲区大小为 130048。

  • ip=preferred-file-server-Ip— 将目标 IP 地址设置为文件系统首选文件服务器的 IP 地址。

    您可以按如下方式检索文件系统的首选文件服务器 IP 地址:

    • 使用亚马逊 FSx 控制台,在网络 & 安全的选项卡文件系统详情页.

    • 在回应中describe-file-systemsCLI 命令或等效命令DescribeFileSystemsAPI 命令。

以下过程将 Amazon FSx 文件共享装载到未加入您的 Active Directory (AD) 的 Amazon EC2 Linux 实例。对于 EC2 Linux 实例加入活动目录后,只能使用其私有 IP 地址挂载 FSx for Windows 文件服务器文件共享。你可以使用Amazon FSx 控制台,在网络 & 安全选项卡,首选的文件服务器 IP 地址.

此示例使用 NTLM 身份验证。要执行此操作,您可以作为已加入 FSx for Windows 文件服务器文件系统的 Microsoft Active Directory 域的成员的用户挂载文件系统。用户账户的凭证在您在 EC2 实例上创建的文本文件中提供,creds.txt. 此文件包含用户的用户名、密码和域。

$ cat creds.txt username=user1 password=Password123 domain=EXAMPLE.COM

启动和配置 Amazon Linux EC2 实例

  1. 使用Amazon EC2 控制台. 有关更多信息,请参阅 。启动实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  2. Connect 到 Amazon Linux EC2 实例。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的连接到您的 Linux 实例

  3. 运行以下命令以下命令来安装cifs-utils程序包。此软件包用于在 Linux 上挂载诸如 Amazon FSx 之类的网络文件系统。

    $ sudo yum install cifs-utils
  4. 创建挂载点/mnt/fsxx您计划在哪里挂载 Amazon FSx 文件系统。

    $ sudo mkdir -p /mnt/fsx
  5. 创建creds.txt中的凭证文件/home/ec2-user目录,使用之前显示的格式。

  6. 设置creds.txt文件权限,以便只有您(所有者)可以通过运行以下命令对文件进行读写。

    $ chmod 700 creds.txt

挂载文件系统

  1. 您可以使用 Active Directory 的私有 IP 地址挂载未加入到 Active Directory 的文件共享。你可以使用Amazon FSx 控制台,在网络 & 安全选项卡,在首选文件 Server IP 地址.

  2. 使用以下命令挂载文件系统:

    $ sudo mount -t cifs //file-system-IP-address/file_share /mnt/fsx --verbose -o vers=SMB_version,sec=ntlmsspi,cred=/home/ec2-user/creds.txt,rsize=CIFSMaxBufSize,wsize=CIFSMaxBufSize,cache=none

    ReplaceCIFSMaxBufSize具有内核允许的最大值。运行以下命令以下命令以获取此值。

    $ modinfo cifs | grep CIFSMaxBufSize parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (uint)

    输出显示最大缓冲区大小为 130048。

  3. 通过运行以下命令验证文件系统是否已装载,该命令仅返回 CIFS 文件系统。

    $ mount -l -t cifs //file-system-IP-address/file_share on /mnt/fsx type cifs (rw,relatime,vers=SMB_version,sec=ntlmsspi,cache=cache_mode,username=user1,domain=CORP.EXAMPLE.COM,uid=0,noforceuid,gid=0,noforcegid,addr=192.0.2.0,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)

此过程中使用的 mount 命令在给定时间点执行以下操作:

  • //file-system-IP-address/file_share— 指定要挂载的文件系统的 IP 地址和共享。

  • -t cifs vers=SMB_version— 将文件系统的类型指定为 CIFS 和 SMB 协议版本。适用于 Windows 文件服务器的亚马逊 FSx 支持中小型企业 2.0 至 3.1.1 版本。

  • sec=ntlmsspi— 指定使用 NT 局域网管理器安全 Support 提供程序接口 (NTLMSSPI) 进行身份验证。

  • cache=cache_mode— 设置缓存模式。CIFS 缓存的此选项可能会影响性能,您应该测试哪些设置最适合内核和工作负载(并查看 Linux 文档)。选项strictnone是推荐的,因为loose由于协议语义较宽松,可能会导致数据不一致。

  • cred=/home/ec2-user/creds.txt— 指定在哪里获取用户凭据。

  • /mnt/fsx— 指定 Amazon FSx 文件共享在 EC2 实例上的挂载点。

  • rsize=CIFSMaxBufSize,wsize=CIFSMaxBufSize— 将读取和写入缓冲区大小指定为 CIFS 协议允许的最大值。ReplaceCIFSMaxBufSize具有内核允许的最大值。确定CIFSMaxBufSize通过运行以下命令。

    $ modinfo cifs | grep CIFSMaxBufSize parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (uint)

    输出显示最大缓冲区大小为 130048。

 

在未加入 Active Directory 的 Amazon Linux EC2 实例上自动挂载文件共享

只要装载到的 Amazon EC2 Linux 实例重新启动,您就可以自动装载您的 fSx for Windows 文件服务器文件共享。为此,请将条目添加到/etc/fstab文件在 EC2 实例上。/etc/fstab 文件包含有关文件系统的信息。该命令mount -a,在实例启动期间运行,用于挂载/etc/fstab文件。

对于未加入 Active Directory 的 Amazon Linux EC2 实例,您只能使用私有 IP 地址挂载 FSx for Windows 文件服务器文件共享。你可以使用Amazon FSx 控制台,在网络 & 安全选项卡,首选的文件服务器 IP 地址.

以下过程使用微软 NTLM 身份验证。您以作为 Microsoft Active Directory 域的成员的用户挂载文件系统,而 FSx for Windows File Server 系统已加入该域。文本文件中提供了用户帐户的凭据creds.txt. 此文件包含用户的用户名、密码和域。

$ cat creds.txt username=user1 password=Password123 domain=EXAMPLE.COM

启动和配置 Amazon Linux EC2 实例

  1. 使用Amazon EC2 控制台. 有关更多信息,请参阅 。启动实例中的适用于 Linux 实例的 Amazon EC2 用户指南.

  2. 连接到您的实例。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的连接到您的 Linux 实例

  3. 运行以下命令以下命令来安装cifs-utils程序包。此软件包用于在 Linux 上挂载诸如 Amazon FSx 之类的网络文件系统。

    $ sudo yum install cifs-utils
  4. 创建 /mnt/fsx 目录。您将在这里挂载 Amazon FSx 文件系统。

    $ sudo mkdir /mnt/fsx
  5. 创建creds.txt中的凭证文件/home/ec2-user目录。

  6. 设置文件权限,以便只有您(所有者)可以通过运行以下命令读取文件。

    $ sudo chmod 700 creds.txt

自动挂载文件系统

  1. 您可以使用 Active Directory 的私有 IP 地址自动挂载未加入到 Active Directory 的文件共享。您可以从Amazon FSx 控制台,在网络 & 安全选项卡,首选的文件服务器 IP 地址.

  2. 要使用文件共享的私有 IP 地址自动挂载文件共享,请将以下行添加到/etc/fstab文件。

    //file-system-IP-address/file_share /mnt/fsx cifs vers=SMB_version,sec=ntlmsspi,cred=/home/ec2-user/creds.txt,rsize=CIFSMaxBufSize,wsize=CIFSMaxBufSize,cache=none

    ReplaceCIFSMaxBufSize具有内核允许的最大值。运行以下命令以下命令以获取此值。

    $ modinfo cifs | grep CIFSMaxBufSize parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (uint)

    输出显示最大缓冲区大小为 130048。

  3. 测试fstab通过使用mount带 “fake” 选项的命令与 “all” 和 “verbose” 选项结合使用。

    $ sudo mount -fav home/ec2-user/fsx : successfully mounted
  4. 要挂载文件共享,请重新启动 Amazon EC2 实例。

  5. 实例再次可用时,请通过运行以下命令验证文件系统是否已挂载。

    $ sudo mount -l -t cifs //file-system-IP-address/file_share on /mnt/fsx type cifs (rw,relatime,vers=SMB_version,sec=ntlmsspi,cache=cache_code,username=user1,domain=CORP.EXAMPLE.COM,uid=0,noforceuid,gid=0,noforcegid,addr=192.0.20.0,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)

    添加到/etc/fstab在此过程中的文件在给定时刻执行以下操作:

    • //file-system-IP-address/file_share— 指定您要安装的 Amazon FSx 文件系统的 IP 地址和共享。

    • /mnt/fsx— 指定 Amazon FSx 文件系统在 EC2 实例上的挂载点。

    • cifs vers=SMB_version— 将文件系统的类型指定为 CIFS 和 SMB 协议版本。适用于 Windows 文件服务器的亚马逊 FSx 支持中小型企业 2.0 至 3.1.1 版本。

    • sec=ntlmsspi— 指定使用 NT LAN Manager 安全 Support 提供商界面来促进 NTLM 质询-响应身份验证。

    • cache=cache_mode— 设置缓存模式。CIFS 缓存的此选项可能会影响性能,您应该测试哪些设置最适合内核和工作负载(并查看 Linux 文档)。选项strictnone是推荐的,因为loose由于协议语义较宽松,可能会导致数据不一致。

    • cred=/home/ec2-user/creds.txt— 指定在哪里获取用户凭据。

    • _netdev— 向操作系统指示文件系统位于需要网络访问的设备上。使用此选项禁止实例挂载文件系统,直到在客户端上启用了网络服务。

    • 0— 表示应由备份文件系统dump,如果它是非零值。对于亚马逊 FSx,此值应为0.

    • 0— 指定顺序fsck启动时检查文件系统。对于 Amazon FSx 文件系统,此值应为0来表明fsck不应该在启动时运行。