centos7下使用LVM給系統硬盤擴容超詳細

簡單介紹:

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕鬆管理磁盤分區,如:將若干個磁盤分區連接爲一個整塊的卷組(volumegroup),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolumes),並進一步在邏輯卷組上創建文件系統。管理員通過LVM可以方便的調整存儲卷組的大小,並且可以對磁盤存儲按照組的方式進行命名、管理和分配。

擴容方案:

①添加新硬盤,並把新硬盤通過mount掛載到指定掛載點;(比如新建一個/data目錄,把新硬盤掛載到/data下提供使用)

②添加新硬盤,通過LVM把新硬盤的空間劃給原系統盤,實現動態擴容系統盤;(也可以在虛擬機設置裏調大原有磁盤,再擴容)

此處記錄一下在centos7下方案②的操作步驟。

測試目標:

把一臺CentOS7.4虛擬機原系統磁盤擴容10G。(原系統盤30G,擴容至40G)

操作步驟:

  1. 虛擬機編輯設置添加一塊新硬盤

  2. 查看一下

複製代碼

[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  

複製代碼

  1. 給新硬盤創建分區(此處就默認創建一個分區)

複製代碼

[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.

複製代碼

  1. 再次查看分區,只是分區好,沒掛載沒加入系統根,無法使用

複製代碼

[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  
複製代碼
  1. 把新的分區轉換爲物理卷
[root@server-10 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
  1. 查看現有的卷組名,這裏爲centos

複製代碼

[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

複製代碼

  1. 把轉換號的物理卷併到vg(卷組)中
[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

複製代碼

  1. 查看邏輯卷,默認系統分了2個,選擇對應邏輯卷路徑

複製代碼

[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

複製代碼

  1. 給邏輯卷擴展空間
[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.
  1. 寫入文件系統,使擴容生效。

複製代碼

[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命令。

  1. 檢查擴容效果

複製代碼

[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

複製代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章