Thứ Tư, 21 tháng 5, 2014

LVM Resize your disks on the fly

LVM - logical volume manager

LVM dùng để làm gì?

Thỉnh thoảng, bạn nhìn thấy hoặc nghe thấy một ai đó nói về việc người ta sử dụng vượt quá diskspace trên hệ thống linux của họ, và khi đó, họ phải nghĩ đến việc để resize diskspace. LVM là một trong những tools có thể làm được điều đó.  Linux có một khả năng mở rộng hoặc thu nhỏ phân vùng một cách hợp lý qua space space( không gian trống), hoặc thậm chí là có thể qua một disk bổ sung

Install:
sudo apt-get install lvm2

Cách tốt nhất để bạn có thể hiểu về cách thức setup của LVM là hình dung nó như một chiếc bánh kem gồm 3 phần:
+ Lớp đầu tiên: các physical volumes
+ Lớp thứ 2: các volume groups được cấu thành từ các physical volumes

+ Lớp trên cùng: các logical volume, được "trích" ra từ volume groups nào đó

Khi sử dụng LVM, bạn sẽ sử dụng các logical volume để chứa dữ liệu hay làm gì đó là tùy ở bạn :)). Dung lượng của các logical volume phụ thuộc vào size của volume group của nó, bạn có thể mở rộng hoặc thu nhỏ lại một cách tùy ý, miễn là volume group đó còn dung lượng.

Các bước LVM setup:

1.Liệt kê các disk trong hệ thống của bạn:
fdisk -l

 Giả sử bạn có hai volume trong hai disk là /dev/vdb và /dev/vdc, và bạn muốn xây dụng một logical volume từ chúng

2. Chuyển các disk đó thành LVM disks ( bước này làm tương tự như phân vùng trong linux, có hơi khác chút :) ), ví dụ như thế này:

root@xxxx:/home/xxxx# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe587b581.
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)

Command (m for help): n      # add a new partition                       
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-104857599, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): 
Using default value 104857599

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   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)

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           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 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.
 
Làm tương tự với /dev/vdc

3. Tạo các physical volume:
root@xxxx:/home/xxxx# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created
root@xxxx:/home/xxxx# pvcreate /dev/vdc1 Physical volume "/dev/vdc1" successfully created

4. Tạo volume group tên "graphite" từ hai volume trên:

root@xxxx:/home/xxxx# vgcreate graphite /dev/vdb1 /dev/vdc1 Volume group "graphite" successfully created
5. Tạo logical volume graphite1 60GB:
root@xxxx:/home/xxxx# lvcreate -L 60G -n graphite1 graphite Logical volume "graphite" created
Tất cả các volume groups được chứa trong /dev/mapper directory 


6. với volume này, bạn có thể làm gì tùy ý, ví dụ như phân vùng disk, format, mount ...

7. Extending a logical volume:
http://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html

8. Thêm một physical volume vào một volume group
Trong trường hợp bạn muốn mở rộng một logical volume mà volume group đó lại hết space, điều này sẽ rất có ích
vgextend my_volume_group /dev/hdc1

my_volume_group: volume group đã tồn tại
/dev/hdc1: physical volume bạn muốn add vào

Không có nhận xét nào:

Đăng nhận xét