Powered by Blogger.

LOGICAL VOLUME MANAGER (LVM)

GIT – LVM là một phương pháp cho phép ấn định không gian đĩa cứng thành những Logical Volume khiến cho việc thay đổi kích thước trở lên dễ dàng ( so với partition ).

Với kỹ thuật Logical Volume Manager (LVM) bạn có thể thay đổi kích thước mà không cần phải sửa lại partition table của OS. Điều này thực sự hữu ích với những trường hợp bạn đã sử dụng hết phần bộ nhớ còn trống của partition và muốn mở rộng dung lượng của nó.

Trước khi đi vào thực hiện giải pháp này bạn nên dành tí thời gian để hiểu qua các khái niệm cơ bản như sau:
Physical Volume: Là một cách gọi khác của partition trong kỹ thuật LVM, nó là những thành phần cơ bản được sử dụng bởi LVM. Một Physical Volume không thể mở rộng ra ngoài phạm vi một ổ đĩa.

Logical Volume Group: Nhiều Physical Volume trên những ổ đĩa khác nhau được kết hợp lại thành một Logical Volume Group, với LVM Logical Volume Group được xem như một ổ đĩa ảo.

Logical Volumes: Logical Volume Group được chia nhỏ thành nhiều Logical Volume, mỗi Logical Volume có ý nghĩa tương tự như partition. Nó được dùng cho các mount point và được format với những định dạng khác nhau như ext2, ext3 …
Khi dung lượng của Logical Volume được sử dụng hết ta có thể đưa thêm ổ đĩa mới bổ sung cho Logical Volume Group và do đó tăng được dung lượng của Logical Volume.

Physical Extent: là một đại lượng thể hiện một khối dữ liệu dùng làm đơn vị tính dung lượng của Logical Volum.

Trong bài lab này chúng ta sẽ thực hiện như hình ở trên. Tức là chúng ta sẽ gắn thêm 3 ổ cứng vật lý nữa, mỗi ổ cừng có dung lượng 4GB. Sau đó bạn tiến hành phân chia tạo thành 2 thư mục /Ketoan và /Kinhdoanh là hai ổ đĩa logical volume.
Bạn thực hiện theo các bước hướng dẫn sau.

Bước 1: Gắn thêm đĩa cứng vào, dùng lệnh fdisk -l để xem các ổ đĩa đã gắn vào.


[root@server ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM

Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table

Disk /dev/sdc: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn’t contain a valid partition table

Disk /dev/sdd: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn’t contain a valid partition table

Bước 2: Tiến hành phân hoạch ổ đĩa. Mỗi đĩa chúng ta chia thành 1 extended, trong mỗi extended ta chia 2 logical, mỗi logical 2 GB. Bạn dùng lệnh fdisk /dev/sdb, trong đó thì /dev/sdb là ổ đĩa mà chúng ta vừa gắn vào.

Tôi sẽ hướng dẫn các bạn phân hoạch cho đĩa sdb, còn lại là sdc và sdd các bạn làm tương tự.

1. Bạn gõ lệnh fdisk /dev/sdb, sau đó bấm phím m để xem qua menu của chương trình


[root@server ~]# fdisk /dev/sdb
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)

2. Nhấn phím n để tạo mới, chọn tiếp phím e để tạo extended. Có thăng thông báo hỏi tiếp theo bạn cứ Enter.


Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 1
First cylinder (1-522, default 1): (bấm enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): (bấm enter)
Using default value 522

3. Bấm tiếp phìm n để tạo mới nữa. Lần này sẽ thấy extended được thay bằng logical, bấm l để chọn logical. Bạn nhập các giá trị như trong hình bên dưới.


Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l (bấm phím l)
First cylinder (1-522, default 1): (bấm enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): +2048M

4. Làm tương tự cho phần còn lại của đĩa.



Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l (bấm phím l)
First cylinder (1-522, default 1): (bấm enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): (bấm enter)

5. Bấm phím p để xem lại kết quả của mình, có đúng như hình này không. Nếu đúng rồi thì bấm phím w để tiến hành lưu thay đổi.


Command (m for help): p
Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 63 8385929 4192933+ 5 Extended
/dev/sdb5 126 4016249 2008062 83 Linux
/dev/sdb6 4016313 8385929 2184808+ 83 Linux

