Linux添加新硬盘并加入原有分区的实现
1、先查看目前的分区详情
[root@XIEXC ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 24G 3.9G 21G 17% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.7M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/xvda1 1014M 145M 870M 15% /boot tmpfs 378M 0 378M 0% /run/user/1001
2、虚拟机添加一块22g的硬盘,重启

重启确认添加成功,/dev/xvdc
[root@XIEXC ~]# fdisk -l
磁盘 /dev/xvdb:17.2 GB, 17179869184 字节,33554432 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc9a2cf65
设备 Boot Start End Blocks Id System
/dev/xvdb1 2048 33554431 16776192 8e Linux LVM
磁盘 /dev/xvdc:23.6 GB, 23622320128 字节,46137344 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
.......
3、在新硬盘上创建Lvm分区
[root@XIEXC ~]# fdisk /dev/xvdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x1f64f006 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-46137343,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-46137343,默认为 46137343):
将使用默认值 46137343
分区 1 已设置为 Linux 类型,大小设为 22 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p
磁盘 /dev/xvdc:23.6 GB, 23622320128 字节,46137344 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f64f006
设备 Boot Start End Blocks Id System
/dev/xvdc1 2048 46137343 23067648 8e Linux LVM
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
再次确认,查看分区:fdisk -l /dev/xvdc
[root@XIEXC ~]# fdisk -l /dev/xvdc
磁盘 /dev/xvdc:23.6 GB, 23622320128 字节,46137344 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1f64f006
设备 Boot Start End Blocks Id System
/dev/xvdc1 2048 46137343 23067648 8e Linux LVM
现已成功创建了LVM分区: /dev/xvdc1
4、建立物理卷,并将PV加入到源VG中
1)建立物理卷
[root@XIEXC ~]# pvcreate /dev/xvdc1 Physical volume "/dev/xvdc1" successfully created. 查看原有VG,确认VGNAME为centos [root@XIEXC ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 8 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 24.99 GiB PE Size 4.00 MiB Total PE 6398 Alloc PE / Size 6398 / 24.99 GiB Free PE / Size 0 / 0 VG UUID HUD2hi-cbik-KDzt-SOFs-iSHe-5Xio-meRJOc
2)将PV加入到原有VG中
vgextend centos /dev/xvdc1
[root@XIEXC ~]# vgextend centos /dev/xvdc1 Volume group "centos" successfully extended [root@XIEXC ~]# vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 9 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 3 Act PV 3 VG Size <46.99 GiB PE Size 4.00 MiB Total PE 12029 Alloc PE / Size 6398 / 24.99 GiB Free PE / Size 5631 / <22.00 GiB VG UUID HUD2hi-cbik-KDzt-SOFs-iSHe-5Xio-meRJOc
可以看到vg size和free size都变了
5、调整LV的空间
a.先调整大小,给根目录加2G
[root@XIEXC ~]# lvextend -L +2G /dev/mapper/centos-root Size of logical volume centos/root changed from 23.99 GiB (6142 extents) to 25.99 GiB (6654 extents). Logical volume centos/root successfully resized.
b、再resize2fs
resize2fs /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 | grep centos-root /dev/mapper/centos-root / xfs defaults 0 0
如果为xfs分区类型,用xfs_growfs
[root@XIEXC ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=13, agsize=524032 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=6289408, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 6289408 to 6813696
最后确认下分区大小
[root@XIEXC ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 26G 3.9G 23G 15% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.7M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/xvda1 1014M 145M 870M 15% /boot tmpfs 378M 0 378M 0% /run/user/1001
从24G升到26G,验证成功!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux终端提示符(prompt)不如期生效的原因分析与解决
Linux命令行是系统管理员管理Linux的重要手段,我们管理Linux,首先要面对的就是Linux命令行提示符。下面这篇文章主要给大家介绍了Linux终端提示符(prompt)不如期生效的原因以及解决方法,需要的朋友可以参考下。2017-07-07
Linux自动化构建工具make/Makefile和git使用及说明
本文介绍Linux下的make工具与Makefile自动化构建、缓冲区刷新及git版本控制操作,涵盖依赖关系处理、PHONY修饰、提交流程等关键点2025-09-09


最新评论