

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

# Lustre 数据压缩
<a name="data-compression"></a>

可以使用 Lustre 数据压缩功能节省适用于 Lustre 的 Amazon FSx 高性能文件系统和备份存储的成本。启用数据压缩后，适用于 Lustre 的 Amazon FSx 会在将新写入的文件写入磁盘之前自动对其进行压缩，并在读取时自动解压缩。

数据压缩使用 LZ4 算法，该算法经过优化，可在不对文件系统性能产生不利影响的情况下提供高级别的压缩。LZ4 是 Lustre 社区信赖且以性能为导向的算法，可在压缩速度和压缩文件大小之间实现平衡。启用数据压缩通常不会对延迟产生重大影响。

数据压缩可以减少在适用于 Lustre 的 Amazon FSx 文件服务器和存储之间传输的数据量。如果您尚未使用压缩文件格式，则在使用数据压缩时，文件系统的总体吞吐能力将有所增加。在前端网络接口卡饱和后，与数据压缩相关的吞吐能力增加将受到限制。

例如，如果您的文件系统是 PERSISTENT-50 SSD 部署类型，则您的网络吞吐量基准为每 TiB 存储 250 Mbps。您的磁盘吞吐量基准为每 TiB 50MBps。启用数据压缩后，您的磁盘吞吐量可以从每 TiB 50MBps 增加到最大值，即每 TiB 250MBps，这是基准网络吞吐量限制。有关网络和磁盘吞吐量限制的更多信息，请参阅[SSD 和 HDD 存储类别的性能特点](ssd-storage.md)中的文件系统性能表。有关数据压缩性能的更多信息，请参阅 *AWS 存储博客*上的文章 [Spend less while increasing performance with Amazon FSx for Amazon FSx for Lustre data compression](https://aws.amazon.com/blogs/storage/spend-less-while-increasing-performance-with-amazon-fsx-for-lustre-data-compression/)。

**Topics**
+ [管理数据压缩](#manage-compression)
+ [压缩以前写入的文件](#migrate-compression)
+ [查看文件大小](#view-compression)
+ [使用 CloudWatch 指标](#compression-metrics)

## 管理数据压缩
<a name="manage-compression"></a>

创建适用于 Lustre 的 Amazon FSx 新文件系统时，可以启用或禁用数据压缩。当您通过 AWS CLI控制台或 API 创建 Amazon FSx for Lustre 文件系统时，默认情况下会关闭数据压缩。

### 创建文件系统时启用数据压缩（控制台）
<a name="create-compression-fs-console"></a>

1. 打开 Amazon FSx 控制台，网址为。[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)

1. 按照*入门*部分的[步骤 1：创建 FSx for Lustre 文件系统](getting-started.md#getting-started-step1)中所述的步骤创建新文件系统。

1. 在**文件系统详细信息**部分中，在**数据压缩类型**下选择 **LZ4**。

1. 按照创建新文件系统时的操作完成向导。

1. 选择**审核和创建**。

1. 查看您为适用于 Lustre 的 Amazon FSx 文件系统选择的设置，然后选择**创建文件系统**。

当文件系统变为**可用**时，数据压缩将启用。

### 创建文件系统时启用数据压缩（CLI）
<a name="create-compression-fs-cli"></a>
+ 要创建 FSx for Lustre 文件系统并启用数据压缩，请使用带有 `DataCompressionType` 参数的 Amazon FSx CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/fsx/create-file-system.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/create-file-system.html)，如下所示。相应的 API 操作是 [CreateFileSystem](https://docs.aws.amazon.com/fsx/latest/APIReference/API_CreateFileSystem.html)。

  ```
  $ 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
            }
        }
    ]
}
```

此外，也可以更改现有文件系统的数据压缩配置。为现有文件系统启用数据压缩时，仅压缩新写入的文件，而不会压缩现有文件。有关更多信息，请参阅 [压缩以前写入的文件](#migrate-compression)。

### 更新现有文件系统上的数据压缩（控制台）
<a name="manage-compression-console"></a>

1. 打开 Amazon FSx 控制台，网址为。[https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/)

1. 导航到**文件系统**，然后选择要为其管理数据压缩的 Lustre 文件系统。

1. 对于**操作**，选择**更新数据压缩类型**。

1. 在**更新数据压缩类型**对话框中，选择 **LZ4** 以启用数据压缩，或选择**无**将其禁用。

1. 选择**更新**。

1. 可以在文件系统详细信息页面的**更新**选项卡上监控更新进度。

### 更新现有文件系统上的数据压缩（CLI）
<a name="manage-compression-cli"></a>

[要更新现有 FSx for Lustre 文件系统的数据压缩配置，请 AWS CLI 使用 update-file-system 命令。](https://docs.aws.amazon.com/cli/latest/reference/fsx/update-file-system.html)设置以下参数：
+ 将 `--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
```

### 从备份创建文件系统时配置数据压缩
<a name="migrate-compression-backup"></a>

可以使用可用备份创建适用于 Lustre 的 Amazon FSx 新文件系统。从备份创建新的文件系统时，无需指定 `DataCompressionType`；将使用备份的 `DataCompressionType` 设置应用该设置。如果在从备份创建时选择指定 `DataCompressionType`，则该值必须与备份的 `DataCompressionType` 设置一致。

要查看备份的设置，请从 Amazon FSx 控制台的**备份**选项卡中选择该备份。备份详细信息将在备份的**摘要**页面上列出。您也可以运行该[https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-backups.html](https://docs.aws.amazon.com/cli/latest/reference/fsx/describe-backups.html) AWS CLI 命令（等效的 API 操作是 [https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeBackups.html](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeBackups.html)）。

## 压缩以前写入的文件
<a name="migrate-compression"></a>

如果文件是在适用于 Lustre 的 Amazon FSx 文件系统上禁用数据压缩时创建的，则这些文件未压缩。启用数据压缩不会自动压缩现有的未压缩数据。

可以使用在 Lustre 客户端安装过程中安装的 `lfs_migrate` 命令压缩现有文件。有关示例，请参阅上有[FSxL-Compression](https://github.com/aws-samples/fsx-solutions/blob/master/FSxL-Compression)哪个可用 GitHub。

## 查看文件大小
<a name="view-compression"></a>

可以使用以下命令查看文件和目录的未压缩大小和压缩大小。
+ `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 指标
<a name="compression-metrics"></a>

您可以使用 Amazon CloudWatch Logs 指标来查看您的文件系统使用情况。`LogicalDiskUsage` 指标显示逻辑磁盘总使用量（不含压缩），而 `PhysicalDiskUsage` 指标显示物理磁盘总使用量（含压缩）。只有当您的文件系统启用了数据压缩或之前启用了数据压缩时，这两个指标才可用。

可以通过将 `LogicalDiskUsage` 的 `Sum` 统计数据除以 `PhysicalDiskUsage` 的 `Sum` 统计数据来确定文件系统的压缩率。

有关监控文件系统性能的更多信息，请参阅[监控 Amazon FSx for Lustre 文件系统](monitoring_overview.md)。