本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
其他信息
本节提供了受支持但已弃用的 Amazon FSx 功能的参考。
设置自定义备份计划
我们建议使用AWS Backup以便为文件系统设置自定义备份计划。如果您需要比使用时更频繁地安排备份,则此处提供的信息仅供参考。AWS Backup.
启用后,Amazon FSx for Windows File Server 会在每日备份窗口内每天自动备份您的文件系统一次。Amazon FSx 强制执行您为这些自动备份指定的保留期。它还支持用户启动的备份,因此您可以随时进行备份。
接下来,您可以找到部署自定义备份计划的资源和配置。自定义备份计划按照您定义的自定义计划在 Amazon FSx 文件系统上执行用户启动的备份。例子可能是每六小时一次,每周一次,依此类推。此脚本还配置删除早于指定保留期的备份。
该解决方案会自动部署所有需要的组件,并采用以下参数:
-
文件系统
-
用于执行备份的 CRON 计划模式
-
备份保留期(以天为单位)
-
备份名称标签
有关 CRON 计划模式的更多信息,请参阅规则的计划表达式在 Amazon CloudWatch 用户指南。
架构概述
部署此解决方案将在AWS Cloud.

此解决方案将执行以下操作:
-
这些区域有:AWS CloudFormation模板部署 CloudWatch 事件、Lambda 函数、Amazon SNS 队列和 IAM 角色。IAM 角色授予 Lambda 函数调用 Amazon FSx API 操作的权限。
-
这些区域有: CloudWatch 在初始部署期间,事件按照您定义为 CRON 模式的计划运行。此事件调用解决方案的备份管理器 Lambda 函数,该函数调用 Amazon FSx
CreateBackup
用于启动备份的 API 操作。 -
备份管理器使用以下方法检索指定文件系统的现有用户启动备份列表。
DescribeBackups
. 然后,它会删除早于您在初始部署期间指定的保留期限的备份。 -
如果您选择在初始部署期间收到通知的选项,备份管理器会在成功备份时向 Amazon SNS 队列发送通知消息。如果发生故障,始终会发送通知。
AWS CloudFormation 模板
此解决方案使用AWS CloudFormation以自动部署 Amazon FSx 自定义备份计划解决方案。要使用此解决方案,请下载fsx 计划备份。模板
自动部署
以下过程配置和部署此自定义备份计划解决方案。部署需要约 5 分钟的时间。开始使用前,您必须在您的 Amazon Virtual Private Cloud (Amazon VPC) 中运行的 Amazon FSx 文件系统的 ID。AWSaccount. 有关创建这些资源的更多信息,请参阅开始使用 Amazon FSx.
实施此解决方案需要对相关的AWS服务。有关更多信息,请参阅这些服务的定价详情页面。
启动自定义备份解决方案堆栈
-
下载fsx 计划备份。模板
AWS CloudFormation。有关创建AWS CloudFormation堆栈,请参阅在创建堆栈AWS CloudFormation控制台中的AWS CloudFormation用户指南. 注意 默认情况下,此模板将在美国东部(弗吉尼亚北部)启动AWS区域。Amazon FSx 目前仅在特定情况下可用AWS 区域. 你必须在AWS亚马逊 FSx 可用的地区。有关更多信息,请参阅AWS 区域和终端节点中的AWS一般参考。
-
适用于参数中,查看模板的参数,并根据文件系统的需要对其进行修改。此解决方案使用以下默认值。
参数 默认值 描述 Amazon FSx 文件系统 ID 没有默认值 要备份的文件系统的文件系统 ID。 CRON 计划备份模式。 0 0/4 *? * 运行 CloudWatch 事件,触发新备份并在保留期之外删除旧备份。 Backup 保留期限(天) 7 保留用户启动的备份的天数。Lambda 函数删除用户启动的早于此天数的备份。 备份名称 用户计划的备份 这些备份的名称,出现在备份名称亚马逊 FSx 管理控制台的列。 Backup 通知 是 选择是否在成功启动备份时收到通知。如果有错误,总是会发送通知。 电子邮件地址 没有默认值 订阅 SNS 通知的电子邮件地址。 -
选择 Next(下一步)。
-
适用于选项,选择下一步.
-
适用于审核中,审核并确认设置。您必须选中确认模板创建 IAM 资源的复选框。
-
选择 Create (创建) 以部署堆栈。
您可以在 AWS CloudFormation 控制台的 Status (状态) 列中查看堆栈的状态。您应看到状态创建 _ 完成在大约五分钟内。
其他选项
您可以使用此解决方案创建的 Lambda 函数对多个 Amazon FSx 文件系统执行定时备份。文件系统 ID 将传递给的输入 JSON 中的 Amazon FSx 函数 CloudWatch event. 传递给 Lambda 函数的默认 JSON 如下所示,其中FileSystemId
和SuccessNotification
从启动时指定的参数传递AWS CloudFormation堆栈。
{ "start-backup": "true", "purge-backups": "true", "filesystem-id": "${FileSystemId}", "notify_on_success": "${SuccessNotification}" }
要为其他 Amazon FSx 文件系统安排备份,请创建另一个 CloudWatch 事件规则。您可以使用计划事件源来执行此操作,并将此解决方案创建的 Lambda 函数作为目标。选择常量(JSON 文本)下配置输入. 对于 JSON 输入,只需将 Amazon FSx 文件系统的文件系统 ID 替换为${FileSystemId}
. 另外,也可以替换Yes
要么No
代替${SuccessNotification}
在以上 JSON 中。
任何额外 CloudWatch 手动创建的事件规则不是 Amazon FSx 自定义定时备份解决方案的一部分AWS CloudFormation堆栈。因此,如果删除堆栈,它们不会被删除。
使用 Microsoft 分布式文件系统复制
为了实现 FSx for Windows File Server 的高可用性,我们建议使用 Amazon FSx 多可用区。有关 Amazon FSx 多可用区的更多信息,请参阅可用性与持久性:单可用区和多可用区文件系统
Amazon FSx 支持使用 Microsoft 分布式文件系统 (DFS) 跨多个可用区 (AZ) 进行文件系统部署,以获得多可用区可用性和持久性。使用 DFS 复制,您可以在两个文件系统之间自动复制数据。使用 DFS 命名空间,您可以将一个文件系统配置为主文件系统,另一个作为备用系统,如果主文件系统无响应,则可以自动故障切换到备用系统。
在使用 DFS 复制前,请执行以下步骤:
-
按照中所述设置您的安全组。Step 8Amazon FSx 入门。
-
在不同的可用区中创建两个 Amazon FSx 文件系统AWS区域。有关创建文件系统的更多信息,请参阅第 3 步:将数据写入文件共享.
-
确保两个文件系统都在同一个AWS Directory Service for Microsoft Active Directory.
-
创建文件系统后,记下它们的文件系统 ID 以供以后使用。
在以下主题中,您可以找到有关如何在 Amazon FSx 中设置和使用 DFS 复制和 DFS 命名空间故障转移的说明。

