云服务器内容精选

  • 操作场景 在控制台扩容硬盘容量成功后,仅扩大了硬盘的存储容量,对应的分区和文件系统并未扩容,还需要登录边缘实例,扩容硬盘的分区和文件系统,才可以看到新增容量并使用。即将扩容新增的容量划分至已有分区和文件系统内或使用扩容新增的容量新建分区和文件系统。 本文介绍将Windows系统中一块硬盘(系统盘或数据盘)的扩容新增容量划分至已有分区和文件系统内、及使用扩容新增容量新建分区和文件系统。不同边缘实例的操作系统的扩容分区和文件系统操作可能不同,请根据您的实际环境进行操作。 扩大已有分区 新增分区
  • 新增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/vdb1: 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)
  • 扩大已有分区 示例说明:数据盘“/dev/vdb”原有容量100GiB,只有一个分区“/dev/vdb1”。将数据盘容量扩大至150GiB,将新增的50GB增加至已有分区“/dev/vdb1”。 检查当前系统是否已安装growpart扩容工具。 growpart 如果回显为工具使用介绍,则表示已安装,无需重复安装。 [root@ecs-centos76 ~]# growpart growpart disk partition rewrite partition table so that partition takes up all the space it can options: -h | --help print Usage and exit --fudge F if part could be resized, but change would be less than 'F' bytes, do not resize (def ault: 1048576) -N | --dry-run only report what would be done, show new 'sfdisk -d' -v | --verbose increase verbosity / debug -u | --update R update the the kernel partition table info after growing this requires kernel support and 'partx --update' R is one of: - 'auto': [default] update partition if possible - 'force' : try despite- sanity checks (fail on failure) - 'off' : do not attempt - 'on' : fail if sanity checks indicate no support Example: - growpart /dev/sda 1 Resize partition 1 on /dev/sda must supply disk and part it ion-number [root@ecs-centos76 ~l# 如果没有以上回显信息,请执行以下安装命令。 yum install cloud-utils-growpart Loaded plugins: fastestmirror Determining fastest mirrors epel/x86_64/metalink | 8.0 kB 00:00:00 ... Package cloud-utils-growpart-0.29-2.el7.noarch already installed and latest version Nothing to do 表示安装成功。 查看数据盘“/dev/vdb”的分区信息。 lsblk [root@ecs-centos76 ~]# 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”有150GiB的容量,分区“/dev/vdb1”已有100GiB,扩容的50GiB容量还未划分磁盘分区。 如果磁盘未分区,需要直接扩容文件系统,请执行4。 将扩容新增的容量增加至分区“/dev/vdb1”。 growpart /dev/vdb 1 [root@ecs-test-0001 ~]# growpart /dev/vdb 1 CHANGED: partition=1 start=2048 old: size=209713152 end=209715200 new: size=314570719,end=314572767 如果回显为 no tools available to resize disk with 'gpt' FAILED: failed to get a resizer for id '' 因为磁盘原分区格式为GPT,使用growpart工具将扩容新增容量增加至已有GPT分区时,需要使用gdisk工具,因此请先输入“yum install gdisk”命令,根据提示再输入“y”,安装gdisk软件包,然后再执行上述growpart命令。 如果回显为 growpart /dev/vda 1 unexpected output in sfdisk --version [sfdisk,来自util-linux 2.23.2] 请检查系统字符集(系统语言环境)是否为“en_US.UTF-8”。 如果出现报错“NOCHANGE:partition 1 is size xxxxxxx. it cannot be grown”,导致无法正常扩容的原因可能是服务器磁盘已满(占用率100%),请您做好数据备份后清理不必要的文件或程序来释放一部分磁盘空间。 扩容分区“/dev/vdb1”文件系统大小。 查看数据盘“/dev/vdb”对应分区“/dev/vdb1”的文件系统类型。 parted /dev/vdb 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) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049KB 107GB 107GB ext4 /dev/vdb1 (parted) 查看完成后,输入“q”,按“Enter”,退出parted模式。 根据回显可知分区“/dev/vdb1”的文件系统类型为ext4,执行以下命令进行扩容。 resize2fs /dev/vdb1 [root@ecs-test-0001 ~]# resize2fs /dev/vdb1 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/vdb1 is mounted on /mnt/sdc; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 19 The filesystem on /dev/vdb1 is now 39321339 blocks long. 如果出现报错“open: No such file or directory while opening /dev/vdb1”,则表示您指定的磁盘分区不正确,请使用 parted命令查看磁盘分区。 如果文件系统为xfs,请执行以下命令(/mnt/sdc为/dev/vdb1的挂载点,您需要根据实际情况修改)。 sudo xfs_growfs /mnt/sdc [root@ecs-test-0001 ~]# sudo xfs_growfs /mnt/sdc meta-data=/dev/vdb1 isize=512 agcount=4, agsize=6553536 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=26214144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=12799, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 26214144 to 39321339 查看扩容后分区的容量。 lsblk [root@ecs-centos76 ~]# 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 150G 0 part /mnt/sdc 表示数据盘“/dev/vdb”的容量大小为150GiB,该数据盘下的分区“/dev/vdb1”大小也为150GiB,说明扩容的50GB容量已生效。
  • 扩大已有MBR分区(适用于内核版本低于3.6.0情况下的系统盘) 示例说明:数据盘“/dev/vda”原有容量40GiB,只有一个分区“/dev/vda1”。将数据盘容量扩大至100GiB,将新增的60GB增加至已有分区“/dev/vda1”。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,重启后新增容量会自动扩展至系统盘末尾分区内。重启会中断业务。 为了防止重启后导致数据丢失,建议初始化前先使用云备份备份数据。 当操作系统内核低于3.6.0时,如果需要使用系统盘扩容新增容量创建新的分区,请参考#iec_02_1404/zh-cn_topic_0000001783981372_section20200028194016。 (可选)执行以下命令,安装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/vdb1: 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 初始化工具:fdisk 设备名:/dev/vdb 文件系统:ext4 挂载目录:/mnt/sdc、/mnt/sdd 分区一:/dev/vdb1 容量:100GiB 分区格式:MBR 分区二:/dev/vdb2 容量:50GiB 分区格式:MBR 新增GPT分区 GPT 数据盘 不限 ext*(如ext2、ext3、ext4)、xfs、btrfs parted 扩容工具: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,期间会中断业务,并且更换磁盘分区格式时会清除磁盘的原有数据,请在扩容前先对数据进行备份。
  • 约束与限制 当前IEC扩容功能支持扩大硬盘容量,不支持缩小硬盘容量。 系统盘默认支持的最大容量为100GB,数据盘默认支持的最大容量为500 GB,最小扩容步长均为 1GB。 对使用中的硬盘进行扩容时,硬盘所挂载的边缘实例状态必须为“运行中”或者“关机”才支持扩容。 部分硬盘需要重启才能生效,如果在边缘实例内找不到已挂载的硬盘,请重启边缘实例。 扩容时不会影响已有数据,但误操作可能会导致数据丢失或者异常。 扩容正在使用的硬盘时,对硬盘所挂载的边缘实例操作系统有要求。如果边缘实例操作系统不满足要求,那么扩容后可能需要将边缘实例关机再开机,磁盘容量才会变大。 请按照如下指导,确认您的边缘实例操作系统是否满足要求: 公共镜像支持不卸载硬盘而直接扩容容量,且扩容后不需要将边缘实例关机再开机,和公共镜像相同的私有镜像也支持。 镜像查看方法:登录IEC管理控制台,在左侧导航栏单击“边缘镜像”,在“公共镜像”页签进行查看。 如果无法在公共镜像列表中找到您的边缘实例操作系统,则请查看表1 支持正在使用状态硬盘扩容的操作系统列表。 如果表1中列出了您的边缘实例操作系统,则同样支持不卸载硬盘而直接扩容容量,且扩容后不需要将边缘实例关机再开机。否则,请扩容后将边缘实例关机再开机。 表1 支持正在使用状态硬盘扩容的操作系统列表 操作系统 版本 CentOS 8 8.0 64bit 及以上 CentOS 7 7.2 64bit 及以上 CentOS 6 6.5 64bit 及以上 Debian 8.5.0 64bit 及以上 Fedora 24 64 bit 及以上 SUSE 12 SUSE Linux Enterprise Server 12 64bit 及以上 SUSE 11 SUSE Linux Enterprise Server 11 SP4 64bit OpenSUSE 42.1 64bit 及以上 Oracle Linux Server release 7 7.2 64bit 及以上 Oracle Linux Server release 6 6.7 64bit 及以上 Ubuntu Server 14.04 64bit 及以上 Redhat Linux Enterprise 7 7.3 64bit Redhat Linux Enterprise 6 6.8 64bit EulerOS 2.2 64bit 及以上 Huawei Cloud EulerOS 1.1及以上 Windows 2016 Windows Server 2016 R2 Enterprise 64bit Windows 2012 Windows Server 2012 R2 Standard 64bit Windows 2008 Windows Server 2008 R2 Enterprise 64bit
  • IEC范畴下的镜像和 镜像服务 IMS中的镜像是什么关系? IEC范畴下的镜像分为公共镜像和私有镜像。 公共镜像:与华为云镜像服务(Image Management Service,IMS)中提供的公共镜像功能类似,但没有关联关系,各自承载不同的业务。 IEC上创建的公共镜像不能通过云服务IMS使用,云服务IMS上创建的公共镜像也不能通过IEC使用。 私有镜像:您可以选择将在镜像服务中制作的私有镜像作为边缘私有镜像的来源。 由用户首先在镜像服务中制作私有镜像(或者使用已经存在的私有镜像),然后在IEC控制台界面上使用该私有镜像创建边缘私有镜像。 使用镜像服务中的私有镜像在IEC控制台界面创建的边缘私有镜像和镜像服务中原私有镜像互相独立,后者的修改不影响前者。已创建的边缘私有镜像不能修改。如果当前镜像不能满足需求,您可以重新进行创建。 父主题: 边缘镜像
  • IEC范畴下的VPC和EIP与华为云的云服务VPC和EIP是什么关系? IEC范畴下的边缘网络与华为云上其他网络相关的服务,如虚拟私有云(Virtual Private Cloud,VPC)、弹性公网IP(Elastic IP,EIP)完全独立,没有关联关系,各自承载不同的业务。但从两者的功能维度来看,又是相类似的。 举例说明,通过IEC控制台或者API创建的虚拟私有云仅归属于华为云服务IEC的边缘云业务范畴,与通过华为云服务VPC创建的虚拟私有云没有关联关系。IEC上创建的虚拟私有云不能通过云服务VPC管理,云服务VPC上创建的虚拟私有云也不能通过IEC管理。 父主题: 边缘网络
  • IEC范畴下的实例和弹性 云服务器ECS 中的实例是什么关系? IEC范畴下的边缘实例与华为云上的云服务弹性云服务器E CS 完全独立,没有关联关系,各自承载不同的业务。但从两者的功能维度来看,又是相类似的。 边缘实例为边缘云场景下专享的实例资源,是由CPU(Central Processing Unit,中央处理器)、内存、操作系统、云硬盘组成的基础的计算组件。 通过IEC控制台或者API创建的实例仅归属于华为云服务IEC的边缘云业务范畴,与通过华为云服务ECS创建的实例没有关联关系。IEC上创建的实例不能通过ECS管理,ECS上创建的实例也不能通过IEC管理。 父主题: 边缘实例
  • 约束与限制 切换操作系统后,实例将不再保留原操作系统,并删除原有系统盘。 切换操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。 切换操作系统不影响数据盘数据。 切换操作系统后,您的业务运行环境需要在新的系统中重新部署。 切换操作系统成功后实例会自动开机。 切换操作系统后不支持更换系统盘的云硬盘类型。 切换操作系统后实例IP地址和MAC地址不发生改变。 切换操作系统后,当前操作系统内的个性化设置(如DNS、主机名等)将被重置,需重新配置。 切换操作预计需等待10~20分钟完成切换操作系统。切换操作系统过程中,实例会显示任务状态为“切换操作系统中”。 不支持BIOS启动方式与UEFI启动方式的操作系统互相切换。 云硬盘的配额需要大于0。
  • 前提条件 待切换操作系统的实例处于“关机”状态。 待切换操作系统的实例挂载有系统盘。 如果您使用私有镜像切换操作系统请参考《镜像服务用户指南》提前完成私有镜像的制作。 如果需要指定实例的镜像,请提前使用指定实例创建私有镜像。 如果需要使用本地的镜像文件,请提前将镜像文件导入并注册为云平台的私有镜像。 如果需要使用其他区域的私有镜像,请提前复制镜像。 如果需要使用其他账号的私有镜像,请提前完成镜像共享。
  • 后续处理 如果切换操作系统前后都是Linux系统,且数据盘设置了开机自动挂载分区。切换操作系统后,数据盘分区挂载信息会丢失,请更新/etc/fstab配置。 在/etc/fstab写入切换后的分区信息。 建议您先备份/etc/fstab文件。 挂载分区。挂载分区后即可开始使用数据盘。 mount 磁盘分区 挂载目录 执行以下命令,查看挂载结果。 df -TH 如果操作系统切换失败,系统支持重试功能,您可以按照以上操作步骤重新切换实例的操作系统。 重试后,如果仍未成功,可直接联系客服,客服会在后台进行人工恢复。
  • 跨操作系统约束与限制 跨操作系统切换是指Windows与Linux操作系统之间的互相切换。 Windows系统更换为Linux系统:请安装读写Windows系统的NTFS分区工具,例如NTFS-3G等。 Linux系统更换为Windows系统:请安装可以识别ext3、ext4等分区的识别软件,例如Ext2Read、Ext2Fsd等。 云平台不推荐您将Linux系统更换为Windows系统,当Linux系统中存在LVM分区时,切换为Windows系统后可能会导致LVM逻辑分区无法识别。