Lustre 数据压缩
可以使用 Lustre 数据压缩功能节省 Amazon FSx for Lustre 高性能文件系统和备份存储的成本。启用数据压缩后,Amazon FSx for Lustre 会在将新写入的文件写入磁盘之前自动对其进行压缩,并在读取时自动解压缩。
数据压缩使用 LZ4 算法,该算法经过优化,可在不对文件系统性能产生不利影响的情况下提供高级别的压缩。LZ4 是 Lustre 社区信赖且以性能为导向的算法,可在压缩速度和压缩文件大小之间实现平衡。启用数据压缩通常不会对延迟产生重大影响。
数据压缩可以减少在 Amazon FSx for Lustre 文件服务器和存储之间传输的数据量。如果您尚未使用压缩文件格式,则在使用数据压缩时,文件系统的总体吞吐能力将有所增加。在前端网络接口卡饱和后,与数据压缩相关的吞吐能力增加将受到限制。
例如,如果您的文件系统是 PERSISTENT-50 SSD 部署类型,则您的网络吞吐量基准为每 TiB 存储 250MB/s。您的磁盘吞吐量基准为每 TiB 50MB/s。启用数据压缩后,您的磁盘吞吐量可以从每 TiB 50MB/s 增加到最大值,即每 TiB 250MB/s,这是基准网络吞吐量限制。有关网络和磁盘吞吐量限制的更多信息,请参阅聚合文件系统性能中的文件系统性能表。有关数据压缩性能的更多信息,请参阅 AWS 存储博客上的文章 Spend less while increasing performance with Amazon FSx for Amazon FSx for Lustre data compression
管理数据压缩
创建 Amazon FSx for Lustre 新文件系统时,可以启用或禁用数据压缩。通过控制台、AWS CLI 或 API 创建 Amazon FSx for Lustre 文件系统时,数据压缩默认处于禁用状态。
-
通过以下网址打开 Amazon FSx 控制台:https://console.aws.amazon.com/fsx/
。 按照入门部分的步骤 1:创建 FSx for Lustre 文件系统中所述的步骤创建新文件系统。
在文件系统详细信息部分中,在数据压缩类型下选择 LZ4。
-
按照创建新文件系统时的操作完成向导。
-
选择审核和创建。
-
查看您为 Amazon FSx for Lustre 文件系统选择的设置,然后选择创建文件系统。
当文件系统变为可用时,数据压缩将启用。
要创建 FSx for Lustre 文件系统并启用数据压缩,请使用带有
DataCompressionType
参数的 Amazon FSx CLI 命令create-file-system
,如下所示。相应的 API 操作为 CreateFileSystem。$
aws fsx create-file-system \ --client-request-token CRT1234 \ --file-system-type LUSTRE \ --file-system-type-version 2.12 \ --lustre-configuration DeploymentType=PERSISTENT_1,PerUnitStorageThroughput=50,DataCompressionType=LZ4 \ --storage-capacity 3600 \ --subnet-ids subnet-123456 \ --tags Key=Name,Value=Lustre-TEST-1 \ --region us-east-2
在成功创建文件系统后,Amazon FSx 以 JSON 形式返回文件系统描述,如以下示例所示。
{
"FileSystems": [
{
"OwnerId": "111122223333",
"CreationTime": 1549310341.483,
"FileSystemId": "fs-0123456789abcdef0",
"FileSystemType": "LUSTRE",
"FileSystemTypeVersion": "2.12",
"Lifecycle": "CREATING",
"StorageCapacity": 3600,
"VpcId": "vpc-123456",
"SubnetIds": [
"subnet-123456"
],
"NetworkInterfaceIds": [
"eni-039fcf55123456789"
],
"DNSName": "fs-0123456789abcdef0.fsx.us-east-2.amazonaws.com",
"ResourceARN": "arn:aws:fsx:us-east-2:123456:file-system/fs-0123456789abcdef0",
"Tags": [
{
"Key": "Name",
"Value": "Lustre-TEST-1"
}
],
"LustreConfiguration": {
"DeploymentType": "PERSISTENT_1",
"DataCompressionType": "LZ4",
"PerUnitStorageThroughput": 50
}
}
]
}
此外,也可以更改现有文件系统的数据压缩配置。为现有文件系统启用数据压缩时,仅压缩新写入的文件,而不会压缩现有文件。有关更多信息,请参阅 压缩以前写入的文件。
通过以下网址打开 Amazon FSx 控制台:https://console.aws.amazon.com/fsx/
。 -
导航到文件系统,然后选择要为其管理数据压缩的 Lustre 文件系统。
-
对于操作,选择更新数据压缩类型。
在更新数据压缩类型对话框中,选择 LZ4 以启用数据压缩,或选择无将其禁用。
选择更新。
可以在文件系统详细信息页面的更新选项卡上监控更新进度。
要更新 FSx for Lustre 现有文件系统的数据压缩配置,请使用 AWS CLI 命令 update-file-system。设置以下参数:
-
将
--file-system-id
设置为要更新的文件系统的 ID。 -
将
--lustre-configuration DataCompressionType
设置为NONE
禁用数据压缩,或设置为LZ4
启用使用 LZ4 算法的数据压缩。
以下命令指定启用使用 LZ4 算法的数据压缩。
$ aws fsx update-file-system \ --file-system-id fs-0123456789abcdef0 \ --lustre-configuration DataCompressionType=LZ4
从备份创建文件系统时配置数据压缩
可以使用可用备份创建 Amazon FSx for Lustre 新文件系统。从备份创建新的文件系统时,无需指定 DataCompressionType
;将使用备份的 DataCompressionType
设置应用该设置。如果在从备份创建时选择指定 DataCompressionType
,则该值必须与备份的 DataCompressionType
设置一致。
要查看备份的设置,请从 Amazon FSx 控制台的备份选项卡中选择该备份。备份详细信息将在备份的摘要页面上列出。也可以运行 describe-backups
AWS CLI 命令(等效的 API 操作为 DescribeBackups
)。
压缩以前写入的文件
如果文件是在 Amazon FSx for Lustre 文件系统上禁用数据压缩时创建的,则这些文件未压缩。启用数据压缩不会自动压缩现有的未压缩数据。
可以使用在 Lustre 客户端安装过程中安装的 lfs_migrate
命令压缩现有文件。有关示例,请参阅 GitHub 上提供的 FSxL-Compression
查看文件大小
可以使用以下命令查看文件和目录的未压缩大小和压缩大小。
-
du
显示压缩大小。 -
du --apparent-size
显示未压缩大小。 -
ls -l
显示未压缩大小。
以下示例显示了对同一文件运行每个命令的输出。
$
du -sh samplefile
272M samplefile$
du -sh --apparent-size samplefile
1.0G samplefile$
ls -lh samplefile
-rw-r--r-- 1 root root 1.0G May 10 21:16 samplefile
-h
选项对这些命令非常有用,因为能够以人类可读的格式输出大小。
使用 CloudWatch 指标
可以使用 Amazon CloudWatch Logs 指标查看您的文件系统使用情况。LogicalDiskUsage
指标显示逻辑磁盘总使用量(不含压缩),而 PhysicalDiskUsage
指标显示物理磁盘总使用量(含压缩)。只有当您的文件系统启用了数据压缩或之前启用了数据压缩时,这两个指标才可用。
可以通过将 LogicalDiskUsage
的 Sum
统计数据除以 PhysicalDiskUsage
的 Sum
统计数据来确定文件系统的压缩率。
有关监控文件系统性能的更多信息,请参阅监控 Amazon FSx for Lustre 文件系统。