

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

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

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

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

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

例如，如果您的文件系统是 PERSISTENT-50 SSD 部署类型，则您的网络吞吐量基准为 MBps 每 TiB 存储 250。您的磁盘吞吐量基准为 MBps 每 TiB 50。通过数据压缩，您的磁盘吞吐量可以从 MBps每 TiB 50 增加到最大 250 MBps （这是基准网络吞吐量限制）。有关网络和磁盘吞吐量限制的更多信息，请参阅[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>

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

### 创建文件系统时启用数据压缩（控制台）
<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. 查看您为 Amazon FSx for Lustre 文件系统选择的设置，然后选择**创建文件系统**。

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

### 创建文件系统时启用数据压缩（CLI）
<a name="create-compression-fs-cli"></a>
+ 要创建开启数据压缩功能 FSx 的 for Lustre 文件系统，请使用[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)带有`DataCompressionType`参数的 Amazon FSx CLI 命令，如下所示。相应的 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 以 JSON 格式 FSx 返回文件系统描述，如以下示例所示。

```
{

    "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>

您可以使用可用的备份来创建新的 Amazon FSx for Lustre 文件系统。从备份创建新的文件系统时，无需指定 `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>

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

可以使用在 Lustre 客户端安装过程中安装的 `lfs_migrate` 命令压缩现有文件。有关示例，请参阅上提供的 [FSxL-Com](https://github.com/aws-samples/fsx-solutions/blob/master/FSxL-Compression) pression。 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)。