使用LVM擴充Linux邏輯卷大小

neverinit發表於2017-07-18

操作步驟簡述:
1.檢視磁碟資訊

2.給硬碟/dev/sdc新增分割槽/dev/sdc1 

2.1.fdisk /dev/sdc

m 檢視幫助

n 新增新分割槽

t 修改分割槽型別為:8e  Linux LVM

p 檢視分割槽

w 寫入分割槽表並退出

q 不儲存分割槽表並退出


3.擴充套件邏輯卷/dev/mapper/vg_redhat-lv_root的大小

3.1進入LVM管理器

3.2將物理卷新增到現有卷組(也可直接將分割槽新增到現有卷組)

3.3檢視所有邏輯卷

3.4擴充套件邏輯卷大小



實際操作過程:

[root@TEST ~]# df -hl

Filesystem                Size  Used Avail Use% Mounted on

/dev/mapper/vg_redhat-lv_root   45G   36G  6.7G  85% /

tmpfs                   7.8G  3.8G  4.1G  48% /dev/shm

/dev/sda1             485M   39M  421M   9% /boot


[root@TEST ~]# fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes

64 heads, 32 sectors/track, 51200 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: 0x000af440


  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           2         501      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             502       51200    51915776   8e  Linux LVM
Partition 2 does not end on cylinder boundary.


Disk /dev/sdb: 17.2 GB, 17179869184 bytes

64 heads, 32 sectors/track, 16384 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: 0x00000000



Disk /dev/sdc: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 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: 0x00000000



Disk /dev/mapper/vg_redhat-lv_root: 49.0 GB, 48997859328 bytes

255 heads, 63 sectors/track, 5956 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/mapper/vg_redhat-lv_swap: 4160 MB, 4160749568 bytes

255 heads, 63 sectors/track, 505 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


[root@TEST ~]# fdisk /dev/sdc

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0x93ae6d58.

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): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-40960, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-40960, default 40960): +40G

Value out of range.

Last cylinder, +cylinders or +size{K,M,G} (1-40960, default 40960): +39G


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): p


Disk /dev/sdc: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 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: 0x93ae6d58


   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1       39937    40895472   8e  Linux LVM


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.


[root@TEST ~]# fdisk -l


Disk /dev/sda: 53.7 GB, 53687091200 bytes

64 heads, 32 sectors/track, 51200 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: 0x000af440


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           2         501      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2             502       51200    51915776   8e  Linux LVM

Partition 2 does not end on cylinder boundary.


Disk /dev/sdb: 17.2 GB, 17179869184 bytes

64 heads, 32 sectors/track, 16384 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: 0x00000000



Disk /dev/sdc: 42.9 GB, 42949672960 bytes

64 heads, 32 sectors/track, 40960 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: 0x93ae6d58


   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1       39937    40895472   8e  Linux LVM


Disk /dev/mapper/vg_redhat-lv_root: 49.0 GB, 48997859328 bytes

255 heads, 63 sectors/track, 5956 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000



Disk /dev/mapper/vg_redhat-lv_swap: 4160 MB, 4160749568 bytes

255 heads, 63 sectors/track, 505 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000




[root@TEST ~]# lvm

lvm> pvcreate /dev/sdc1

  Physical volume "/dev/sdc1" successfully created

lvm> pvremove /dev/sdc1

  Labels on physical volume "/dev/sdc1" successfully wiped

lvm> vgextend vg_redhat /dev/sdc1    【不知道vg名字可以在root下執行vgdisplay檢視】

  No physical volume label read from /dev/sdc1

  Physical volume /dev/sdc1 not found

  Physical volume "/dev/sdc1" successfully created

  Volume group "vg_redhat" successfully extended

lvm> lvextend -L +39G /dev/mapper/vg_redhat-lv_root

  Extending logical volume lv_root to 84.63 GiB

  Insufficient free space: 9984 extents needed, but only 9983 available

lvm> lvextend -L +38.99G /dev/mapper/vg_redhat-lv_root


  Rounding size to boundary between physical extents: 38.99 GiB

  Extending logical volume lv_root to 84.62 GiB

  Logical volume lv_root successfully resized

lvm> pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda2

  VG Name               vg_redhat

  PV Size               49.51 GiB / not usable 3.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              12674

  Free PE               0

  Allocated PE          12674

  PV UUID               ILOutm-u1Gf-chRB-rhn4-RGVg-hcEb-mN02Fm


  --- Physical volume ---

  PV Name               /dev/sdc1

  VG Name               vg_redhat

  PV Size               39.00 GiB / not usable 4.98 MiB

  Allocatable           yes

  PE Size               4.00 MiB

  Total PE              9983

  Free PE               9983

  Allocated PE          0

  PV UUID               nrqQ7M-PCVI-cDAy-ufew-WYYv-8HPF-dRyraa


lvm> quit

  Exiting.



[root@TEST ~]# resize2fs /dev/mapper/vg_redhat-lv_root

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/mapper/vg_redhat-lv_root is mounted on /; on-line resizing required

old desc_blocks = 3, new_desc_blocks = 6

Performing an on-line resize of /dev/mapper/vg_redhat-lv_root to 22183936 (4k) blocks.

The filesystem on /dev/mapper/vg_redhat-lv_root is now 22183936 blocks long.


這時,可以手工計算一下多了多少空間。
現在的大小為22183936 blocks,即22183936*4*1024bytes,擴充之前大小可以在fdisk -l命令下看到,為48997859328 bytes,由此可以計算增加的大小為:
(22183936*4*1024-48997859328)/1024^3=38.99G


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31394774/viewspace-2142233/,如需轉載,請註明出處,否則將追究法律責任。

相關文章