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
以上擴容成功。