云服务器内容精选

  • 约束与限制 系统盘和数据盘都支持创建快照。 加密云硬盘的快照数据以加密方式存放,非加密云硬盘的快照数据以非加密方式存放。 公测快照(查看公测区域) 单个云硬盘最多支持手动创建7个快照。 华为云保留对用户公测快照进行限制的权限。 快照的企业项目与源云硬盘的企业项目保持一致。 商用快照 单个云硬盘最多支持手动创建256个标准快照,其中支持开启极速可用功能的快照数量为7个。 单个云硬盘每次只能创建一个标准快照,且前一个标准快照创建完成后才可以创建下一个标准快照。 暂不支持使用边缘可用区中的云硬盘创建标准快照。关于边缘可用区和普通可用区的区别请参考《智能边缘小站用户指南》。 暂不支持使用普通IO和高IO类型的云硬盘创建启用了快照极速可用功能的标准快照。 一般情况下,创建标准快照所需的时间为分钟级,且和云硬盘实际写入的数据量大小有关,数据量越大,创建标准快照所需的时间越长。首次为云硬盘创建标准快照,数据量为全量,所需时间较长;再次创建标准快照时,所需时间相对较短,但仍和上一个标准快照的数据量变化有关,数据量变化越大,所需时间越长。 当使用快照回滚至云硬盘时,该云硬盘创建的下一个标准快照为全量快照。 创建标准快照期间,使用云硬盘所产生的增量数据不会备份到所创建的标准快照中。 创建标准快照期间,即使删除源云硬盘也不会影响标准快照的创建。
  • 约束与限 表1 购买云硬盘约束与限制 购买云硬盘位置 限制说明 在云硬盘控制台购买 通过云硬盘控制台购买的数据盘,需要手动挂载到云服务器上。 云硬盘只能挂载到同一个区域、同一可用区的云服务器上,且在云硬盘购买完成后不支持修改区域和可用区。 单独购买的未归属于云服务器的包年/包月云硬盘,不可随后续挂载的云服务器自动进行续费、退订;且到期时间与云服务器不一致,可能出现云硬盘提前到期后自动删除,导致云服务器业务受损。 购买云硬盘的数量和容量存在配额限制,请提前规划好配额。详见管理配额。 在云服务器控制台购买 系统盘只能在 购买云服务器 时自动购买并挂载。 随云服务器一同购买或追加购买的数据盘,系统会自动将其挂载给云服务器。 随云服务器购买的云硬盘,其计费模式与云服务器一致。 - 云硬盘购买后,不支持将多块云硬盘容量合并或将一块云硬盘拆分为多块云硬盘。
  • 备份的方式及适用场景 云备份提供两种配置方式,一次性备份和周期性备份。一次性备份是指用户手动创建的一次性备份任务。周期性备份是指用户通过创建备份策略并绑定存储库的方式创建的周期性备份任务。 表1 备份的方式及适用场景 对比项 一次性备份 周期性备份 备份策略 不需要 需要 备份次数 手动执行一次性备份 根据备份策略进行周期性备份 备份名称 支持自定义,默认为“manualbk_xxxx” 系统自动生成,默认为“autobk_xxxx” 备份方式 默认首次全量备份,后续增量备份 默认首次全量备份,后续增量备份 适用场景 资源进行操作系统补丁安装、升级,应用升级等操作之前,以便安装或者升级失败之后,能够快速恢复到变更之前的状态。 资源的日常备份保护,以便发生不可预见的故障而造成数据丢失时,能够使用邻近的备份进行恢复。
  • 云备份产品架构 云备份由备份、存储库和策略组成。 备份: 备份即一个备份对象执行一次备份任务产生的备份数据,包括备份对象恢复所需要的全部数据。 云服务器备份:云服务器备份提供对弹性云服务器和裸金属服务器的基于多云硬盘一致性快照技术的数据保护。同时,未部署数据库等应用的服务器产生的备份为服务器备份,部署数据库等应用的服务器产生的备份为数据库服务器备份。 云硬盘备份:云硬盘备份提供对云硬盘的基于快照技术的数据保护。 存储库 云备份使用存储库来存放备份。创建备份前,需要先创建至少一个存储库,并将服务器或磁盘绑定至存储库。服务器或磁盘产生的备份则会存放至绑定的存储库中。 存储库分为备份存储库和复制存储库两种。备份存储库用于存放备份对象产生的备份,复制存储库用于存放复制操作产生的备份。 不同类型的备份对象产生的备份需要存放在不同类型的存储库中。 策略 策略分为备份策略和复制策略。 备份策略:需要对备份对象执行自动备份操作时,可以设置备份策略。通过在策略中设置备份任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到备份策略,可以为存储库执行自动备份。 复制策略:需要对备份或存储库执行自动复制操作时,可以设置复制策略。通过在策略中设置复制任务执行的时间、周期以及备份数据的保留规则,将备份存储库绑定到复制策略,可以为存储库执行自动复制。复制产生的备份需要存放在复制存储库中。
  • 备份机制 首次备份为全量备份,备份云服务器/磁盘已使用空间。 示例:某磁盘大小为100GB,已使用空间为40GB,则备份的是40GB的已使用空间。 后续备份均为增量备份,备份上次备份后变化的数据,缩短备份时长、节约备份空间。 删除备份时,仅删除不被其他备份依赖的数据块,不影响使用其他备份进行恢复。无论是全量还是增量备份,都可以快速、方便地将数据恢复至备份所在时刻的状态。 云备份会在备份过程中自动创建快照并且为每个磁盘保留最新的快照。如果该磁盘已备份,再次备份后会自动将旧快照删除,保留最新的快照。 云备份通过云服务器/磁盘与 对象存储服务 的结合,将数据备份到对象存储中,高度保障用户的备份数据安全。
  • 操作场景 回收站功能开启后,您可以自定义回收站策略,用于决定您的EVS创建多少天后,退订/删除时会放入回收站。 保当您配置弹性伸缩策略时,系统会对云硬盘进行删除操作,而您又不希望这些云硬盘删除进入回收站,您可以通过配置回收站策略来决定您的资源创建多少天后删除才会放入回收站,以减少不必要的费用。 场景示例: 示例一:当您使用AS弹性伸缩服务时,系统根据您配置的弹性伸缩策略,会进行频繁的云硬盘删除操作,您可以根据缩减周期配置回收站策略,以避免不必要的云硬盘进入回收站。 示例二:当您使用CCE容器服务时,系统根据您配置的容器弹性伸缩策略,会进行频繁的云硬盘删除操作,您可以根据容器缩减周期配置回收站策略,以避免不必要的云硬盘进入回收站。 示例三:当您使用E CS 竞价计费型实例时,当库存资源不足,或市场价格上浮、并超过您的预期价格时,系统会自动释放您的云服务器资源和云硬盘资源。超出回收站策略天数的云硬盘删除时会进入回收站,如果您不需要保护该云硬盘数据,可进入回收站手动清理该资源。 以上仅是部分示例,其他可根据您的业务场景进行自定义回收站策略配置。
  • 监控指标说明 表1 云硬盘相关监控指标说明 指标 指标名称 指标含义 取值范围 测量对象 监控周期 mountPointPrefix_disk_free (Agent)云硬盘剩余存储量 该指标用于统计测量对象云硬盘的剩余存储空间。 单位:GiB 采集方式(Linux):执行df -h命令,查看Avail列数据。挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 采集方式(Windows):使用WMI接口GetDiskFreeSpaceExW获取云硬盘空间数据。挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 ≥0 GiB 云服务器 5分钟(平均值) mountPointPrefix_disk_usedPercent (Agent)云硬盘使用率 该指标用于统计测量对象云硬盘使用率,以百分比为单位。计算方式为: 云硬盘已用存储量/云硬盘存储总量。 单位:百分比 采集方式(Linux):通过计算Used/Size得出。挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 采集方式(Windows):使用WMI接口GetDiskFreeSpaceExW获取云硬盘空间数据。挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 0-100% 云服务器 5分钟(平均值) mountPointPrefix_disk_ioUtils 和volumePrefix_disk_ioUtils (Agent)云硬盘I/O使用率 该指标用于统计测量对象云硬盘I/O使用率。 单位:百分比 采集方式(Linux): 通过计算采集周期内/proc/diskstats中对应设备第十三列数据的变化得出云硬盘I/O使用率。 挂载点前缀路径长度不能超过64个字符,必须以字母开头,只能包含0-9/a-z/A-Z/-/./~。 采集方式(Windows):暂不支持。 0-100% 云服务器 5分钟(平均值)
  • 操作场景 在管理控制台扩容云硬盘容量成功后,仅扩大了云硬盘的存储容量,对应的分区和文件系统并未扩容,还需要登录云服务器,扩容云硬盘的分区和文件系统,才可以看到新增容量并使用。即将扩容新增的容量划分至已有分区和文件系统内或使用扩容新增的容量新建分区和文件系统。 本文介绍扩容Windows系统中云硬盘(系统盘或数据盘)的分区和文件系统。不同云服务器的操作系统的扩容分区和文件系统操作可能不同,请根据您的实际环境进行操作。 扩大已有分区 新增分区
  • 约束与限制 数据盘不支持扩容到根分区,如果您需要扩容根分区请扩容系统盘。 扩容后的新增存储空间是添加在磁盘末尾的,对具有多个分区的磁盘扩容时,只支持将新增容量划分至排在末尾的分区。 MBR分区支持的云硬盘最大容量为2 TiB,超过2 TiB的部分无法使用。如果当前云硬盘采用MBR分区形式,并且将该云硬盘扩容后其容量大于2 TiB,有以下两种办法供参考: (推荐)建议您重新创建一块云硬盘,并且云硬盘的分区格式采用GPT格式。 如果确实需要将云硬盘扩容至2 TiB以上投入使用,则必须将磁盘分区形式由MBR切换为GPT,期间会中断业务,并且更换磁盘分区格式时会清除磁盘的原有数据,请在扩容前先对数据进行备份。
  • 快照状态说明 云硬盘快照有如下几种状态,每种状态的意义及支持的操作如表1所示。 表1 快照状态详情 快照状态 状态描述 支持的操作 正在创建 快照处于正在创建的过程中。 不能进行任何操作 可用 快照创建成功。 通过快照创建云硬盘 删除快照 回滚快照数据至云硬盘 正在删除 快照处于正在删除的过程中。 不能进行任何操作 错误 快照在创建过程中出现错误。 删除 删除失败 快照在删除过程中出现错误。 不能进行任何操作 正在回滚 快照处于正在快照回滚数据的过程中。 说明: 只支持快照回滚到源云硬盘,不支持快照回滚到其它指定云硬盘。 只有当云硬盘的状态处于“可用”或“回滚数据失败”状态才允许快照回滚到源云硬盘。 不能进行任何操作 正在创建备份 只有临时快照才有该状态。创建云硬盘备份的时候,同时会自动创建临时快照,该状态表示云硬盘处于正在创建备份的过程中,快照处于自动创建中。 说明: 这类快照是通过CBR服务创建的,请勿对这类快照执行任何操作。 不能进行任何操作
  • 新增GPT分区 示例说明:数据盘“/dev/vdb”原有容量2TiB,只有一个分区“/dev/vdb1”。将数据盘容量扩大至3TiB,本示例使用parted工具为新增的1T分配新的GPT分区“/dev/vdb2”。 查看“/dev/vdb”磁盘信息。 查看磁盘分区容量。 lsblk [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └vda1 253:1 0 40G 0 part / vdb 253:16 0 3T 0 disk └vdb1 253:17 0 2T 0 part /mnt/sdc 磁盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将磁盘扩容1TiB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示3TiB,“/dev/vdb1”显示2TiB。 查看磁盘分区形式。 parted /dev/vdb p [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3299GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2199GB 2199GB ext4 /dev/vdb1 (parted) 当前磁盘分区形式为gpt。 查看完成后,输入“q”,按“Enter”,退出parted模式。 “Partition Table:msdos”表示磁盘分区形式为MBR “Partition Table:gpt”表示磁盘分区形式为GPT “Partition Table:loop”表示磁盘未分区(整盘分区),只在设备上创建了文件系统 针对磁盘“/dev/vdb”新增1个分区/dev/vdb2 开始新建分区/dev/vdb2 parted /dev/vdb unit s p [root@ecs-centos74 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) unit s (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 6442450944s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 4294965247s 4294963200s ext4 /dev/vdb1 (parted) 记录已有分区/dev/vdb1的截止磁柱值(End)为4294965247s。 如果出现报错“-bash: parted: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 如果显示如下报错,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? Fix/Ignore/Cancel? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 如果系统出现以下Warning,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the current setting? Fix/Ignore? 根据系统提示输入“Fix”,系统会自动将磁盘扩容新增容量的分区格式设置为GPT。 设置分区名称及大小。 mkpart /dev/vdb2 4294965248s 100% p “4294965248s”表示磁盘起始磁柱值,为已有分区/dev/vdb1的截止磁柱值(End)+1;“100%”为磁盘截止磁柱值,表示将磁盘100%容量给到/dev/vdb2分区。 输入“q”,按“Enter”,退出parted模式。 再次查看新建分区“/dev/vdb2” lsblk [root@ecs-centos74 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 40G 0 part / vdb 253:16 0 3T 0 disk ├─vdb1 253:17 0 2T 0 part /mnt/sdc ├─vdb2 253:18 0 1T 0 part 为分区/dev/vdb2创建ext4文件系统。 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请观察系统运行状态,不要退出。 [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 67108864 inodes, 268435456 blocks 13421772 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2415919104 8192 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [root@ecs-test-0001 ~]# 执行“parted /dev/vdb”命令,再输入“p”,查看分区文件系统类型。 [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3299GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2199GB 2199GB ext4 /dev/vdb1 2 2199GB 3299GB 1100GB ext4 /dev/vdb2 (parted) q [root@ecs-test-0001 ~]# 查看完成后,输入“q”,按“Enter”,退出parted模式。 新建目录,并将新建分区挂载至新建目录。 mkdir -p /mnt/sdc mount /dev/vdb1 /mnt/sdc lsblk [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 3T 0 disk ├vdb1 253:17 0 2T 0 part /mnt/sdc ├vdb2 253:18 0 1T 0 part /mnt/sdd 表示新建分区“/dev/vdb2”已挂载至“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 如果采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,会因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 查询磁盘分区“/dev/vdb2”的UUID blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb2 /dev/vdb2: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" “/dev/vdb2”的UUID为0b3040e2-1367-4abb-841d-ddb0b92693df。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,将两个分区的如下信息添加进来。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表3 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 umount /dev/vdb2 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
  • 扩大已有MBR分区(适用于内核版本低于3.6.0的系统盘) 示例说明:系统盘“/dev/vda”原有容量40GiB,只有一个分区“/dev/vda1”。将系统盘容量扩大至100GiB,将新增的60GB增加至已有分区“/dev/vda1”。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,重启后新增容量会自动扩展至系统盘末尾分区内。重启会中断业务。 为了防止重启后导致数据丢失,建议初始化前先使用云备份备份数据。 当操作系统内核低于3.6.0时,如果需要使用系统盘扩容新增容量创建新的分区,请参考新增MBR分区。 (可选)执行以下命令,安装dracut-modules-growroot工具。 yum install dracut-modules-growroot [root@ecs-test-0002 ~]# yum install dracut-modules-growroot Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile epel/metalink | 4.3 kB 00:00 * epel: pubmirror1.math.uh.edu base | 3.7 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Package dracut-modules-growroot-0.20-2.el6.noarch already installed and latest version Nothing to do 如果已安装该工具,无需重复安装,可跳过该步骤。 重新生成initramfs文件。 dracut -f initramfs文件用于帮助Linux内核访问外存储设备上的驱动程序。 查看磁盘“/dev/vda”信息。 lsblk [root@ecs-test-0002 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 100G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中系统盘“/dev/vda”扩容前已有分区“/dev/vda1”,将系统盘扩容至100GB后,新增的容量还未划分磁盘分区,因此“/dev/vda”显示100GB,“/dev/vda1”显示40GB。 重启云服务器。 reboot 待重启完成后,重新连接云服务器。 查看磁盘“/dev/vda”信息。 lsblk [root@ecs-test-0002 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 100G 0 disk ├vda1 253:1 0 100G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 100G 0 part /mnt/sdc 本示例中系统盘“/dev/vda”容量为100GB,该系统盘下的分区“/dev/vda1”也显示100GB,说明扩容成功。
  • 新增MBR分区 示例说明:数据盘“/dev/vdb”原有容量100GiB,只有一个分区“/dev/vdb1”。将数据盘容量扩大至150GiB,本示例使用fdisk工具为新增的50GiB分配新的MBR分区“/dev/vdb2”。 查看“/dev/vdb”磁盘信息。 查看磁盘分区容量。 lsblk [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk └vda1 253:1 0 40G 0 part / vdb 253:16 0 150G 0 disk └vdb1 253:17 0 100G 0 part /mnt/sdc 磁盘“/dev/vdb”扩容前已有分区“/dev/vdb1”,将数据盘扩容50GiB后,新增的容量还未划分磁盘分区,因此“/dev/vdb”显示150GiB,“/dev/vdb1”显示100GiB。 查看磁盘分区形式。 parted /dev/vdb p [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 161GiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size File system Name Flags 1 1049kB 107GiB 107GiB ext4 /dev/vdb1 (parted) 当前磁盘分区形式为MBR。 查看完成后,输入“q”,按“Enter”,退出parted模式。 “Partition Table:msdos”表示磁盘分区形式为MBR “Partition Table:gpt”表示磁盘分区形式为GPT “Partition Table:loop”表示磁盘未分区(整盘分区),只在设备上创建了文件系统 为磁盘/dev/vdb使用扩容新增容量创建第二个主分区/dev/vdb2。 开始新建分区 fdisk /dev/vdb n p [root@ecs-test-0001 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x38717fc1. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (2-4, default 2): “Partition type”表示磁盘有两种分区类型:“p”表示主分区,“e”表示扩展分区。 “Partition number”表示主分区编号,可以选择2-4,由于1已被使用,此处从2开始。 MBR分区个数最多支持4个主分区或3个主分区+1个扩展分区。 在扩展分区中创建逻辑分区的数量没有限制,可以创建任意多个逻辑分区。如果您需要划分大于4个分区,只能使用主分区+1个扩展分区,然后在这个扩展分区中划分多个逻辑分区。 输入主分区编号“2”,查看起始磁柱。 Partition number (2-4, default 2): 2 First sector (83886080-209715199, default 83886080): “First sector”表示起始磁柱值,可以选择83886080-209715199,默认为83886080。 按“Enter”,使用默认的起始磁柱值;再按“Enter”,使用默认的截止磁柱值。 First sector (83886080-209715199, default 83886080): using default value 83886080 Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199): using default value 209715199 Partition 2 of type Linux and of size 40 GB is set Command (m for help): “Last sector”表示截止磁柱值,可以选择83886080-209715199,默认为209715199。 如果您需要使用扩容新增容量创建两个及以上的分区,分区的起始磁柱值和截止磁柱值计算方法举例如下: 数据盘/dev/vdb总容量为100 GB,为该数据盘创建第1个主分区/dev/vdb1(40 GB)和第2个主分区/dev/vdb2(60 GB)。 容量 = sectors值 * 512 bytes,1 GB=1073741824 bytes 数据盘/dev/vdb(100 GB)的sectors值 = 容量 / 512 bytes = 100 * 1073741824 / 512 = 209715200,则该盘截止磁柱值为209715200-1=209715199 如上图所示:First sector (2048-209715199, default 2048),该盘起始磁柱值为2048,截止磁柱值为209715199 数据盘第1个分区/dev/vdb1(40 GB)的sectors值 = 容量 / 512 bytes = 40 * 1073741824 / 512 = 83886080,则该分区的截止磁柱值为83886080-1=83886079 该分区的起始磁柱值,使用default值即可2048 数据盘第2个分区/dev/vdb2(60 GB)的sectors值 = 容量 / 512 bytes = 60 * 1073741824 / 512 = 125829120,则该分区的截止磁柱值为125829120-1=125829119 起始磁柱值 = /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080 截止磁柱值 = 起始磁柱值 + sectors - 1 = 83886080+125829120 -1 = 209715199 查看新建分区大小、分区格式信息。 输入“p”,按“Enter”,查看新建分区/dev/vdb2的详细信息。 Command (m for help): p Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x994727e5 Device Boot Start End Blocks Id System /dev/vdb1 2048 83886079 41942016 83 Linux /dev/vdb2 83886080 209715199 62914560 83 Linux Command (m for help): 输入“w”,按“Enter”,将分区结果写入分区表中。 如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤即可。 将新的分区表变更同步至操作系统。 partprobe 如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。 如果系统出现以下Error,请输入“Fix”。 Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? GPT分区表信息存储在磁盘开头,为了减少分区表损坏的风险,同时在磁盘末尾会备份一份。当磁盘容量扩大后,末尾位置也会随之变化,因此需要根据系统提示输入“Fix”,将分区表信息的备份文件挪到新的磁盘末尾位置。 如果系统出现以下Warning,请输入“Fix”。 Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the current setting? Fix/Ignore? Fix 根据系统提示输入“Fix”,系统会自动将磁盘扩容部分的容量设置为GPT。 为新分区/dev/vdb2创建ext4文件系统。 mkfs -t ext4 /dev/vdb2 创建文件系统格式需要等待一段时间,请观察系统运行状态,不要退出。 [root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb2 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2621440 inodes, 10485504 blocks 524275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done 执行“parted /dev/vdb”命令,再输入“p”,查看分区文件系统类型。 [root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GiB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary ext4 2 42.9GB 107GB 64.4GB primary ext4 (parted) q [root@ecs-test-0001 ~]# 查看完成后,输入“q”,按“Enter”,退出parted模式。 表示新分区“/dev/vdb2”的文件系统类型已设置为“ext4”。 新建目录,并将新建分区挂载至新建目录。 mkdir -p /mnt/sdd mount /dev/vdb2 /mnt/sdd lsblk 查看挂载结果 [root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 150G 0 disk ├vdb1 253:17 0 100G 0 part /mnt/sdc ├vdb2 253:18 0 50G 0 part /mnt/sdd 表示新分区“/dev/vdb2”已挂载至“/mnt/sdd”。 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。 如果采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,会因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 查询磁盘分区“/dev/vdb2”的UUID blkid /dev/vdb2 [root@ecs-test-0001 ~]# blkid /dev/vdb2 /dev/vdb2: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" “/dev/vdb2”的UUID为0b3040e2-1367-4abb-841d-ddb0b92693df。 设置开机自动挂载磁盘分区 vi /etc/fstab 按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,将两个分区的如下信息添加进来。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdd ext4 defaults 0 2 按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。 表2 参数说明 参数示例 说明 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df 磁盘分区的UUID /mnt/sdc 磁盘分区的挂载目录 ext4 磁盘分区的文件系统格式 defaults 磁盘分区的挂载选项,此处通常设置为defaults即可 0 Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 2 fsck选项,即开机时是否使用fsck检查磁盘。 2表示从挂载点为非根目录(/)的分区开始检验。 1表示从挂载点为根目录(/)的分区开始检验。 0表示不检验。 验证自动挂载功能已生效。 umount /dev/vdb2 mount -a 则系统会将“/etc/fstab”文件所有内容重新加载。 查询文件系统挂载信息。 mount | grep /mnt/sdd 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
  • 操作场景 在管理控制台扩容云硬盘容量成功后,仅扩大了云硬盘的存储容量,对应的分区和文件系统并未扩容,还需要登录云服务器,扩容云硬盘的分区和文件系统,才可以看到新增容量并使用。即将扩容新增的容量划分至已有分区和文件系统内或使用扩容新增的容量新建分区和文件系统。 本文介绍扩容Linux系统中云硬盘(系统盘或数据盘)的分区和文件系统。不同云服务器的操作系统的扩容分区和文件系统操作可能不同,请根据您的实际环境进行操作。 表1 Linux操作系统云硬盘扩容操作指导 扩容场景 分区格式 磁盘类型 操作系统 文件系统 扩容工具 配置示例 扩大已有分区 GPT/MBR 系统盘 数据盘 如果扩容系统盘,内核版本需要高于3.6.0 如果扩容数据盘,不限 ext*(如ext2、ext3、ext4)、xfs、btrfs growpart 设备名:/dev/vdb 已有分区:/dev/vdb1 扩容容量:50GiB 扩大已有MBR分区(适用于内核版本低于3.6.0的系统盘) MBR 系统盘 内核版本低于3.6.0 ext*(如ext2、ext3、ext4)、xfs、btrfs dracut-modules-growroot 设备名:/dev/vda 文件系统:ext4 挂载目录:/mnt/sda 分区:/dev/vda1 扩容容量:60GiB 分区格式:MBR 新增MBR分区 MBR 系统盘 数据盘 不限 ext*(如ext2、ext3、ext4)、xfs、btrfs fdisk parted 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:100GiB 分区格式:MBR 分区二:/dev/vdb2 容量:50GiB 分区格式:MBR 新增GPT分区 GPT 数据盘 不限 ext*(如ext2、ext3、ext4)、xfs、btrfs parted 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:2TiB 分区格式:GPT 分区二:/dev/vdb2 容量:1TiB 分区格式:GPT 您可以使用uname -a命令查看Linux内核版本。 扩展裸金属服务器系统盘的分区和文件系统,请参见如何扩展快速发放裸金属服务器的根分区大小 如果磁盘没有分区,请参见Linux系统扩容数据盘时,如何扩展未分区磁盘文件系统。
  • 约束与限制 数据盘不支持扩容到根分区,如果您需要扩容根分区请扩容系统盘。 扩容后的新增存储空间是添加在磁盘末尾的,对具有多个分区的磁盘扩容时,只支持将新增容量划分至排在末尾的分区。 MBR分区支持的云硬盘最大容量为2 TiB,超过2 TiB的部分无法使用。如果当前云硬盘采用MBR分区形式,并且将该云硬盘扩容后其容量大于2 TiB,有以下两种办法供参考: (推荐)建议您重新创建一块云硬盘,并且云硬盘的分区格式采用GPT格式。 如果确实需要将云硬盘扩容至2 TiB以上投入使用,则必须将磁盘分区形式由MBR切换为GPT,期间会中断业务,并且更换磁盘分区格式时会清除磁盘的原有数据,请在扩容前先对数据进行备份。