linux操作系统原来的50硬盘空间不够用了,如果再加一块60G硬盘,怎样扩容呢?今天我参考了前辈门的文档实际操作了一下,涉及到PV/VG/LV的相关操作。
当50G系统硬盘不够,再挂载一块60G,就有了/dev/sda 和/dev/sdb两块存储设备。
大体步骤:1.添加硬盘设备/dev/sdb 2.将/dev/sdb分区并将其system type设置为8e(即Linux LVM) 3.将/dev/sdb1创建成物理卷 4.将/dev/sdb扩容至卷组cl, 5.将逻辑卷名root扩容。
[root@docker01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-125829119,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119): 将使用默认值 125829119 分区 1 已设置为 Linux 类型,大小设为 60 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
以上创建/dev/sdb1分区成功
[root@docker01 ~]# fdisk -l 磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000bc9ad 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 104857599 51379200 8e Linux LVM 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x1aabd85f 设备 Boot Start End Blocks Id System /dev/sdb1 2048 125829119 62913536 83 Linux 磁盘 /dev/mapper/cl-root:50.5 GB, 50457477120 字节,98549760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/cl-swap:2147 MB, 2147483648 字节,4194304 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
创建/dev/sdb1分区后,fdisk -l 查看磁盘情况: /dev/sdb1的system为Linux,在此我们将它改为Linux LVM
[root@docker01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):m 命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x1aabd85f 设备 Boot Start End Blocks Id System /dev/sdb1 2048 125829119 62913536 83 Linux 命令(输入 m 获取帮助):t 已选择分区 1 Hex 代码(输入 L 列出所有代码):L 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx 5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据 6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具 8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt 9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问 a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要 16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep 1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT 1e 隐藏的 W95 FAT1 80 旧 Minix Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。
执行fdisk /dev/sdb ------->p--->t----->L---->8e---->w
[root@docker01 ~]# fdisk -l|grep /sdb1
/dev/sdb1 2048 125829119 62913536 8e Linux LVM
修改Linux LVM成功
原来的PV信息如下,名字为cl:
[root@docker01 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name cl PV Size <49.00 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 12543 Free PE 1 Allocated PE 12542 PV UUID wnU0KM-S4H0-Jz3q-y0Ts-8DsX-KdVB-dzPNMp
将/dev/sdb1创建成PV步骤如下:
[root@docker01 ~]# pvcreate /dev/sdb1 WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y Wiping ext4 signature on /dev/sdb1. Physical volume "/dev/sdb1" successfully created.
通过pvdisplay命令查看PV物理卷/dev/sdb1创建成功
[root@docker01 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name cl PV Size <49.00 GiB / not usable 3.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 12543 Free PE 1 Allocated PE 12542 PV UUID wnU0KM-S4H0-Jz3q-y0Ts-8DsX-KdVB-dzPNMp "/dev/sdb1" is a new physical volume of "<60.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size <60.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID mZSVHe-DBDH-Th9m-5do0-pvhy-sNBN-xFRUBQ
查看当前卷组信息,命令vgdisplay
[root@docker01 ~]# vgdisplay --- Volume group --- VG Name cl System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size <49.00 GiB PE Size 4.00 MiB Total PE 12543 Alloc PE / Size 12542 / 48.99 GiB Free PE / Size 1 / 4.00 MiB VG UUID s5yOoU-5Eyf-a2Js-sR1m-HII0-ch15-93KKWC
对卷组名为cl的卷组进行扩容
vgextend 卷组名 pv名
[root@docker01 ~]# vgextend cl /dev/sdb1 Volume group "cl" successfully extended [root@docker01 ~]# vgdisplay --- Volume group --- VG Name cl System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 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 108.99 GiB PE Size 4.00 MiB Total PE 27902 Alloc PE / Size 12542 / 48.99 GiB Free PE / Size 15360 / 60.00 GiB VG UUID s5yOoU-5Eyf-a2Js-sR1m-HII0-ch15-93KKWC
卷组cl由原来49G扩容至了108.99G,可用大小为60GiB
查看逻辑卷信息:lvdisplay
[root@docker01 ~]# lvdisplay --- Logical volume --- LV Path /dev/cl/swap LV Name swap VG Name cl LV UUID gQDqPe-cgcR-vlOX-wr3H-h3uG-HZTA-vjCfj7 LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-02-20 18:16:00 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/cl/root LV Name root VG Name cl LV UUID WKP1vJ-hQA0-l55o-jytn-awCW-pLXA-cQyk9m LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-02-20 18:16:00 +0800 LV Status available # open 1 LV Size 46.99 GiB Current LE 12030 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
我们要对名为root的逻辑卷进行扩容10G
lvresize -L + 10G /dev/cl/root
[root@docker01 ~]# lvresize -L +10G /dev/cl/root Size of logical volume cl/root changed from 46.99 GiB (12030 extents) to 56.99 GiB (14590 extents). Logical volume cl/root successfully resized.
查看当前逻辑卷的信息,是否由原来46.99扩容至了56.99G
[root@docker01 ~]# lvdisplay --- Logical volume --- LV Path /dev/cl/swap LV Name swap VG Name cl LV UUID gQDqPe-cgcR-vlOX-wr3H-h3uG-HZTA-vjCfj7 LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-02-20 18:16:00 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/cl/root LV Name root VG Name cl LV UUID WKP1vJ-hQA0-l55o-jytn-awCW-pLXA-cQyk9m LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-02-20 18:16:00 +0800 LV Status available # open 1 LV Size 56.99 GiB Current LE 14590 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
以上扩容成功。