解决linux下因无法创建新分区不能扩容lvm问题

有一个/dev/sdc的盘,上面划分了3个主分区/dev/sdc1-3,一个扩展分区/dev/sdc4,在扩展分区上划分了一/dev/sdc5。问题来了,想扩容这个/dev/sdc硬盘,怎么新建分区或者扩容分区呢?


解决思路


可能由于是处女座的原因(都怪处女座),在工作中也要力争有条理。不太喜欢在虚拟机中添加一堆磁盘"sdb,sdc,sdd....."总觉得不太好管理。

碰到知识盲区以后,也咨询过很几个2000人运维群,遗憾的是"这里突然静悄悄""顾左右而言他",于是,在这里再次申明"并非是争论面红耳赤的Lvm扩容问题"。

那么,上面这个问题该怎么解决呢?

思路一:使用gparted等磁盘管理工具,来扩容扩展分区。

思路二:使用linux系统工具来执行扩容操作。

解决方案


思路一的方法,在没办法的情况可以试验下,本文重点介绍第二种方式。我们在虚拟化环境中,将/dev/sdc的盘从10G增大到12G并保存配置。


重新扫描/dev/sdc的磁盘,并且识别到12G。

echo 1 > /sys/class/scsi_device/0\:0\:2\:0/device/rescan

再解释清楚点,这个问题。扩容lvm首先pv需要扩容。在这里已经无法再创建分区了,也就无法给pv扩容。


问题清楚了,在操作前先备份,我在这里只做了快照。我们需要删除扩容分区并且重建,

隐藏内容,您需要满足以下条件方可查看
End

接着需要扩容lvm(有可能需要重启服务器)。

[root@gcdr-test ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 rhel lvm2 a-- 15.51g 0

/dev/sdb swapvg lvm2 a-- 8.00g 0

/dev/sdc1 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc2 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc3 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc5 sdc_1 lvm2 a-- 4.00g 0

[root@gcdr-test ~]# pvresize /dev/sdc5

Physical volume "/dev/sdc5" changed

1 physical volume(s) resized / 0 physical volume(s) not resized

[root@gcdr-test ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 rhel lvm2 a-- 15.51g 0

/dev/sdb swapvg lvm2 a-- 8.00g 0

/dev/sdc1 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc2 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc3 sdc_1 lvm2 a-- 2.00g 0

/dev/sdc5 sdc_1 lvm2 a-- 6.00g 2.00g

[root@gcdr-test ~]# vgs

VG #PV #LV #SN Attr VSize VFree

rhel 1 1 0 wz--n- 15.51g 0

sdc_1 4 1 0 wz--n- 11.98g 2.00g

swapvg 1 1 0 wz--n- 8.00g 0

[root@gcdr-test ~]# lvextend -l +100%free /dev/sdc_1/sdc1

Size of logical volume sdc_1/sdc1 changed from 9.98 GiB (2556 extents) to 11.98 GiB (3068 extents).

Logical volume sdc1 successfully resized

[root@gcdr-test ~]# e2fsck -f /dev/sdc_1/sdc1

e2fsck 1.42.9 (28-Dec-2013)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/sdc_1/sdc1: 402/655360 files (0.0% non-contiguous), 83136/2617344 blocks

[root@gcdr-test ~]# resize2fs /dev/sdc_1/sdc1

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/sdc_1/sdc1 to 3141632 (4k) blocks.

The filesystem on /dev/sdc_1/sdc1 is now 3141632 blocks long.

扩容完成,挂载检查。

Bash

[root@gcdr-test ~]# mount /dev/sdc_1/sdc1 /sdc1/

[root@gcdr-test ~]# ll /sdc1/

total 20

drwxr-xr-x. 21 root root 4096 Jul 25 09:48 dev

drwx------. 2 root root 16384 Jul 25 09:50 lost+found

结束


以上就是在3个主分区一个扩展分区下,如何扩容lvm的全部步骤。感谢@袁麟技术指导。

人已赞赏
笔记

Windows2003访问samba及Linux不能挂载共享文件夹中NTLMv2的作用

2020-4-21 17:51:44

笔记

etcd部署及常见问题

2020-4-24 20:37:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