

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

# 自定义 Amazon EBS 根设备卷
<a name="emr-custom-ami-root-volume-size"></a>

您可以根据自己的用例和成本要求设置卷类型和其他属性。您可以接受默认值，也可以自定义。

## EBS 根卷默认设置
<a name="emr-root-volume-overview"></a>

使用 Amazon EMR 4.x 及更高版本时，您可以在创建集群时指定根卷的大小。在 Amazon EMR 6.15.0 及更高版本中，您还可以指定根卷 IOPS 和吞吐量。这些属性仅适用于 Amazon EBS 根设备卷，并适用于集群中的所有实例。这些属性不适用于您在创建集群时为每个实例类型单独指定的存储卷。
+ Amazon EMR 6.10.0 及更高版本的默认根卷大小为 15GiB。早期版本的默认根卷大小为 10GiB。您最多可以将其调整为 100GiB。
+ 默认根卷 IOPS 为 3000。您最多可以将其调整为 16000。
+ 默认根卷吞吐量为 125 MiB/s. You can adjust this up to 1000 Mib/s。

**注意**  
根卷大小和 IOPS 的比率不能高于 1 个卷对 500 IOPS（1:500），而根卷 IOPS 和吞吐量的比率不能高于 1 个 IOPS 对 0.25 吞吐量（1:0.25）的比率。

有关 Amazon EBS 的更多信息，请参阅 [Amazon EC2 根设备卷](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html)。

## 采用默认 AMI 的根设备卷类型
<a name="emr-root-volume-default-ami"></a>

使用默认 AMI 时，根设备卷类型由您使用的 Amazon EMR 发行版决定。
+ 在 Amazon EMR 6.15.0 及更高版本中，Amazon EMR 将**通用型 SSD（gp3）**挂载作为根设备卷类型。
+ 在低于 6.15.0 的 Amazon EMR 版本中，Amazon EMR 将**通用型 SSD（gp2）**挂载作为根设备卷类型。

## 采用自定义 AMI 的根设备卷类型
<a name="emr-root-volume-custom-ami"></a>

自定义 AMI 可能具有不同的根设备卷类型。Amazon EMR 始终使用您的自定义 AMI 卷类型。
+ 在 Amazon EMR 6.15.0 及更高版本中，您可以为自定义 AMI 配置根卷大小、IOPS 和吞吐量，但前提是这些属性适用于自定义 AMI 卷类型。
+ 在低于 6.15.0 的 Amazon EMR 版本中，您只能为自定义 AMI 配置根卷大小。

如果您在创建集群时未配置根卷大小、IOPS 或吞吐量，则 Amazon EMR 将在适用时使用自定义 AMI 中的值。如果您决定在创建集群时配置这些值，则只要这些值与自定义 AMI 根卷兼容并受其支持，Amazon EMR 将使用您指定的值。有关更多信息，请参阅 [使用自定义 AMI 为 Amazon EMR 集群配置提供更大的灵活性](emr-custom-ami.md)。

## 根设备卷大小定价
<a name="emr-root-volume-pricing"></a>

基于从中运行集群的区域中的卷类型的每月 EBS 费用按小时比例收取 EBS 根设备卷成本。存储卷也是如此。费用按 GB 计算，但如果您以 GiB 为单位指定根卷大小，可能需要在估算值中考虑到这一点（1GB 等于 0.931323GiB）。

通用型 SSD gp2 和 gp3 的计费方式不同。要估算与集群中的 EBS 根设备卷关联的费用，请使用以下公式：

**通用型 SSD gp2**  
**gp2** 的费用仅包括 EBS 卷大小（以 GB 为单位）。  

```
($EBS size in GB/month) * 0.931323 / 30 / 24 * EMR_EBSRootVolumesizeInGiB * InstanceCount
```
例如，采用一个具有一个主节点和一个核心节点并使用带默认 10GiB 根设备卷的基础 Amazon Linux AMI 的集群。如果该区域的 EBS 成本为 0.10 美元/ GB/month, that works out to be approximately \$10.00129 per instance per hour, and \$10.00258 per hour for the cluster (\$10.10/GB/month 除以 30 天，再除以 24 小时，再乘以 10 GB，再乘以 2 个集群实例）。

**通用型 SSD gp3**  
**gp3** 的成本包括 EBS 卷大小（以 GB 为单位）、超过 3000 的 IOPS（免费 3000 IOPS）和超过 125 的吞吐量（免费）。MB/s (125 MB/s  

```
($EBS size in GB/month) * 0.931323 / 30 / 24 * EMR_EBSRootVolumesizeInGiB * InstanceCount
+
($EBS IOPS/Month)/30/24* (EMR_EBSRootVolumeIops - 3000) * InstanceCount
+
($EBS throughput/Month)/30/24* (EMR_EBSRootVolumeThroughputInMb/s - 125) * InstanceCount
```
例如，采用一个具有一个主节点和一个核心节点并使用带默认 15GiB 根设备卷大小、4000 IOPS 和 140 吞吐量的基础 Amazon Linux AMI 的集群。如果该地区的 EBS 成本为 0.10 美元/ GB/month, \$10.005/provisioned IOPS/month over 3000, and \$10.040/provisioned MB/s/month 超过 125 美元。结果大约是每个实例每小时 0.009293 美元，集群每小时约为 0.018586 美元。

## 指定自定义根设备卷的设置
<a name="emr-root-volume-specify"></a>

**注意**  
根卷大小和 IOPS 的比率不能高于 1 个卷对 500 IOPS（1:500），而根卷 IOPS 和吞吐量的比率不能高于 1 个 IOPS 对 0.25 吞吐量（1:0.25）的比率。

------
#### [ Console ]

**要从 Amazon EMR 控制台指定 Amazon EBS 根设备卷属性**

1. [登录 AWS 管理控制台，然后在 /emr 上打开亚马逊 EMR 控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/emr)

1. 在左侧导航窗格中的 **EMR on EC2** 下，选择 **Clusters**（集群），然后选择 **Create cluster**（创建集群）。

1. 选择 Amazon EMR 6.15.0 或更高版本。

1. 在**集群配置**下，导航到 **EBS 根卷**部分，然后为要配置的任何属性输入一个值。

1. 选择适用于集群的任何其他选项。

1. 要启动集群，选择 **Create cluster**（创建集群）。

------
#### [ CLI ]

**要使用指定 Amazon EBS 根设备卷属性 AWS CLI**
+ 使用 [create-cluster](https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html) 命令的 `--ebs-root-volume-size`、`--ebs-root-volume-iops` 和 `--ebs-root-volume-throughput` 参数，如以下示例所示。
**注意**  
为了便于读取，包含 Linux 行继续符（\$1）。它们可以通过 Linux 命令删除或使用。对于 Windows，请将它们删除或替换为脱字号（^）。

  ```
  aws emr create-cluster --release-label emr-6.15.0\
  --ebs-root-volume-size 20 \
  --ebs-root-volume-iops 3000\
  --ebs-root-volume-throughput 135\
  --instance-groups InstanceGroupType=MASTER,\
  InstanceCount=1,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m5.xlarge
  ```

------