设置 DFS 复制
您可以使用 DFS 复制在两个 Amazon FSx 文件系统之间自动复制数据。此复制是双向的,这意味着您可以写入任一文件系统,然后将更改复制到另一个文件系统。
你不能使用微软 Windows 管理工具 (dfsmgmt.msc) 中的 DFS 管理界面在你的 FSx 适用于 Windows 文件服务器文件系统上配置 DFS 复制。
-
启动实例并将其连接到加入 Amazon FSx 文件系统的 Microsoft Active Directory,开始管理 DFS 的过程。为此,请从中选择以下步骤之一:AWS Directory Service管理指南:
-
作为文件系统管理员组成员的 Active Directory 用户 Connect 到您的实例。InAWS托管 AD,这个组被称为AWS委托 FSx 管理员。在自我管理的 Microsoft AD 中,此组称为域管理员或您在创建过程中提供的管理员组的自定义名称。
此用户还必须是向其授予 DFS 管理权限的组的成员。InAWS托管 AD,这个组被称为AWS分布式文件系统委托管理员。在自我管理的 AD 中,此用户必须是域管理员或您向其委派 DFS 管理权限的其他组的成员。
有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
-
打开启动然后输入菜单PowerShell. 从列表中选择Windows PowerShell.
-
运行 PowerShell 脚本具有以下指定参数,用于在两个文件系统之间建立 DFS 复制:
-
DFS 复制组和文件夹的名称
-
要在文件系统上复制的文件夹的本地路径(例如,
D:\share
对于您的 Amazon FSx 文件系统附带的默认份额) -
您在先决条件步骤中创建的主要和备用 Amazon FSx 文件系统的 DNS 名称
FSx-DFSr-Setup.ps1 -group
Group
-folderFolder
-pathContentPath
-primaryFSxFileSystem1-DNS-Name
-standbyFSxFileSystem2-DNS-Name
-
-
启动实例并将其连接到加入 Amazon FSx 文件系统的 Microsoft Active Directory,开始管理 DFS 的过程。为此,请从中选择以下步骤之一:AWS Directory Service管理指南:
-
作为文件系统管理员组成员的 Active Directory 用户 Connect 到您的实例。InAWS托管 AD,这个组被称为AWS委托 FSx 管理员。在自我管理的 Microsoft AD 中,此组称为域管理员或您在创建过程中提供的管理员组的自定义名称。
此用户还必须是向其授予 DFS 管理权限的组的成员。InAWS托管 AD,这个组被称为AWS分布式文件系统委托管理员。在自我管理的 AD 中,此用户必须是域管理员或您向其委派 DFS 管理权限的其他组的成员。
有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
-
打开启动然后输入菜单PowerShell. 从列表中选择Windows PowerShell.
-
如果尚未安装 DFS 管理工具,请使用以下命令在实例上安装它们。
Install-WindowsFeature RSAT-DFS-Mgmt-Con
-
从 PowerShell 提示符下,使用以下命令创建 DFS 复制组和文件夹。
$Group =
"Name of the DFS Replication group"
$Folder ="Name of the DFS Replication folder"
New-DfsReplicationGroup –GroupName $Group New-DfsReplicatedFolder –GroupName $Group –FolderName $Folder -
使用以下命令确定与每个文件系统关联的 Active Directory 计算机名称。
$Primary =
"DNS name of the primary FSx file system"
$Standby ="DNS name of the standby FSx file system"
$C1 = (Get-ADObject -Filter "objectClass -eq 'Computer' -and ServicePrincipalName -eq 'HOST/$Primary'").Name $C2 = (Get-ADObject -Filter "objectClass -eq 'Computer' -and ServicePrincipalName -eq 'HOST/$Standby'").Name -
将文件系统添加为使用以下命令创建的 DFS 复制组的成员。
Add-DfsrMember –GroupName $Group –ComputerName $C1 Add-DfsrMember –GroupName $Group –ComputerName $C2
-
使用以下命令添加本地路径(例如,
D:\share
) 对于每个文件系统到 DFS 复制组。在此过程中,
充当主要成员,这意味着其内容最初同步到另一个文件系统。file system 1
$ContentPath1 =
"Local path to the folder you want to replicate on file system 1"
$ContentPath2 ="Local path to the folder you want to replicate on file system 2"
Set-DfsrMembership –GroupName $Group –FolderName $Folder –ContentPath $ContentPath1 –ComputerName $C1 –PrimaryMember $True Set-DfsrMembership –GroupName $Group –FolderName $Folder –ContentPath $ContentPath2 –ComputerName $C2 –PrimaryMember $False -
使用以下命令在文件系统之间添加连接。
Add-DfsrConnection –GroupName $Group –SourceComputerName $C1 –DestinationComputerName $C2
在几分钟内,两个文件系统都应开始同步ContentPath
之前指定。
为故障转移设置 DFS 命名空间
您可以使用 DFS 命名空间将一个文件系统视为主文件系统,另一个将其视为备用文件系统。通过执行此操作,您可以在主节点无响应时配置自动故障转移到备用设备。DFS 命名空间使您能够将不同服务器上的共享文件夹分组到单个命名空间中,单个文件夹路径可以导致存储在多个服务器上的文件。DFS 命名空间由 DFS 命名空间服务器管理,该服务器将 DFS 命名空间文件夹映射到相应的文件服务器的计算实例。
-
如果您尚未运行 DFS 命名空间服务器,请使用设置-dfsn-Server。模板
AWS CloudFormation。有关创建AWS CloudFormation堆栈,请参阅在创建堆栈AWS CloudFormation 控制台中的AWS CloudFormation用户指南. -
以用户身份 Connect 到在上一步中启动的 DFS 命名空间服务器之一AWS委托管理员组。有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
-
打开 DFS 管理控制台。打开启动然后运行菜单
dfsmgmt.msc
. 此操作将打开 DFS 管理 GUI 工具。 -
适用于操作,选择新命名空间,然后输入您为其启动的第一个 DFS 命名空间服务器的计算机名称服务器然后选择下一步.
-
适用于名称中,输入您正在创建的命名空间(例如,
corp
)。 -
选择编辑设置并根据您的要求设置适当的权限。选择 Next(下一步)。
-
保留默认值基于域的命名空间选择选项,请保留启用 Windows Server 2008 模式选项已选中,然后选择下一步.
注意 Windows Server 2008 模式是命名空间的最新可用选项。
-
查看命名空间设置并选择Create.
-
在下面选择了新创建的命名空间命名空间在导航栏中,选择操作,那么添加命名空间 Server.
-
适用于命名空间 Server中,输入您启动的第二个 DFS 命名空间服务器的计算机名称。
-
选择编辑设置,根据您的要求设置适当的权限,然后选择确定.
-
选择Add中,输入主 Amazon FSx 文件系统上文件共享的 UNC 名称(例如\\
fs-0123456789abcdef0
.example.com\分享
) 对于文件夹的路径目标,然后选择确定. -
选择Add中,输入备用 Amazon FSx 文件系统上文件共享的 UNC 名称(例如,\\
fs-fedbca9876543210f
.example.com\分享
) 对于文件夹的路径目标,然后选择确定。 -
从新文件夹窗口中,选择确定. 新文件夹将使用命名空间下的两个文件夹目标创建。
-
对要添加到命名空间的每个文件共享重复最后三个步骤。
-
如果您尚未运行 DFS 命名空间服务器,请使用设置-dfsn-Server。模板
AWS CloudFormation。有关创建AWS CloudFormation堆栈,请参阅在创建堆栈AWS CloudFormation 控制台中的AWS CloudFormation用户指南. -
以用户身份 Connect 到在上一步中启动的 DFS 命名空间服务器之一AWS委托管理员组中)。有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
-
打开启动然后输入菜单PowerShell. Windows PowerShell将出现在匹配列表中。
-
打开的上下文(右键单击)菜单Windows PowerShell然后选择作为管理员运行.
-
如果尚未安装 DFS 管理工具,请使用以下命令将其安装在实例上。
Install-WindowsFeature RSAT-DFS-Mgmt-Con
-
如果还没有现有 DFS 命名空间,可以使用以下命名空间创建一个 PowerShell 命令。
$NSS1 =
computer name of the 1st DFS Namespace server
$NSS2 =computer name of the 2nd DFS Namespace server
$DNSRoot =fully qualified Active Directory domain name (e.g. mydomain.com)
$Namespace =Namespace name you want to use
$Folder =Folder path you want to use within the Namespace
$FS1FolderTarget =Share path to Folder Target on File System 1
$FS2FolderTarget =Share path to Folder Target on File System 2
$NSS1,$NSS2 | ForEach-Object { Invoke-Command –ComputerName $_ –ScriptBlock { mkdir “C:\DFS\${using:Namespace}”; New-SmbShare –Name ${using:Namespace} –Path “C:\DFS\${using:Namespace}” } } New-DfsnRoot -Path "\\${DNSRoot}\${Namespace}" -TargetPath "\\${NSS1}.${DNSRoot}\${Namespace}" -Type DomainV2 New-DfsnRootTarget -Path "\\${DNSRoot}\${Namespace}" -TargetPath "\\${NSS2}.${DNSRoot}\${Namespace}" -
要在 DFS 命名空间中创建文件夹,可以使用以下 PowerShell 命令。这样做会创建一个文件夹,默认情况下将访问该文件夹的计算实例引导到您的主 Amazon FSx 文件系统。
$FS1 =
DNS name of primary FSx file system
New-DfsnFolder –Path “\\${DNSRoot}\${Namespace}\${Folder}" -TargetPath “\\${FS1}\${FS1FolderTarget}” –EnableTargetFailback $True –ReferralPriorityClass GlobalHigh -
将备用 Amazon FSx 文件系统添加到同一个 DFS 命名空间文件夹中。如果访问该文件夹的计算实例无法连接到主 Amazon FSx 文件系统,则返回到此文件系统。
$FS2 =
DNS name of secondary FSx file system
New-DfsnFolderTarget –Path “\\${DNSRoot}\${Namespace}\${Folder}" -TargetPath “\\${FS2}\${FS2FolderTarget}”
现在,您可以使用之前指定的 DFS 命名空间文件夹的远程路径从计算实例访问数据。执行此操作会将计算实例定向到主 Amazon FSx 文件系统(如果主实例无响应,则指向备用文件系统)。
例如,打开启动然后输入菜单PowerShell
. 从列表中选择Windows
PowerShell
然后运行以下命令。
net use Z: \\${DNSRoot}\${Namespace}\${Folder} /persistent:yes
使用维护时段和 FSx 多可用区
为了帮助确保多可用区文件系统部署的高可用性,我们建议您为多可用区部署中的两个 Amazon FSx 文件系统选择不重叠的维护窗口。这样做有助于确保您的文件数据在系统维护时段内继续供应用程序和用户使用。
要允许 DFS 复制流量进出文件系统,请确保添加 VPC 安全组入站和出站规则,如中所述Amazon VPC 安全组.