1个硬盘分为两个区域,一个是 MBR(主引导分区),一个是数据区域。
MBR 里记录了两个重要信息:引导程序与磁盘分区表。
分区表定义了“第 n 个磁盘块是从第 x 个柱面到第 y 个柱面”,所以,系统每次都取 n 号磁盘块时,就只会读取第 x 到第 y 个扇区之间数据。
由于 MBR 容量有限,设计的时候,只设计成4个分区记录。用起来,可以作4个主分区,或者3个主分区和一个扩展分区。
如果超过四个分区,系统允许在额外的硬盘空间放另一份磁盘分区信息,那就是扩展分区,当硬盘被分出一个扩展分区的时候,实际上扩展分区在 MBR 磁盘分区表中的信息为另外那份分区表的位置。所以,在 扩展分区 里面还要划分 逻辑分区 才能使用。
每个硬盘最多只允许4个主分区,其他的分区只能放在扩展分区中。
准备工作
fdisk -l查看硬盘信息
df -HT查看硬盘使用情况
从上面两张图可以清晰看出有两块硬盘/dev/vda(21.5GB)和/dev/vdb(10.7GB),vda有两个分区vda1(3.7GB)和vda2(1.1GB)。现在把vda余下容量和vdb硬盘全部扩容到vda根目录(/dev/mapper/centos-root)<注:每台机器的名字会不同>
新建LVM逻辑分区
fdisk /dev/vda (对vda分区)
依次按键盘[n]分割剩余空间。
接下来按键盘[p],表示我们要创建主分区。
接下来按键盘[3],表示我们要创建vda3。<vda已经存在vda1和vda2分区,所以这里从3开始>
默认值连续两次,因此可以划分所有剩余空间。
按键盘[t]表示我们要修改分区格式。
接下来输入序列号3,表示我们要修改vda3空间。
接下来输入序列号8e,表示我们要修改为LVM分区格式。
然后按键盘[w]将更改保存到分区表。
使用fdisk -l 查看分区
将剩余的可用磁盘空间分配给/ root分区
1 2 3 |
partprobe pvcreate /dev/vda3 vgextend centos /dev/vda3 |
查看可分为/ root分区的LVM大小
vgdisplay
1 |
lvextend -L +100MB /dev/mapper/centos-root #按大小分配到/root分区 |
1 |
lvextend -L +10g /dev/mapper/centos-root #按大小分配到/root分区 |
或者
1 |
lvextend -l +100%FREE /dev/mapper/centos-root #全部分配/root分区 |
格式化
1 |
resize2fs -p /dev/mapper/centos-root |
root分区已经扩容完成
把vdb硬盘也扩容到root分区,重复上面步骤就可以了,注意硬盘标识。
本文参考:
1 2 |
https://www.jb51.net/article/139565.htm https://tech.cxthhhhh.com/linux/2018/07/30/original-how-to-expand-linux-hard-disk-lvm-disk-en.html |
文章评论
补充:若报错root@localhost ~]# resize2fs -p /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时
找不到有效的文件系统超级块.
----------------------------
解决:文件格式可能为xfs (检查#cat /etc/fstab)
若是,换做执行这个命令:
xfs_growfs /dev/mapper/centos-root
@涛涛牛 多谢反馈
contos是什么意思啊
请问根目录需要备份吗
@要成功就得冲 不需要
文章不错支持一下