阿里云云盘使用全攻略:ESSD、SSD及常见问题解答

阿里云提供了多种类型的云盘,其中ESSD云盘以其卓越的性能备受瞩目。无论是高性能要求的数据库应用,还是普通的数据存储需求,阿里云云盘都能提供全面的解决方案。本文将详细解析ESSD云盘的性能特点、产品规格以及与其他云盘类型的异同,并深入探讨SSD云盘、独立云盘的使用场景及常见问题。同时,还将指导您如何挂载、卸载云盘,处理扩容、分区操作及快照管理等实用技巧,帮助您更高效地使用阿里云云盘。

一、ESSD云盘问题

1.什么是ESSD云盘?

ESSD(Enterprise SSD)云盘是阿里云推出的超高性能云盘产品。ESSD云盘结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延能力。

2.ESSD云盘提供的产品规格有哪些?

ESSD云盘按照性能级别分为不同的规格。对于存储设备而言,不同的容量能达到的性能不同,容量越大,存储设备的数据处理能力越强。所有ESSD云盘性能级别的单位容量的I/O性能均一致,但云盘性能随容量增长而线性增长,直至达到该性能级别的单盘性能上限。

性能级别ESSD云盘容量范围(GiB)最大IOPS最大吞吐量(MB/s)
PL01~65,53610,000180
PL120~65,53650,000350
PL2461~65,536100,000750
PL31,261~65,5361,000,0004,000

3.相比SSD云盘或者高效云盘,ESSD云盘有哪些异同?

共同点:三种云盘都是基于分布式块存储架构的云盘类产品,具备高可靠和弹性扩容等特性,支持快照和加密等数据功能。
差异点:ESSD云盘的性能相比SSD云盘或者高效云盘都有大幅提升。

4.ESSD云盘的性能指标与产品规格是如何计算的?

ESSD云盘的性能与容量线性相关,容量越大性能越高,相比SSD云盘有大幅的性能提升。

5.如何测试ESSD云盘的性能?

您可以通过FIO工具压测ESSD云盘性能。

6.ESSD云盘性能和实例性能有什么关系?

部分实例维度的存储I/O性能和实例规格成正比线性关系。例如,云服务器ECS存储增强型实例g7se的存储I/O性能跟实例规格成线性关系,同一类型的实例规格等级越高可获得的存储IOPS和吞吐量越高。

当您创建某个规格的g7se实例并挂载ESSD云盘时:

  • 如果ESSD云盘的性能总和不超过实例规格族所对应的存储I/O能力,实际存储性能以ESSD云盘性能为准。
  • 如果ESSD云盘的性能总和超过了实例规格族所对应的存储I/O能力,实际存储性能以该实例规格对应的存储I/O能力为准。

例如,当您创建了ecs.g7se.xlarge 16GiB规格实例后,该实例最大存储IOPS为6万。如果挂载了1块存储I/O能力为2 TiB的ESSD云盘(单盘IOPS为101800),该实例最大存储IOPS只能为6万,而无法达到2 TiB ESSD云盘的101800 IOPS。

二、SSD云盘问题

1.SSD云盘适用于哪些应用场景?

SSD云盘具有高性能、高可靠性等特点,适合数据可靠性要求高的I/O密集型应用,如MySQL、SQL Server、Oracle、PostgreSQL等中小型关系数据库场景。同时适用对数据可靠性要求高的中小型开发测试环境。

2.是否支持将原普通云盘更换成SSD云盘?

由于SSD云盘采用全SSD的存储介质实现,不支持将存量的普通云盘直接更换为SSD云盘。

3.使用了I/O优化实例和SSD云盘之后,Linux系统在分区挂载的时候为什么报错?

SSD云盘在Linux系统内挂载点显示为/dev/vd,与常见的挂载点/dev/xvd有所区别。建议您按照/dev/vd*挂载点格式填写挂载命令。

4.普通云盘和SSD云盘添加挂载信息时需要注意什么?

