残月的小站 - 扩容
type: channel
link: https://blog.dfcraft.cn/index.php/tag/扩容/
items: Linux centos 7 磁盘扩容步骤

Linux centos 7 磁盘扩容步骤
type: item
date: 2023-12-22T14:50:00+08:00
description: 在虚拟机中使用Linux的时候根目录磁盘满了导致文件无法解压1.为虚拟机扩展磁盘在虚拟机软件中，选中虚拟机并打开虚拟机设置，在图中点击扩展磁盘容量（需要虚拟机关机，并且没有快照）扩容完成后进入启动虚拟机2.创建分区通过以下命令查看硬盘分区可以看到默认有两个sda分区（只能创建四个）fdisk -l 磁盘 /dev/sda：1099.5 GB, 1099511627776 字节，2147483648 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理)：512 字节 / 512 字节 I/O 大小(最小/最佳)：512 字节 / 512 字节 磁盘标签类型：dos 磁盘标识符：0x00095e6c 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 104857599 51379200 8e Linux LVM对磁盘进行分区操作fdisk /dev/sda 命令(输入 m 获取帮助)：n #n 代表新建new Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p #前面已有2个分区，所以分区从3开始 分区号 (3,4，默认 3)：3 起始 扇区 (104857600-2147483647，默认为 104857600)： #直接回车，选择默认值 Last 扇区, +扇区 or +size{K,M,G} (104857600-214748364，默认为 214748364)： #直接回车，选择默认值 分区 3 已设置为 Linux 类型，大小设为 60 GiB 命令(输入 m 获取帮助)：t #t 代表 change a partition's system id 分区号 (1-3，默认 3)：3 Hex 代码(输入 L 列出所有代码)：8e #8e 代表Linux LVM 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助)：w #写入并保存，退出 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) 正在同步磁盘。 // 上述文字扇区是复制其他扩容过程可能出现不对的情况，但过程一致整体步骤就是，输入命令后按n->回车（默认值）->回车（默认值）->回车(可以定义分区大小)->回车（默认值）->输入w->退出后reboot（或者使用partprobe命令）3.格式化磁盘格式化刚刚创建的磁盘格式为xfsmkfs.xfs /dev/sda34.新建pv卷pvcreate /dev/sda3 5.查看vg组vgdisplay6.新pv卷加入到vg组中将刚刚生成的pv卷 /dev/sda3 加入到根目录所在的vg组：centosvgextend centos /dev/sda3查看vg组在此查看后就发现已经扩容成功vgdisplay查看lv卷lvdisplay7.扩容使用 lvextend 为根目录进行扩容这里的15360就是vgdisplay里的Free PE值lvextend -l +15360 /dev/centos/root或者可以lvextend -L +60G /dev/centos/root再次查看lv卷已经添加了刚刚的60GiB容量lvdisplay8.扩容文件系统xfs_growfs /dev/mapper/centos-root这个时候就代表扩容成功，可以通过命令查看df -h