LVM硬盤擴容

生產環境中,常常會遇到硬盤滿,這時候須要LVM格式的硬盤擴容。nginx

LVM簡介bash

LVM是邏輯盤卷管理(LogicalVolume Manager)的簡稱,它是一種磁盤管理工具,最主要的功能就是能夠隨時在線調整分區的大小,解決了安裝Linux系統時須要評估分區大小的煩惱。app

LVM相關術語ide

物理存儲介質(The physical media)工具

這裏指系統的存儲設備:硬盤,如:/dev/hda一、/dev/sda等等,是存儲系統最底層的存儲單元。ui

物理卷(physical volume)url

物理卷就是指硬盤分區或從邏輯上與磁盤分區具備一樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。spa

卷組(Volume Group)code

LVM卷組相似於非LVM系統中的物理硬盤,其由物理卷組成。能夠在卷組上建立一個或多個「LVM分區」(邏輯卷),LVM卷組由一個或多個物理卷組成。orm

邏輯卷(logical volume)

LVM的邏輯卷相似於非LVM系統中的硬盤分區,在邏輯卷之上能夠創建文件系統(好比/home或者/usr等)。

PE(physical extent)

每個物理卷被劃分爲稱爲PE(Physical Extents)的基本單元,具備惟一編號的PE是能夠被LVM尋址的最小單元。PE的大小是可配置的,默認爲4MB。

LE(logical extent)

邏輯卷也被劃分爲被稱爲LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,而且一一對應。

spacer.gifwKiom1bqZVPCK-EfAACO2Ghlqts343.png


        wKioL1bqZhGwuQRuAABmO3u7cRw212.jpg               wKioL1bqZkKjlCGUAABX6M_t--g969.jpg

[root@localhost~]# df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/vg_nginx02-lv_root   45G   42G  804M  99% /
tmpfs                           1.9G     0  1.9G   0% /dev/shm
/dev/sda1                       485M   39M  421M   9% /boot
[root@localhost~]# lsblk 
NAME                          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                            11:0    1 1024M  0 rom  
sda                             8:0    0   50G  0 disk 
├─sda1                          8:1    0  500M  0 part /boot
└─sda2                          8:2    0 49.5G  0 part 
  ├─vg_nginx02-lv_root (dm-0) 253:0    0 45.6G  0 lvm  /
  └─vg_nginx02-lv_swap (dm-1) 253:1    0  3.9G  0 lvm  [SWAP]
sdb                             8:16   0   20G  0 disk 
#開始擴容
[root@localhost~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x492f8aad.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x492f8aad

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-20480, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20480, default 20480): 
Using default value 20480

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
# 必定要指定分區的格式爲8e,這是LVM的分區格式
[root@localhost ~]# mkfs.ext4 /dev/sdb1
#建立PV
[root@localhost ~]# pvcreate /dev/sdb1
#查看當前已經存在的VG信息
[root@localhost ~]# vgdisplay
#提示
  Physical volume "/dev/sdb1" successfully created
[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg_nginx02
  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.51 GiB
  PE Size               4.00 MiB
  Total PE              12674
  Alloc PE / Size       12674 / 49.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               WvYqDf-3IW9-FtBO-cs0y-jYZv-Xj2x-ntX9OP
[root@localhost ~]# vgextend vg_nginx02 /dev/sdb1
  Volume group "VolGroup"successfully extended
[root@localhost~]# lvextend -L +19.9G /dev/mapper/vg_nginx02-lv_root
  Rounding size to boundary between physical extents: 19.90 GiB
  Extending logical volume lv_root to 65.54 GiB
  Logical volume lv_root successfully resized
[root@localhost~]# resize2fs /dev/mapper/vg_nginx02-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_nginx02-lv_root is mounted on /; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 5
Performing an on-line resize of /dev/mapper/vg_nginx02-lv_root to 17179648 (4k) blocks.
The filesystem on /dev/mapper/vg_nginx02-lv_root is now 17179648 blocks long.
若不是xfs咱們能夠用resize2fs,這裏報錯了
[root@localhost~]# resize2fs -f /dev/mapper/vg_nginx02-lv_root
resize2fs 1.41.12 (17-May-2010)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vg_nginx02-lv_root
Couldn't find valid filesystem superblock.
[root@localhost~]# xfs_growfs /dev/mapper/vg_nginx02-lv_root

[root@localhost~]# df -h
Filesystem                      Size  Used Avail Use% Mounted on
/dev/mapper/vg_nginx02-lv_root   65G   42G   20G  69% /
tmpfs                           1.9G     0  1.9G   0% /dev/shm
/dev/sda1                       485M   39M  421M   9% /boot
相關文章
相關標籤/搜索