Linux系统添加数据盘时,在格式化数据盘编辑分区信息时,需要注意I/O优化实例和非I/O优化实例的数据盘设备名不同。数据盘的设备名默认由系统分配,命名规则如下所示:

  • I/O优化实例:
    通过NVMe协议挂载的数据盘设备名为/dev/nvmeXn1,例如/dev/nvme1n1、/dev/nvme2n1、/dev/nvme3n1,以此类推。
    非NVMe协议挂载的数据盘设备名为/dev/vd[b-z],例如/dev/vdb、/dev/vdc和/dev/vdd等。
    非I/O优化实例:数据盘设备名为/dev/xvd[b-z],例如/dev/xvdb、/dev/xvdc和/dev/xvdd等。

说明:建议您在/etc/fstab中使用全局唯一标识符UUID来引用新分区。由于释放云盘等操作可能会导致其他云盘的设备名变动,如果在/etc/fstab中直接使用设备名,当设备名变动时可能影响您的存储数据。

如果添加了错误的信息,使用mount -a命令将无法挂载。解决方法如下:

  • 运行fdisk -l查看具体的数据盘信息。
  • 查看/etc/fstab里面添加的信息是否对应。
  • 使用vim修改/etc/fstab文件。
  • 将错误的信息注释或者删除,添加对应的挂载信息。
  • 运行mount -a测试是否能挂载成功。

三、挂载和卸载云盘问题

1.什么是设备名(挂载点)?

设备名(挂载点)是云服务器ECS上云盘在磁盘控制器总线上的位置。所选配的设备名,在Linux操作系统下与磁盘设备号对应,在Windows操作系统下与磁盘管理器中的磁盘顺序一致。

2.什么是独立云盘?

独立云盘,即单独购买的按量付费数据盘,而不是随实例创建的数据盘。它可以在同一个可用区内的不同ECS实例之间自由挂载和卸载,但不能跨地域、跨可用区挂载。独立云盘必须挂载到实例上,并分区格式化,才能使用。

3.一块云盘可以挂载到多台ECS实例上吗?

不能。一块云盘只能挂载到同一可用区的一台实例,不支持跨可用区挂载。

4.购买了按量付费云盘并挂载到ECS实例后,还需要执行挂载分区的操作吗?

单独购买了按量付费数据盘之后,您需要将该数据盘挂载到实例上,并分区格式化。

5.一台实例能挂载多少块云盘?

一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的最多云盘数量不同。

6.为什么挂载云盘时找不到我想挂载的实例?

请确保您的实例没有被释放,并且实例和云盘处于同一个地域的同一个可用区。

7.云盘和实例在不同的可用区,可以挂载吗?

不可以。您只能在同一可用区内的不同ECS实例间自由挂载和卸载按量付费云盘。

8.卸载云盘(数据盘)时,云盘数据会丢吗?

在Windows操作系统下,为了保证数据完整性,强烈建议您暂停对该云盘的所有文件系统的读写操作,否则未完成读写的数据会丢失。
在Linux操作系统下,您需要登录实例中对该云盘执行umount命令,命令执行成功后再进入控制台卸载云盘。

四、独立云盘问题

1.单独购买的按量付费数据盘如何收费?

按量付费数据盘按小时为计费单位出账,如果您的账号余额不足,按量付费数据盘的服务会被停止。

2.为什么我单独创建的云盘和我的实例一起释放了?

云盘可以设置是否随实例自动释放。您可以通过控制台或API开启或关闭随实例释放功能。

3.单独购买的按量付费数据盘能够挂载到包年包月ECS实例上吗?

可以。

4.包年包月ECS实例上的数据盘能卸载吗?

包年包月ECS实例不支持直接卸载数据盘。数据盘到期时间和实例一致,随实例一起释放。如果想要释放数据盘,您可以先将包年包月数据盘转换为按量付费数据盘,再卸载并释放数据盘。

5.我已经操作过续费变配,在续费变配期内是否还能将包年包月云盘转为按量付费云盘?

不能。您可以等到续费变配期结束后,再选择续费变配,转化为按量付费云盘。

五、云盘快照问题

1.删除云盘的时候,快照会被保留吗?

手动快照不会被删除。自动快照是否会被删除,取决于您是否设置了自动快照随磁盘释放。

