linux下扩展root分区
1 查看当前磁盘情况
fdisk -l
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1054719 524288 83 Linux
/dev/sda3 1054720 10508287 4726784 8e Linux LVM
我这里只有/dev/sda一块磁盘,系统默认已经使用了sda1 sda2 sda3,其中sda1忘了干嘛的了,sda2用作了boot,sda3用作逻辑卷,是其他逻辑盘的基础盘。由于最多支持4块主分区,所以现在需要将所有剩余空间都创建成一个扩展分区,然后在这个扩展分区上创建逻辑分区,逻辑分区可以建的随意了,要多少建多少。
2 新建扩展分区和逻辑分区
fdisk /dev/sda
输入n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e):(这里选e,创建扩展分区,将所有空间分配给它)
前面的扩展分区创建完毕后再次输入n,因为主分区已经用完了,所以这里直接让创建逻辑分区,起始扇区默认,结束扇区+500M
输入p查看当前创建情况
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1054719 524288 83 Linux
/dev/sda3 1054720 10508287 4726784 8e Linux LVM
/dev/sda4 10508288 41943039 15717376 5 Extended(划走所有空间的扩展分区(主分区))
/dev/sda5 10510336 11534335 512000 83 Linux(实际要用的逻辑分区)
创建完逻辑分区后,输入w将创建信息写入系统完成创建
3 格式化新创建的逻辑分区
在此之前先使用partprobe刷新分区表,否则/dev/sda5是不能被系统识别的,有些情况可能需要重启服务器(如虚拟机)
mkfs.ext4 /dev/sda5
4 创建新的pv
pvcreate /dev/sda5
5 将pv加入到root所在的vg
通过df -l和vgdisplay命令可以知道root是在名为centos的vg内的
vgextend centos /dev/sda5
再次使用vgdisplay可以看到vg已经变大了(多了500m的空闲空间)
6 扩展root所在的lv
通过lvdisplay可以知道root的lv路径为/dev/centos/root
lvextend -l +100%free /dev/centos/root
这时候通过lvdisplay可以看到root已经扩展了,但是df -l看到的root还是原来的大小,使用如下命令可同步一下
resize2fs /dev/centos/root(centos7以前)
或
xfs_growfs /dev/centos/root(centos7)
7 查看结果
df -l可查看当前磁盘情况