首先,先查看磁盘的情况
dh -f # Filesystem Size Used Avail Use% Mounted on # devtmpfs 5.8G 0 5.8G 0% /dev # tmpfs 5.8G 256K 5.8G 1% /dev/shm # tmpfs 5.8G 45M 5.7G 1% /run # tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup # /dev/mapper/centos_centos-root 8.0G 6.3G 1.6G 79% / # /dev/sda2 976M 152M 758M 17% /boot # /dev/sda1 599M 9.0M 590M 2% /boot/efi # tmpfs 1.2G 0 1.2G 0% /run/user/0 # 在以上结果中 devtmpfs 和 tmpfs 是临时的文件系统,虽然空闲显示占用大,但是对其进行压缩可能并不会产生明显的效果
查看磁盘分区
lsblk # NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT # sda 8:0 0 46.6G 0 disk # ├─sda2 8:2 0 1G 0 part /boot # ├─sda3 8:3 0 8.5G 0 part # │ └─centos_centos-root 253:0 0 8.5G 0 lvm / # └─sda1 8:1 0 600M 0 part /boot/efi # 针对上述结果,明显还有将近 35G 空间未分配,推荐使用如 parted 和 gdisk 来查看未分配空间,fdisk 是不能显示剩余多少未分配空间的 parted -l <em>注有些机器会提示一些错误需要修复执行两次fix就行了</em> # Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 76705792 blocks) or continue with the current setting? # 可见硬盘的GPT分区表中仍然有 76705792 块空间未被分配 # 76705792 块 × 512 字节/块 = 39,307,776,384 字节 # 大约是 39.31 GB(千兆字节)或 36.55 GiB(吉比字节)
分配磁盘空间
parted /dev/sda # 进入磁盘分区工具脚本模式 # Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)# 再此输入以下命令 print # 查看当前分区情况。 resizepart # 调整分区大小 quit # 退出工具
调整磁盘分区大小(resizepart)
(parted) resizepart # 调整分区大小命令 Partition number? 3 # 输入待调整大小的分区,我这里选择调整分区3 End? [8.5GB]? 42G # 输入调整后的大小并回车,小于8.5则为压缩,大于8.5则为扩容,我这里扩容至42G,注意单位G 提示 Information: You may need to update /etc/fstab. # 退出后在处理 (parted) p # 输入 p 等同于 print 查看分区命令 Model: ORACLE BlockVolume (scsi) Disk /dev/sda: 50.0GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 630MB 629MB fat32 EFI System Partition boot 2 630MB 1704MB 1074MB ext4 3 1704MB 42.0GB 40.3GB lvm (parted) quit # 退出,然后 reboot 重启系统 ————————————————
扩容逻辑卷
[root@CentOS ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 46.6G 0 disk ├─sda2 8:2 0 1G 0 part /boot ├─sda3 8:3 0 37.5G 0 part │ └─centos_centos-root 253:0 0 8.5G 0 lvm / └─sda1 8:1 0 600M 0 part /boot/efi # sda3 分区的大小为 37.5G,并且它包含一个 LVM 逻辑卷(logical volume)centos_centos-root,大小为 8.5G。这意味着在 sda3 分区中还有剩余的空间可供利用
确认 sda3 分区剩余空间
# 查找 PV Size 列中与 /dev/sda3 相关的信息,确保有剩余空间可用 sudo pvdisplay
扩展物理卷(Physical Volume)
# 先将 sda3 分区的剩余空间添加到物理卷 sudo pvresize /dev/sda3
扩展 sda3 的逻辑卷(Logical Volume)
# 逻辑卷 centos_centos-root 扩展到使用所有可用空间,并自动调整文件系统大小 sudo lvextend -r -l +100%FREE /dev/mapper/centos_centos-root
parted 命令补充
用法:parted <指令> 指令: -h # 显示此求助信息 -l # 列出系统系统中所有的磁盘设备,和 fdisk -l 命令的作用差不多。 -m # 进入交互模式,如果后面不加设备则对第一个磁盘进行操作 -s # 脚本模式 -v # 显示版本 如果没有给出“指令”,则 parted 将进入交互模式运行 常用命令: align-check # 检查分区N的类型(min|opt)是否对齐 help # 打印通用求助信息,或关于[指令]的帮助信息 mklabel # 创建新的磁盘标签 (分区表) mkpart # 创建一个分区 name # 给指定的分区命名 print # 打印分区表,或者分区 quit # 退出程序 rescue # 修复丢失的分区 resizepart # 调整分区大小 rm # 删除分区 select # 选择要编辑的设备,默认只对指定的设备操作,这里可以改变指定的设备 disk_set # 更改选定设备上的标志 disk_toggle # 切换选定设备上的标志状态 set # 更改分区的标记 toggle # 设置或取消分区的标记 unit # 设置默认的单位 version # 显示版本信息