2.为什么我的云盘没有自动快照了?

快照数量达到快照配额后,系统会自动删除最早创建的自动快照,手动快照不受影响。

3.可以使用快照单独创建云盘吗?

可以。在单独创建按量付费云盘时,选择已有的快照创建即可。

六、重新初始化云盘问题

1.数据盘挂载问题导致数据无法访问,应该如何排查?

如果无法访问Linux数据盘的数据,您可以参考以下排查思路。

  1. 找到数据所在的云盘,并确认数据盘是否挂载在对应的ECS实例。
    在控制台查看。具体操作,请参见查看云盘监控信息。
    在实例内部,使用fdisk -l命令查看数据盘的分区信息是否正常,并使用df -h和mount | grep "<devpath>"命令查看挂载情况。
  2. 使用cat命令查看/etc/fstab文件,是否将两块云盘挂载到同一目录。
    如果挂载在同一目录,先挂载的云盘会被后挂载的云盘替换,导致数据无法访问。建议将其中一块云盘挂载到另外一个目录下。
    如果没有挂载在同一个目录下,但挂载信息仍显示在同一目录,使用ll命令查看挂载的两个目录是否存在连接。如果存在连接,建议用mkdir命令新建一个目录挂载,并测试能否访问数据。

2.重启Linux系统ECS实例后数据丢失怎么办?

  • 问题现象:重启实例后发现某一目录(例如/alidata)所有数据丢失。
  • 问题原因:运行df -h查看,发现没有挂载数据盘分区。
  • 解决方法:本方法以I/O优化实例非NVMe协议挂载的数据盘/dev/vdb1分区为例。如果是I/O优化实例NVMe协议挂载的数据盘,云盘设备名为/dev/nvmeXn1;如果是非I/O优化实例,云盘设备名为/dev/xvd[b-z]。请您根据实际情况操作。
    运行fdisk -l命令查看未挂载的数据盘分区。
    运行mount /dev/vdb1 /alidata挂载数据盘分区。
    运行df -h查看是否成功挂载数据盘分区。
    (可选)在/etc/fstab中设置开机自动挂载,避免下次出现同样问题。

3.重新初始化云盘时,我的快照会丢失吗?

不会,手动快照和自动快照都不会丢失。

4.重启Linux系统ECS实例或者重新初始化系统盘后数据盘不见了怎么办?

  • 问题现象:Linux实例重启或初始化系统之后,再登录实例运行df -h查看云盘挂载,发现数据盘不见了。
  • 问题原因:
    重启实例:如果重启实例前,您没有将挂载信息写入到/etc/fstab中,重启实例之后实例不会自动挂载数据盘。
    重新初始化系统盘:初始化系统盘会重置/etc/fstab文件,重新初始化系统盘后实例不会自动挂载数据盘。
  • 解决方案:
    本方法以非I/O优化实例/dev/xvdb1分区为例。如果是I/O优化实例非NVMe协议挂载的数据盘,云盘设备名为/dev/vd[b-z];如果是I/O优化实例NVMe协议挂载的数据盘,云盘设备名为/dev/nvmeXn1。请您根据实际情况操作。
    运行mount /dev/xvdb1命令重新挂载数据盘。
    运行mount命令查看数据盘分区/dev/xvdb1的文件格式。
    假设您查看到/dev/xvdb1分区使用的是ext3文件系统,执行以下命令将数据盘挂载信息写入到/etc/fstab文件中。

echo '/dev/xvdb1 /data ext3 defaults 0 0' >> /etc/fstab

在控制台重启ECS实例。

4.Linux系统ECS实例重新初始化系统盘后如何重新挂载数据盘?

