

# 增加数据库实例存储容量
<a name="USER_PIOPS.ModifyingExisting"></a>

要增加数据库实例的存储容量，请使用以下任一方法：

**纵向扩展存储卷**  
每个数据库实例都有一个最大容量为 64 TiB 的主存储卷。您可以将存储卷上的已分配空间至少增加 10%。您无法取消分配空间。

**最多添加三个存储卷（io2 或 gp3）**  
您可以通过向每个数据库实例添加最多三个卷，来增加 RDS for Oracle 或 RDS for SQL Server 实例的总存储容量。每个附加卷最多分配 64 TiB 的存储空间，每个实例最大为 256 TiB。  
对于 RDS for Oracle 数据库实例，您可以添加一个最小存储大小为 200 GiB 的存储卷。

您可以使用 Amazon RDS 管理控制台、Amazon RDS API 或 AWS Command Line Interface（AWS CLI）来使用上述任一方法。有关存储限制的信息，请参阅[Amazon RDS 数据库实例存储](CHAP_Storage.md)。

# 纵向扩展数据库实例存储
<a name="USER_PIOPS.ModifyingExisting.ScalingUp"></a>

通过增加为主卷分配的存储，则可以纵向扩展现有数据库实例的存储。当您增加分配的存储时，必须至少增加 10%。如果您尝试将该值增加不到 10％，则会得到错误。为卷分配存储后，无法减少卷上的存储量。

**注意**  
对于 RDS for SQL Server 数据库实例，仅可以对通用型 SSD 和预调配 IOPS SSD 存储类型扩展存储。

要监控数据库实例的可用存储量以便您能够在需要时做出响应，我们建议您创建 Amazon CloudWatch 警报。有关设置 CloudWatch 警报的更多信息，请参阅[使用 CloudWatch 警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)。

扩展存储通常不会导致数据库实例的任何中断或性能下降。在修改数据库实例的存储大小后，数据库实例的状态为 **storage-optimization**。

存储优化可能耗时数小时。六（6）小时后或在实例上完成存储优化后，您才能进行进一步的存储修改。您可以在 AWS 管理控制台中或使用 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) AWS CLI 命令查看存储优化进度。

## 控制台
<a name="USER_PIOPS.ModifyingExisting.console"></a>

**增加数据库实例的存储**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择 **Databases (数据库)**。

1. 选择要修改的数据库实例。

1. 选择**修改**。

1. 为 **Allocated Storage (分配的存储)** 输入新值。它必须至少比当前值大 10%。  
![\[修改数据库实例的存储量\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/scale-gs2.png)

1. 选择**继续**。

1. 选中**修改计划**部分中的**立即应用**来立即将存储更改应用于数据库实例。

   或选择 **Apply during the next scheduled maintenance window (在下一个计划的维护时段内应用)** 以在下一个维护时段内应用更改。

1. 根据需要设置完毕后，选择**修改数据库实例**。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.cli"></a>

要增加数据库实例的存储，请使用 AWS CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)。设置以下参数：
+ `--allocated-storage` – 要为数据库实例分配的存储量（以 GiB 为单位）。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即应用存储更改。

  或使用 `--no-apply-immediately` (原定设置) 以在下一个维护时段内应用更改。在应用更改时，将会立即发生中断。

以下示例将 `mydbinstance` 的存储纵向扩展到 1000 GiB，并立即应用更改。该命令还会将存储卷迁移到 gp3，并将预调配 IOPS 设置为 6000。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --allocated-storage 1000 \
    --storage-type gp3 \
    --iops 6000 \
    --apply-immediately
```

有关存储的更多信息，请参阅 [Amazon RDS 数据库实例存储](CHAP_Storage.md)。

## RDS API
<a name="USER_PIOPS.ModifyingExisting.api"></a>

要增加数据库实例的存储，请使用 Amazon RDS API 操作 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)。设置以下参数：
+ `AllocatedStorage` – 要为数据库实例分配的存储量（以 GiB 为单位）。
+ `ApplyImmediately` – 将此选项设置为 `True` 可立即应用存储更改。将此选项设置为 `False` (原定设置) 可在下一个维护时段内应用更改。在应用更改时，将会立即发生中断。

有关存储的更多信息，请参阅 [Amazon RDS 数据库实例存储](CHAP_Storage.md)。

# 添加存储卷
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes"></a>

对于 RDS for Oracle 和 RDS for SQL Server 数据库实例，您最多可以添加三个存储卷，来将每个实例的总存储容量增加到多达 256 TiB。附加存储卷可让您使用不同的存储类型（gp3 和 io2），根据您的数据访问模式优化成本和性能。

**注意**  
对于 RDS for Oracle 数据库实例，您可以添加一个最小存储大小为 200 GiB 的存储卷。

您可以使用 AWS 管理控制台或 AWS CLI 来添加、修改或移除附加存储卷。您可以使用不同的已分配存储、IOPS 和吞吐量设置来配置卷。例如，您可以将高性能数据放在 io2 卷上，而将历史数据放在 gp3 卷上。

附加卷必须使用下表中显示的卷名称。


| RDS for Oracle 卷名称 | RDS for SQL Server 卷名称 | 
| --- | --- | 
| rdsdbdata2 | H: | 
| rdsdbdata3 | I: | 
| rdsdbdata4 | J: | 

## 控制台
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.console"></a>

**向数据库实例添加附加存储卷**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择 **Databases (数据库)**。

1. 选择要修改的数据库实例。

1. 选择**修改**。

1. 在**存储**部分中，选择**添加附加存储卷**。

1. 配置附加存储卷：
   + **卷名称**：选择 `rdsdbdata2`、`rdsdbdata3` 或 `rdsdbdata4`。
   + **存储类型**：选择**通用型 SSD（gp3）**或**预调配 IOPS SSD（io2）**。
   + **分配的存储**：以 GiB 为单位输入存储大小（最小 200 GiB）。
   + 对于 io2 存储，配置**预调配 IOPS**。
   + 对于 gp3 存储，可以选择配置**存储吞吐量**。

1. 选择**继续**。

1. 根据需要设置完毕后，选择**修改数据库实例**。

**重要**  
当您使用 `modify-db-instance` 操作添加附加存储卷时，无论 `--no-apply-immediately` 参数如何，RDS 都会立即添加存储卷。如果您在请求中还有其它修改，RDS 会根据计划修改应用这些修改。请参阅[使用计划修改设置](USER_ModifyInstance.ApplyImmediately.md)。

## AWS CLI
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.cli"></a>

要向数据库实例添加附加存储卷，请使用 AWS CLI 命令 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)。将 `--additional-storage-volumes` 设置为 JSON 数组，以指定要添加或修改的附加存储卷。

以下示例向 `mydbinstance` 添加了一个附加存储卷，其名称为 `rdsdbdata2`，具有 5000 GiB 的 gp3 存储空间。

当您添加附加存储卷时，无论 `--no-apply-immediately` 参数如何，RDS 都会立即应用更改。

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --additional-storage-volumes '[
        {
            "VolumeName": "rdsdbdata2",
            "StorageType": "gp3",
            "AllocatedStorage": 5000,
            "StorageThroughput": 725
        }
    ]'
```

## RDS API
<a name="USER_PIOPS.ModifyingExisting.AdditionalVolumes.api"></a>

要向数据库实例添加附加存储卷，请使用 Amazon RDS API 操作 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)。将 `AdditionalStorageVolumes` 参数设置为附加存储卷规格的数组。

当您使用 ModifyDBInstance API 操作添加附加存储卷时，无论 `ApplyImmediately` 选项为 True 还是 False，RDS 都会立即添加该存储卷。