Hai phân vùng mà chúng ta vừa tạo ra có tên là sdb5 và sdb6. Bạn làm tương tự cho hai đĩa sdc và sdd ta có lần lượt các phân vùng là sdc5, sdc6, sdd5, sdd6.

Bước 3: Để tạo được đĩa LVM bạn cần thay đổi kiểu đĩa thành LVM. CHúng ta sẽ cần thực hiện đều này cho phân vùng sdb5. Dùng lại lệnh fdisk /dev/sdb

Bấm phím t để thay đổi thông tin. Nhập tiếp chỉ số phân khu cần thay đổi, ở đây là số 5. Nhập tiếp 8e để chỉ định kiểu là Linux LVM


Command (m for help): t
Partition number (1-6): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)

Nhập phím p để xem lại, và w để lưu.


Device Boot Start End Blocks Id System
/dev/sdb1 1 522 4192933+ 5 Extended
/dev/sdb5 1 250 2008062 8e Linux LVM
/dev/sdb6 251 522 2184808+ 83 Linux

Đừng quên thực hiện cho cả hai ổ đĩa còn lại nhé!

Bươc 4: Bây giờ chúng ta sẽ biến các partition thành các physical volume, bằng lệnh pvcreate


[root@server ~]# pvcreate /dev/sdb5
Physical volume “/dev/sdb5″ successfully created
[root@server ~]# pvcreate /dev/sdc5
Physical volume “/dev/sdc5″ successfully created
[root@server ~]# pvcreate /dev/sdd5
Physical volume “/dev/sdd5″ successfully created

Dùng lệnh pvdisplay để xem lại các PV đã tạo.

Bước 5: Tạo Volume Group (VG), có tên là VolumeA, từ 3 PV đã tạo ở trên. Bạn dùng lệnh vgcreate như hình bên dưới.


[root@server ~]# vgcreate VolumeA /dev/sdb5 /dev/sdc5 /dev/sdd5
Volume group “VolumeA” successfully created

Bước 6: Tạo logical volume (LV) từ VG ở trên. Bằng cách dùng lệnh lvcreate như hình bên dưới.


[root@server ~]# lvcreate -L 2048M -n LV0 VolumeA
Logical volume “LV0″ created

[root@server ~]# lvcreate -L 1024M -n LV1 VolumeA
Logical volume “LV1″ created

Bước 7: Định dạng đĩa là ext3 trước khi sử dụng.


#mkfs -t ext3 /dev/volumeA/LV0

#mkfs -t ext3 /dev/volumeA/LV1

Bước 8: Đến đây chúng ta đã có LV sẵn sàng để sử dụng. Chỉ còn đợi chúng ta mount lên thôi.


#mount /dev/VolumeA/LV0 /Ketoan

#mount /dev/VolumeA/LV1 /Kinhdoanh

Bước 9: Xem lại thành quả của bạn, rằng thư mục kế toán được mout từ LV0, có dung lượng khoản 2 GB.


# df -lT
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
ext3 18219452 3646108 13632904 22% /
/dev/sda1 ext3 101086 13060 82807 14% /boot
tmpfs tmpfs 237652 0 237652 0% /dev/shm
/dev/mapper/VolumeA-LV0
ext3 2064208 68680 1890672 4% /Ketoan
/dev/mapper/VolumeA-LV1
ext3 1032088 34092 945568 4% /Kinhdoanh
Thêm Physical Volume và tăng dung lượng Logical Volume

Đây là nhu cầu rất thực tế. Ví dụ ở đây bạn có LV0 dung lượng 2GB, bây giờ bạn cần tăng dung lượng cho nó thêm 2GB nữa. Và một nhu cầu nữa là bạn gắn thêm ổ cứng mới rồi mới nâng cấp cho các thức mục dành cho nhân viên.

Để thêm Physical Volume thì bạn cứ tạo ra PV mới theo những cách ở trên. Sua đó dùng lệnh vgextend để thêm vào.


pvcreate /dev/sdb6

vgextend VolumeA /dev/sdb6

Và bây giờ thì thêm dung lượng cho LV.


lvextend -L +50 /dev/VolumeA/LV0 /dev/sdb6
    Blogger Comment
    Facebook Comment