在Linux实例中,重新初始化系统盘不会改变数据盘里的内容,但是数据盘的挂载信息会丢失。假设重新初始化系统盘之前,实例上挂载的数据盘分区名称为/dev/vdb1,挂载点名称为/InitTest。重启Linux实例后,请参见以下步骤创建新的挂载点信息并挂载数据盘分区。

  1. 运行mount查看数据盘挂载信息,返回结果中没有/dev/vdb1的信息。
  2. 运行fdisk -l查看数据盘分区信息。
  3. 运行cat /etc/fstab查看数据盘分区/dev/vdb1原有的挂载点名称。
  4. 运行mkdir /InitTest重新创建数据盘分区的挂载点。新建的挂载点名称必须与重新初始化系统盘之前/dev/vdb1的挂载点名称保持一致。
  5. 运行mount /dev/vdb1 /InitTest重新挂载数据盘分区。
  6. 运行df -h查看挂载结果。
  7. 按以下步骤检测数据盘/dev/vdb1是否能自动挂载。
  • 运行umount /dev/vdb1卸载/dev/vdb1。
  • 运行mount查看挂载信息。
  • 如果卸载成功,返回结果中不会有/dev/vdb1的信息。
  • 运行mount -a自动挂载/dev/vdb1。
  • 运行mount查看挂载信息。
  • 如果自动挂载成功,返回结果中会有/dev/vdb1的信息。

4.重新初始化系统盘与更换系统盘(操作系统)有什么差异?

主要差异如下表所示:

差异项重新初始化系统盘更换系统盘(操作系统)
功能差异初始化会还原云服务器的初始化状态,初始化前后操作系统不变。将现有的操作系统类型切换为其他类型的操作系统。
对系统盘的影响旧系统盘不会被释放。
系统盘数据会恢复到刚创建时的状态,创建实例后安装的应用程序和产生的数据都会被清除,建议您做好数据备份。
系统盘ID、云盘类型、ECS实例的IP地址等均保持不变。
更换操作系统后,原来旧的系统盘会被释放。
会清除系统盘上的所有数据,建议您做好数据备份。
系统盘ID会变,但是云盘类型、ECS实例IP地址以及弹性网卡MAC地址保持不变。
对数据盘的影响不会影响数据盘。不会影响数据盘。
对快照的影响基于系统盘创建的快照可以用于回滚云盘。
基于系统盘创建的手动快照和自动快照均会保留。
自动快照策略设置仍然有效,不需要重新设置。
基于旧系统盘创建的快照,不能用于回滚新系统盘,但可以用于创建自定义镜像。
基于旧盘手动创建的快照,不会被释放。
自动创建的快照,如果旧系统盘开启自动快照随云盘释放,则自动快照会被自动删除;如果未开启自动快照随云盘释放,则到期后自动释放。
旧系统盘的自动快照策略将失效,需要重新设置。
计费情况初始化系统盘不收费。初始化前后操作系统不变,计费项不发生改变。更换操作系统动作本身不收取费用,以下情况会收取费用:
如果更换的新镜像是收费镜像,则会收取镜像费用。
如果更换时扩容了系统盘的云盘容量,则会收取新增容量的费用。



更换操作系统动作本身不收取费用,以下情况会收取费用:
如果更换的新镜像是收费镜像,则会收取镜像费用。
如果更换时扩容了系统盘的云盘容量,则会收取新增容量的费用。

七、扩容云盘问题

1.更换系统盘时,我的快照会丢失吗?

历史系统盘的手动快照仍旧保留,如果自动快照设置了自动快照随磁盘释放则会被删除。

2.更换系统盘应该注意什么问题?

更换系统盘之前建议您创建快照备份数据,并且您需要确保系统盘有1GiB以上的预留空间。否则更换系统盘后,实例可能无法正常启动。

3.如何扩容系统盘?

您可以通过控制台或者调用ResizeDisk扩容系统盘。

4.云盘扩容之后是否支持再缩容?

不支持。扩容后的云盘新容量生效后无法再缩小,建议您合理规划存储空间。如果您有云盘缩容的需求,可以通过阿里云服务器迁移中心SMC来完成。

5.所有块存储都支持系统盘扩容吗?有地域限制吗?

ESSD AutoPL云盘、 ESSD PL-X云盘、高效云盘、SSD云盘、ESSD云盘支持系统盘扩容。所有的地域都支持扩容系统盘。

6.包年包月和按量付费的ECS实例都支持扩容系统盘吗?

包年包月和按量付费的ECS实例都支持扩容系统盘。

7.系统盘的容量范围是多少?最大能扩容到多少?

