簡單介紹:node
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是創建在硬盤和分區之上的一個邏輯層,來提升磁盤分區管理的靈活性。經過LVM系統管理員能夠輕鬆管理磁盤分區,如:將若干個磁盤分區鏈接爲一個整塊的卷組(volumegroup),造成一個存儲池。管理員能夠在卷組上隨意建立邏輯卷組(logicalvolumes),並進一步在邏輯卷組上建立文件系統。管理員經過LVM能夠方便的調整存儲卷組的大小,而且能夠對磁盤存儲按照組的方式進行命名、管理和分配。linux
擴容方案:centos
①添加新硬盤,並把新硬盤經過mount掛載到指定掛載點;(好比新建一個/data目錄,把新硬盤掛載到/data下提供使用)app
②添加新硬盤,經過LVM把新硬盤的空間劃給原系統盤,實現動態擴容系統盤;(也能夠在虛擬機設置裏調大原有磁盤,再擴容)dom
此處記錄一下在centos7下方案②的操做步驟。ide
測試目標:測試
把一臺CentOS7.4虛擬機原系統磁盤擴容10G。(原系統盤30G,擴容至40G)centos7
操做步驟:3d
虛擬機編輯設置添加一塊新硬盤code
複製代碼
[root@server-10 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 990M 0 990M 0% /dev tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 1001M 57M 944M 6% /run tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/mapper/centos-root 27G 5.8G 22G 22% / // 擴容後,再來看該項,做對比 /dev/sda1 1014M 154M 861M 16% /boot tmpfs 201M 0 201M 0% /run/user/0 [root@server-10 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 27G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk // 新加的硬盤命名爲sdb,已經存在,可是還沒分區沒法給系統使用 sr0 11:0 1 1024M 0 rom
複製代碼
複製代碼
[root@server-10 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n // 添加新分區 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): // 回車,默認p,主分區 Using default response p Partition number (1-4, default 1): // 回車,默認1 First sector (2048-20971519, default 2048): // 回車,默認起始位置 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): // 回車,默認最後位置 Using default value 20971519 Partition 1 of type Linux and of size 10 GiB is set Command (m for help): t // 更改分區格式 Selected partition 1 Hex code (type L to list all codes): L // 查看可選項 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / 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 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 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 hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list all codes): 8e // 更改分區格式爲LVM Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p // 打印,查看改好的分區(blocks爲分區大小 單位爲kb) Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xa6e3dd82 Device Boot Start End Blocks Id System /dev/sdb1 2048 20971519 10484736 8e Linux LVM Command (m for help): w // 保存 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
複製代碼
複製代碼
[root@server-10 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 29G 0 part ├─centos-root 253:0 0 27G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 10G 0 disk └─sdb1 8:17 0 10G 0 part sr0 11:0 1 1024M 0 rom 複製代碼
[root@server-10 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created.
複製代碼
[root@server-10 ~]# vgdisplay --- Volume group --- VG Name centos // 這是Centos系統下默認的VG Name,RHEL系統顯示爲rhel 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 <29.00 GiB //留意該值的變化 PE Size 4.00 MiB Total PE 7423 Alloc PE / Size 7422 / 28.99 GiB Free PE / Size 1 / 4.00 MiB VG UUID RNpAgN-PLQm-M4vp-E37i-fhhp-mr2z-faLm3A
複製代碼
[root@server-10 ~]# vgextend centos /dev/sdb1 Volume group "centos" successfully extended 複製代碼 [root@server-10 ~]# vgdisplay --- Volume group --- VG Name centos 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 38.99 GiB //對比,變大了約10G PE Size 4.00 MiB Total PE 9982 Alloc PE / Size 7422 / 28.99 GiB Free PE / Size 2560 / 10.00 GiB VG UUID RNpAgN-PLQm-M4vp-E37i-fhhp-mr2z-faLm3A
複製代碼
複製代碼
[root@server-10 ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap //系統默認分了2G給swap,不用管 LV Name swap VG Name centos LV UUID w8yxWk-Qrth-x16P-jVg3-1haX-lZUH-0r1SkV LV Write Access read/write LV Creation host, time localhost.localdomain, 2018-03-21 02:10:16 +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/centos/root // 後面擴展該邏輯卷,記住該路徑 LV Name root VG Name centos LV UUID ECEWl4-0AEW-W1Tn-acE2-GLpe-NxeD-v16tGb LV Write Access read/write LV Creation host, time localhost.localdomain, 2018-03-21 02:10:16 +0800 LV Status available #open 1 LV Size 26.99 GiB Current LE 6910 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
複製代碼
[root@server-10 ~]# lvextend /dev/centos/root /dev/sdb1 Size of logical volume centos/root changed from 26.99 GiB (6910 extents) to <36.99 GiB (9469 extents). Logical volume centos/root successfully resized.
複製代碼
[root@server-10 ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=1768960 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=7075840, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3455, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 7075840 to 9696256
複製代碼
若是是ext系統,能夠使用resize2fs命令替換xfs_growfs命令。
複製代碼
[root@server-10 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 990M 0 990M 0% /dev tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 1001M 57M 944M 6% /run tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/mapper/centos-root 37G 5.8G 32G 16% / /dev/sda1 1014M 154M 861M 16% /boot tmpfs 201M 0 201M 0% /run/user/0
複製代碼