块存储FAQ
回滚云盘时为什么报错“执行回滚磁盘需要停止实例,并且确保当前磁盘没有创建中的快照和没有更换过操作系统。”?
对于存储设备而言,不同的容量能达到的性能不同,容量越大,存储设备的数据处理能力越强。所有ESSD云盘性能级别的单位容量的I/O性能均一致,但云盘性能随容量增长而线性增长,直至达到该性能级别的单盘性能上限。
共同点:三种云盘都是基于分布式块存储架构的云盘类产品,具备高可靠和弹性扩容等特性,支持快照和加密等数据功能。
差异点:ESSD云盘的性能相比SSD云盘或者高效云盘都有大幅提升。更多信息,请参见ESSD云盘块存储性能。
ESSD云盘的性能与容量线性相关,容量越大性能越高,相比SSD云盘有大幅的性能提升。更多信息,请参见ESSD云盘。
部分实例维度的存储I/O性能和实例规格成正比线性关系。例如,云服务器ECS存储增强型实例g7se的存储I/O性能跟实例规格成线性关系,同一类型的实例规格等级越高可获得的存储IOPS和吞吐量越高。
如果ESSD云盘的性能总和不超过实例规格族所对应的存储I/O能力,实际存储性能以ESSD云盘性能为准。
如果ESSD云盘的性能总和超过了实例规格族所对应的存储I/O能力,实际存储性能以该实例规格对应的存储I/O能力为准。
推荐使用开源测试工具FIO测试裸盘的关键性能指标,包括IOPS(每秒输入/输出操作次数)、吞吐量(数据传输速率)和时延(响应时间)。请参见测试块存储性能。
FIO测试工具支持裸盘分区、文件系统两种方式测试I/O性能。如果您直接测试裸盘分区,会破坏裸盘分区中的文件系统元数据,导致无法访问该裸盘分区中的文件,甚至导致实例宕机。使用FIO的文件系统测试性能方式时,不存在上述问题。
您可以登录ECS实例,在实例内部查看块存储的使用情况和剩余空间。ECS管理控制台和ECS API暂时无法查看该类信息。
将包年包月的云盘转换为按量付费后,阿里云会退还剩余的费用,后续的按量付费计费规则,请参见块存储计费。
阿里云不支持释放包年包月数据盘。您可以转换计费方式为按量付费后再释放云盘,释放云盘前请确认您已备份重要数据。详情请参见转换云盘计费方式释放云盘。
包年包月数据盘转成按量付费后,计费账单按小时出账,释放云盘后隔一个小时不会再扣费。转换云盘的计费方式后实际退款金额以页面显示为准,已使用的代金券不会退还。
I/O优化为实例与云盘之间提供更好的网络能力,可保证SSD云盘存储性能的发挥。对于I/O优化的实例,挂载SSD云盘时能够获得SSD云盘的全部存储性能。
阿里云块存储是多租户形态的存储服务,我们根据不同的实例规格和云盘规格来定义性能标准。例如云盘性能规格分为ESSD云盘、SSD云盘或者高效云盘等不同规格。用户通过购买不同的云盘规格,获得不同的性能。同时也可以通过调整云盘大小或者变更云盘类型,来改变云盘的性能规格。
用户可以通过云监控或者块存储数据洞察(CloudLens for EBS)来监控云盘的性能数据,以判断当前所购买的云盘类型是否满足业务需求。关于云监控和CloudLens for EBS的更多信息,请参见云产品监控块存储数据洞察。
阿里云块存储服务将通过分配适当的基础设施来提供支撑并避免资源争用,并持续监控。当监控到硬件故障或争用发生时,阿里云会进行资源调度或维修(根据基础设施损坏程度)。
SSD云盘具有高性能、高可靠性等特点,适合数据可靠性要求高的I/O密集型应用,如MySQL、SQL Server、Oracle、PostgreSQL等中小型关系数据库场景。同时适用对数据可靠性要求高的中小型开发测试环境。
SSD云盘在Linux系统内挂载点显示为/dev/vd*,与常见的挂载点/dev/xvd*有所区别。建议您按照/dev/vd*挂载点格式填写挂载命令。
Linux系统添加数据盘时,在格式化数据盘编辑分区信息时,需要注意I/O优化实例和非I/O优化实例的数据盘设备名不同。数据盘的设备名默认由系统分配,命名规则如下所示:
建议您在/etc/fstab中使用全局唯一标识符UUID来引用新分区。由于释放云盘等操作可能会导致其他云盘的设备名变动,如果在/etc/fstab中直接使用设备名,当设备名变动时可能影响您的存储数据。
设备名(挂载点)是云服务器ECS上云盘在磁盘控制器总线上的位置。所选配的设备名,在Linux操作系统下与磁盘设备号对应,在Windows操作系统下与磁盘管理器中的磁盘顺序一致。
独立云盘,即单独购买的按量付费数据盘,而不是随实例创建的数据盘。它可以在同一个可用区内的不同ECS实例之间自由挂载和卸载,但不能跨地域、跨可用区挂载。独立云盘必须挂载到实例上,并分区格式化,才能使用。更多信息,请参见创建空数据盘。
单独购买了按量付费数据盘之后,您需要将该数据盘挂载到实例上,并分区格式化。更多信息,请参见初始化数据盘(Linux)初始化数据盘(Windows)。
如果是单独购买的按量付费数据盘,您需要分区格式化、挂载后才能使用和看到空间。更多信息,请参见初始化数据盘(Linux)挂载数据盘。
一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的最多云盘数量不同。更多信息,请参见实例规格族。
创建实例时最多挂载1块系统盘和16块数据盘,如果实例需要更多数据盘,需要在创建实例后继续挂载。不同实例规格支持挂载的最多云盘数量不同,您可以通过DescribeInstanceTypes接口查询实例可挂载的云盘数量。
在Windows操作系统下,为了保证数据完整性,强烈建议您暂停对该云盘的所有文件系统的读写操作,否则未完成读写的数据会丢失。
在Linux操作系统下,您需要登录实例中对该云盘执行umount命令,命令执行成功后再进入控制台卸载云盘。
云盘可以设置是否随实例自动释放。您可以通过控制台或API开启或关闭随实例释放功能。更多信息,请参见释放云盘。
包年包月ECS实例不支持直接卸载数据盘。数据盘到期时间和实例一致,随实例一起释放。如果想要释放数据盘,您可以先将包年包月数据盘转换为按量付费数据盘,再卸载并释放数据盘。如何转换云盘的计费方式,请参见转换云盘计费方式。
自动快照是否会被删除,取决于您是否开启自动快照随云盘释放属性。更多信息,请参见设置自动快照随云盘释放。
如果挂载在同一目录,先挂载的云盘会被后挂载的云盘替换,导致数据无法访问。建议将其中一块云盘挂载到另外一个目录下。
如果没有挂载在同一个目录下,但挂载信息仍显示在同一目录,使用ll命令查看挂载的两个目录是否存在连接。如果存在连接,建议用mkdir命令新建一个目录挂载,并测试能否访问数据。
解决方法:本方法以I/O优化实例非NVMe协议挂载的数据盘/dev/vdb1分区为例。如果是I/O优化实例NVMe协议挂载的数据盘,云盘设备名为/dev/nvmeXn1;如果是非I/O优化实例,云盘设备名为/dev/xvd[b-z]。请您根据实际情况操作。
问题现象:Linux实例重启或初始化系统之后,再登录实例运行df -h查看云盘挂载,发现数据盘不见了。
重启实例:如果重启实例前,您没有将挂载信息写入到/etc/fstab中,重启实例之后实例不会自动挂载数据盘。
重新初始化系统盘:初始化系统盘会重置/etc/fstab文件,重新初始化系统盘后实例不会自动挂载数据盘。
本方法以非I/O优化实例/dev/xvdb1分区为例。如果是I/O优化实例非NVMe协议挂载的数据盘,云盘设备名为/dev/vd[b-z];如果是I/O优化实例NVMe协议挂载的数据盘,云盘设备名为/dev/nvmeXn1。请您根据实际情况操作。
假设您查看到/dev/xvdb1分区使用的是ext3文件系统,执行以下命令将数据盘挂载信息写入到/etc/fstab文件中。
在Linux实例中,重新初始化系统盘不会改变数据盘里的内容,但是数据盘的挂载信息会丢失。假设重新初始化系统盘之前,实例上挂载的数据盘分区名称为/dev/vdb1,挂载点名称为/InitTest。重启Linux实例后,请参见以下步骤创建新的挂载点信息并挂载数据盘分区。
系统盘数据会恢复到刚创建时的状态,创建实例后安装的应用程序和产生的数据都会被清除,建议您做好数据备份。
自动创建的快照,如果旧系统盘开启自动快照随云盘释放,则自动快照会被自动删除;如果未开启自动快照随云盘释放,则到期后自动释放。
更换系统盘之前建议您创建快照备份数据,并且您需要确保系统盘有1GiB以上的预留空间。否则更换系统盘后,实例可能无法正常启动。
不支持。扩容后的云盘新容量生效后无法再缩小,建议您合理规划存储空间。如果您有云盘缩容的需求,可以通过阿里云服务器迁移中心SMC来完成。具体操作,请参见云盘缩容。
ESSD AutoPL云盘、ESSD PL-X云盘、高效云盘、SSD云盘、ESSD云盘支持系统盘扩容。所有的地域都支持扩容系统盘。
包年包月ECS实例完成续费降配操作后,只有进入新计费周期后才能扩容系统盘,当前计费周期内不支持扩容系统盘。
在扩容数据盘时,若遇到云盘原因导致无法无损地扩容时,您可以临时新建一块按量付费云盘存放数据,然后彻底格式化数据盘。请参见以下步骤。
前往云盘购买页,选择和ECS实例相同的地域及可用区,并选择用快照创建磁盘,选择上一步生成的快照。
登录ECS实例,运行mount命令挂载新建云盘。有关如何挂载根据快照创建的云盘,请参见使用快照创建数据盘。
确认数据一致后,使用fdisk删除原有的分区表,然后再使用fdisk、mkfs.ext3等命令重新对数据盘执行分区格式化操作,使新建数据盘的可用空间变为扩容之后的大小。具体操作,请参见离线扩容分区和文件系统(Linux数据盘)。
问题原因:起始扇区不正确导致。例如通过fdisk -lu命令查看到操作记录中显示扩容前起始扇区位置是63,而重建分区时默认使用的位置是2048。
新建分区后,运行fdisk /dev/vdb命令修改分区起始位置,然后运行r命令返回主菜单,再运行wq命令保存并退出即可。
如果已经做了离线扩容但不想重启实例,您可以通过再次在线扩容,在保持实例正常运行的状态下使之前离线扩容效果生效。但再次扩容也会产生一定的费用,请您根据实际业务需要来完成扩容操作。
例如,您已经在ECS控制台上将云盘离线 GiB,但此时由于业务需要又不想重启实例,则云盘扩容实际并未生效。那么您可以再次在ECS控制台上做在线 GiB。扩容完成后,您就可以在操作系统内看到的磁盘容量已经变为61 GiB大小。
出于数据安全考虑,您需要提前创建快照备份云盘数据,发生操作失误时可以及时回滚云盘。具体操作,请参见创建快照使用快照回滚云盘。
一块新云盘或新云盘分区在正常使用前,必须经过初始化,并将数据结构记录到云盘上。格式化的目的是建立文件系统。因此,在云盘上建立文件系统意味着对云盘有写入数据操作。不同的文件系统在格式化时写入的文件大小不同:
正常格式化:不但完成快速格式化工作,还逐扇区扫描分区以确定和标记坏扇区,填充云盘空块,相当于写了云盘全盘的数据量。此时,第一份全量快照会近似于云盘容量。
Linux系统格式化:格式化云盘后,在实例没有写入业务数据前,第一份快照的容量大小与云盘文件系统格式有关。
问题现象:回滚云盘时,报错“执行回滚云盘需要停止实例,并且确保当前云盘没有创建中的快照和没有更换过操作系统。”
如果更换了操作系统,实例的系统盘会随新镜像自动重新创建,系统盘ID会改变。所以,实例原有的快照将无法再用于回滚。但您可以基于相关快照创建自定义镜像,然后再通过更换系统盘方式指定该自定义镜像,将实例切换到相应的快照状态。具体操作,请参见使用快照创建自定义镜像更换操作系统(非公共镜像)。
为保障数据一致性,如果快照归属云盘有正在进行的快照任务,将不允许进行回滚操作。您可以在实例详情页的快照页签中,查看是否存在进度不是100%,状态处于未完成的快照任务。
如果您需要强制终止相关快照任务以便尽快进行云盘回滚操作,可以勾选相应快照,并单击删除快照终止快照任务。
购买Linux系统的云服务器ECS时,未挂载数据盘,使用一段时间后,系统盘空间使用率接近100%,无法满足业务需求。此时您可以新购并挂载一块数据盘,使用mv命令转移系统盘中的数据到新购的数据盘。
把文件或者文件夹压缩后,放在Web目录下生成一个下载URL,在另一台实例上用wget命令进行下载 。
登录实例,使用SCP + 源端SSH账号密码直接远程拷贝数据,详细信息请参见Linux scp命令。
本地SSD盘已经停止售卖。如果您仍在使用本地SSD盘,请参见本地SSD盘介绍本地SSD盘FAQ。