容量范围随实例使用的镜像变化。

8.云服务器ECS续费变配后,不支持更换系统盘时指定系统盘容量吗?

包年包月ECS实例完成续费降配操作后,只有进入新计费周期后才能扩容系统盘,当前计费周期内不支持扩容系统盘。

9.如何利用快照创建云盘实现无损扩容数据盘?

在扩容数据盘时,若遇到云盘原因导致无法无损地扩容时,您可以临时新建一块按量付费云盘存放数据,然后彻底格式化数据盘。请参见以下步骤。

  1. 为当源数据盘创建快照。
  2. 前往云盘购买页,选择和ECS实例相同的地域及可用区,并选择用快照创建磁盘,选择上一步生成的快照。
  3. 在ECS控制台,将新建数据盘挂载到同一台ECS实例上。
  4. 登录ECS实例,运行mount命令挂载新建云盘。
  5. 抽检查看新建数据盘中的文件是否和源数据盘一致。
  6. 确认数据一致后,使用fdisk删除原有的分区表,然后再使用fdisk、mkfs.ext3等命令重新对数据盘执行分区格式化操作,使新建数据盘的可用空间变为扩容之后的大小。
  7. 运行cp -R命令将新建数据盘中的数据全部拷回源数据盘。您可以加上--preserve=all参数,保留文件的属性。
  8. 运行umount命令卸载新建数据盘。
  9. 在ECS控制台从实例上卸载并释放新建数据盘。

10.为什么Linux系统ECS实例扩容云盘提示Bad magic number in super-block while trying to open /dev/vdb1?

  • 问题现象:e2fsck -f /dev/vdb扩容格式化云盘时提示报错Bad magic number in super-block while trying to open /dev/vdb1
  • 问题原因:起始扇区不正确导致。例如通过fdisk -lu命令查看到操作记录中显示扩容前起始扇区位置是63,而重建分区时默认使用的位置是2048。
  • 解决方案
    运行fdisk -lu /dev/vdb命令查看分区的起始位置,并记录下来。
    新建分区后,运行fdisk /dev/vdb命令修改分区起始位置,然后运行r命令返回主菜单,再运行wq命令保存并退出即可。
    分别运行e2fsck -f /dev/vdb和resize2fs /dev/vdb命令重新扩容。
    运行mount命令重新挂载云盘。

11.已经做了离线扩容,但不想重启实例怎么办?

如果已经做了离线扩容但不想重启实例,您可以通过再次在线扩容,在保持实例正常运行的状态下使之前离线扩容效果生效。但再次扩容也会产生一定的费用,请您根据实际业务需要来完成扩容操作。

例如,您已经在ECS控制台上将云盘离线扩容到60 GiB,但此时由于业务需要又不想重启实例,则云盘扩容实际并未生效。那么您可以再次在ECS控制台上做在线扩容,例如在线扩容到61 GiB。扩容完成后,您就可以在操作系统内看到的磁盘容量已经变为61 GiB大小。

八、分区操作问题

1.数据盘能否再次划分出一个分区用作数据存储?

支持。您可以根据需求对数据盘划分多个分区,建议您使用系统自带的工具进行分区操作。

2.划分了多个分区的云盘,创建的快照是针对单分区还是所有分区的?

所有分区。快照备份了整块云盘的数据,而不是该云盘的某几个分区。

3.云盘二次分区有哪些注意事项?

出于数据安全考虑,您需要提前创建快照备份云盘数据,发生操作失误时可以及时回滚云盘。

4.写入数据与分区格式化有什么关系?

一块新云盘或新云盘分区在正常使用前,必须经过初始化,并将数据结构记录到云盘上。格式化的目的是建立文件系统。因此,在云盘上建立文件系统意味着对云盘有写入数据操作。不同的文件系统在格式化时写入的文件大小不同:

  • Windows系统格式化(分为快速和正常格式化):
    快速格式化:只是为分区分配文件系统,并重写目录表。快速格式化占用的实际空间相对较少。
    正常格式化:不但完成快速格式化工作,还逐扇区扫描分区以确定和标记坏扇区,填充云盘空块,相当于写了云盘全盘的数据量。此时,第一份全量快照会近似于云盘容量。
  • Linux系统格式化:格式化云盘后,在实例没有写入业务数据前,第一份快照的容量大小与云盘文件系统格式有关。

