提示:扩根的磁盘不要去用fdisk命令分区,也不要挂载,可能会影响扩根的操作。
首先,我们可以使用df -h命令查看一下当前我们的根分区空间
第二步:往服务器里面添加一块新的磁盘,我添加的是20G的磁盘,添加后执行下面的命令
[root@crystl ~]$ echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan ##扫描新磁盘,让系统识别到
有多种方法可以查看磁盘是否添加成功(我的服务器的磁盘名叫sdb,你们的可能会不同,视情况而定)
第一种:
[root@crystl ~]$ ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 26 19:49 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 26 19:49 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 26 19:49 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 26 20:44 /dev/sdb
第二种:
[root@crystl ~]$ ll /dev/sd*
brw-rw---- 1 root disk 8, 0 Oct 26 19:49 /dev/sda
brw-rw---- 1 root disk 8, 1 Oct 26 19:49 /dev/sda1
brw-rw---- 1 root disk 8, 2 Oct 26 19:49 /dev/sda2
brw-rw---- 1 root disk 8, 16 Oct 26 20:44 /dev/sdb
第三种:
如果上面两种方法都看不到新添加的磁盘sdb,那么可以使用reboot命令重启服务器。
第三步:直接格式化 (现在用的比较多的格式方式有xfs格式和ext4格式)
[root@crystl ~]$ mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@crystl ~]$ mkfs.ext4 /dev/sdb ##这是ext4格式
格式化完成后可以使用命令:blkid /dev/sdb 查看是否是你想要的格式
[root@crystl ~]$ blkid /dev/sdb
/dev/sdb: UUID="eb317b5b-8f7a-456c-99c3-0480efeddf34" TYPE="xfs"
第四步:创造物理卷
[root@crystl ~]$ pvcreate /dev/sdb
WARNING: xfs signature detected on /dev/sdb at offset 0. Wipe it? [y/n]: y
Wiping xfs signature on /dev/sdb.
Physical volume "/dev/sdb" successfully created.
完成这一步后可以用命令pvdisplay查看
[root@crystl ~]$ pvdisplay
--- Physical volume ---
PV Name /dev/sda2
VG Name rhel
PV Size 49.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 12543
Free PE 0
Allocated PE 12543
PV UUID Lu3mT3-5ciB-4s0c-CUST-gXbG-bCcN-h1PcVS
--- Physical volume ---
PV Name /dev/sdb
VG Name rhel
PV Size 20.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 5119
Free PE 0
Allocated PE 5119
PV UUID i1aidc-F9kX-oU8M-q7lf-QwGp-5Shg-LN9XAm
第五步:扩展卷组
命令格式:vgextend 卷组名字 /dev/sdb
[root@crystl ~]$ vgextend rhel /dev/sdb
Volume group "rhel" successfully extended
完成这一步后可以用命令vgdisplay查看
[root@crystl ~]$ vgdisplay
--- Volume group ---
VG Name rhel
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 68.99 GiB
PE Size 4.00 MiB
Total PE 17662
Alloc PE / Size 17662 / 68.99 GiB
Free PE / Size 0 / 0
VG UUID bZogaD-J1AX-zaM6-mhdG-4QGc-uNVe-pKCBPS
第六步:扩展逻辑卷
命令格式:lvextend -l +100%free /dev/mapper/rhel-root
+100%free ##表明你想要给多少空间去扩展根分区
/dev/mapper/rhel-root ##这条路径你可以使用df -h命令查看哪个目录挂载在你的根分区,视情况而定
[root@crystl ~]$ lvextend -l +100%free /dev/mapper/rhel-root
Size of logical volume rhel/root changed from 46.99 GiB (12030 extents) to 66.99 GiB (17150 extents).
Logical volume rhel/root successfully resized.
这时候我们使用df -h命令发现根分区没有扩展成功,不要着急,还有最后一步呢!
最后一步:因为分区是xfs系统,则用xfs_growfs命令对文件系统进行扩展
[root@crystl ~]$ xfs_growfs /dev/mapper/rhel-root
meta-data=/dev/mapper/rhel-root isize=512 agcount=4, agsize=3079680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=12318720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6015, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 12318720 to 17561600
如果分区是 ext4系统,则用下面的命令
[root@crystl ~]$ resize2fs /dev/mapper/rhel-root
我们这时再使用df -h命令查看根分区是否有扩展
我们发现,由于我第六步扩展逻辑卷给的是100%空间,所以根分区多了20G,刚好是添加的新磁盘的大小,那么我们扩展根分区就成功了!!