专属企业存储服务-Linux(EulerOS)磁盘扩容后处理(parted):替换原有分区
替换原有分区
本操作以该场景为例,裸金属服务器上已挂载两块磁盘,磁盘“/dev/xvdc”有1个分区,其中分区“/dev/xvdc1”已挂载至“/mnt/sdc”目录下,现在需要替换原有分区“/dev/xvdc1”,由于只有一个分区,因此该分区也算作末尾分区。将新增容量加到该分区内,此时需要中断业务。
扩容后的新增空间是添加在磁盘末尾的,对具有多个分区的的磁盘扩容时,只支持替换排在末尾的分区。
- 执行以下命令,查看磁盘的分区信息。
lsblk
回显类似如下信息:[root@ecs-1120 sdc]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part /└─xvda2 202:2 0 40G 0 part /optxvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 partxvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part /mnt/sdc
表示当前数据盘“/dev/xvdc”总容量为60 GB,已分配分区的容量为10 GB,其中末尾分区为“/dev/xvdc1”,为已挂载至“/mnt/sdc”目录下。
查看回显中磁盘“/dev/xvdc”的容量,扩容的容量是否已经包含在容量总和中。- 若扩容的容量未在磁盘容量总和中,请参考Linux(SLES)磁盘扩容后处理(fdisk)章节刷新系统内容量。
- 若扩容的容量已在磁盘容量总和中,请执行2。
- 执行以下命令,卸载磁盘分区。
umount /mnt/sdc
- 执行以下命令,查看“/dev/xvdc”分区的卸载结果。
lsblk
回显类似如下信息:[root@ecs-1120 linux]# umount /mnt/sdc[root@ecs-1120 linux]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part /└─xvda2 202:2 0 40G 0 part /optxvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 partxvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 10G 0 part
- 执行以下命令,进入parted分区工具,开始对数据盘的新扩容空间分配分区。
parted 数据盘
以“/dev/xvdc”为例:
parted /dev/xvdc
回显类似如下信息:[root@ecs-1120 linux]# parted /dev/xvdcGNU Parted 3.1Using /dev/xvdcWelcome to GNU Parted! Type 'help' to view a list of commands.
- 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。
- 输入“p”,按“Enter”,查看当前磁盘分区情况。
回显类似如下信息:
(parted) unit s (parted) p 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 thebackup to the end (and removing the old backup)?Fix/Ignore/Cancel? Fix Warning: Not all of the space available to /dev/xvdb appears to be used, you can fix the GPT to use all of the space (an extra 104857600 blocks) or continue with the currentsetting? Fix/Ignore? Fix Model: Xen Virtual Block Device (xvd)Disk /dev/xvdc: 125829120sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number Start End Size File system Name Flags 1 2048s 20969471s 20967424s ext4 opt
如果出现以上提示信息,输入“Fix”修复当前磁盘的异常情况。并记录待替换分区“/dev/xvdc1”的初始和截止磁柱值,在后续重新划分分区需要使用。此处初始磁柱值为2048,截止磁柱值为20969471。
- 删除待替换的末尾分区“/dev/xvdc1”,分区编号为“1”,输入“rm 1”,按“Enter”。
- 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否删除成功。
回显类似如下信息:
(parted) rm 1(parted) p Model: Xen Virtual Block Device (xvd)Disk /dev/xvdc: 125829120sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number Start End Size File system Name Flags
- 重新划分分区,输入“mkpart opt 2048s 125829119”,按“Enter”。
“2048”为6中记录的初始磁柱值,“125829119”表示截止磁柱值,应该大于等于6中记录的截止磁柱值。
回显类似如下信息:(parted) mkpart opt 2048s 125829119sWarning: You requested a partition from 2048s to 125829199s (sectors 2048..125829199).The closest location we can manage is 2048s to 125829036s (sectors 2048..125829036).Is this still acceptable to you?Yes/No? Yes
根据系统提示输入“Yes”,设置截止磁柱值。
若出现以下性能优化提示,请先输入“Cancel”,停止分区。然后找出对应磁盘最优性能的初始磁柱值,再使用该值进行分区即可。如果已经是最优性能,则不会出现该提示,本操作中性能最优的初始磁柱值即为2048s,因此系统没有该提示。Warning: The resulting partition is not properly aligned for best performance.Ignore/Cancel? Cancel
以下操作会导致数据丢失:- 选择的初始磁柱值与原分区的不一致。
- 选择的截止磁柱值小于原分区的值。
- 输入“p”,按“Enter”,查看当前“/dev/xvdc1”分区是否替换成功。
回显类似如下信息:
(parted) p Model: Xen Virtual Block Device (xvd)Disk /dev/xvdb: 125829120sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags: Number Start End Size File system Name Flags 1 2048s 125829086s 125827039s ext4 opt
表示“/dev/xvdc1”分区替换成功。
- 输入“q”,按“Enter”,退出parted分区工具。
- 执行以下命令,检查“/dev/xvdc1”文件系统的正确性。
e2fsck -f /dev/xvdc1
回显类似如下信息:[root@ecs-1120 linux]# e2fsck -f /dev/xvdb2e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/xvdc1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks
- 执行以下命令,扩展“/dev/xvdc1”文件系统的大小。
resize2fs /dev/xvdc1
回显类似如下信息:[root@ecs-1120 linux]# resize2fs /dev/xvdc1resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/xvdc1 to 15728379 (4k) blocks.The filesystem on /dev/xvdc1 is now 15728379 blocks long.
- 执行以下命令,查看替换分区后数据盘的情况。
lsblk
回显类似如下信息:[root@ecs-1120 linux]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTxvda 202:0 0 80G 0 disk ├─xvda1 202:1 0 40G 0 part /└─xvda2 202:2 0 40G 0 part /optxvdb 202:16 0 350G 0 disk ├─xvdb1 202:17 0 100G 0 part └─xvdb2 202:18 0 200G 0 partxvdc 202:32 0 60G 0 disk └─xvdc1 202:33 0 60G 0 part
表示当前“/dev/xvdc”总容量为60 GB,新增的50GB已经划分在“/dev/xvdc1”分区内。
- 执行以下命令,将新建分区挂载到“/mnt/sdc”目录下。
mount /dev/xvdc1 /mnt/sdc
- 行以下命令,查看“/dev/xvdc1”分区挂载结果。
df -TH
回显类似如下信息:[root@ecs-1120 linux]# mount /dev/xvdc1 /mnt/sdc[root@ecs-1120 linux]# df -THFilesystem Type Size Used Avail Use% Mounted on/dev/xvda1 ext4 43G 8.3G 33G 21% /devtmpfs devtmpfs 885M 0 885M 0% /devtmpfs tmpfs 894M 0 894M 0% /dev/shmtmpfs tmpfs 894M 18M 877M 2% /runtmpfs tmpfs 894M 0 894M 0% /sys/fs/cgrouptmpfs tmpfs 179M 0 179M 0% /run/user/2000tmpfs tmpfs 179M 0 179M 0% /run/user/0tmpfs tmpfs 179M 0 179M 0% /run/user/1001/dev/xvda2 ext4 43G 51M 40G 1% /opt/dev/xvdc1 ext4 64G 55M 60G 1% /mnt/sdc
表示“/dev/xvdc1”已挂载至“/mnt/sdc”目录下。