八、回滚云盘问题

1.数据盘进行二次分区后,此时回滚快照后,数据盘是几个分区?

快照回滚是回滚到快照时间点,如果该时间点尚未进行二次分区,则没有多个分区。

2.回滚云盘时为什么报错“执行回滚磁盘需要停止实例,并且确保当前磁盘没有创建中的快照和没有更换过操作系统。”?

  • 问题现象:回滚云盘时,报错“执行回滚云盘需要停止实例,并且确保当前云盘没有创建中的快照和没有更换过操作系统。”
  • 问题原因:通常是由于云盘属性或云盘状态不符等原因导致。
  • 解决方案:您可以根据实例状态和相关快照任务排查故障。
    检查实例是否已经正常停止。
    只有已停止的实例才能进行云盘回滚操作。您可以在控制台的实例列表页查看实例状态。

检查相关快照所关联的实例是否更换过系统盘。
如果更换了操作系统,实例的系统盘会随新镜像自动重新创建,系统盘ID会改变。所以,实例原有的快照将无法再用于回滚。但您可以基于相关快照创建自定义镜像,然后再通过更换系统盘方式指定该自定义镜像,将实例切换到相应的快照状态。

检查相关快照归属的云盘是否有正在创建快照。
为保障数据一致性,如果快照归属云盘有正在进行的快照任务,将不允许进行回滚操作。您可以在实例详情页的快照页签中,查看是否存在进度不是100%,状态处于未完成的快照任务。

如果您需要强制终止相关快照任务以便尽快进行云盘回滚操作,可以勾选相应快照,并单击删除快照终止快照任务。

九、其他问题

1.如何转移Linux实例系统盘中的数据?

购买Linux系统的云服务器ECS时,未挂载数据盘,使用一段时间后,系统盘空间使用率接近100%,无法满足业务需求。此时您可以新购并挂载一块数据盘,使用mv命令转移系统盘中的数据到新购的数据盘。

2.如何跨ECS实例拷贝数据?

根据不同的操作系统,您可以参考以下方法跨ECS实例拷贝数据:

  • Linux实例之间数据拷贝
    lrzsz方式
    登录实例,安装lrzsz,然后执行rz上传,sz下载。
    您也可以先用sz下载到本地,再rz上传到另一台实例上。

FTP方式
使用sftp工具,建议用root账号登录进行下载和上传。

wget命令
把文件或者文件夹压缩后,放在Web目录下生成一个下载URL,在另一台实例上用wget命令进行下载 。

SCP方式
登录实例,使用SCP + 源端SSH账号密码直接远程拷贝数据,详细信息请参见Linux scp命令。

  • Linux与Windows之间数据拷贝
    建议在Linux实例上使用sftp,先下载到本地,然后使用FTP上传到Windows实例。
  • Windows之间数据拷贝
    使用FTP的方式
    Windows安装FTP服务的教程请参见手动搭建FTP站点(Windows)。
    两台实例都登录阿里旺旺进行传输

官网相关地址直达:
1.阿里云活动中心(可实时查询阿里云官方最新活动信息):https://www.aliyun.com/activity
2.阿里云服务器ECS相关活动:https://www.aliyun.com/daily-act/ecs/activity_selection
3.云小站(代金券发布平台):https://www.aliyun.com/minisite/goods

通过本文的详细解析,相信您对阿里云云盘的使用已经有了全面的了解。无论是ESSD云盘的高性能优势,还是SSD云盘的广泛应用场景,阿里云都为您提供了丰富的选择。同时,我们也介绍了独立云盘的使用注意事项、云盘扩容与缩容的注意事项、以及数据盘挂载与卸载的详细步骤。希望这些信息能帮助您更好地利用阿里云云盘,提升业务效率与数据存储的安全性。

本文原创链接:https://www.tengxunyun8.com/8924.html
版权所有,如未注明,均为原创,转载请注明