Dịch vụ seo 9.9/10 bởi 919 người bình chọn.

Quản lý đĩa trên linux dùng kỹ thuật LVM (Phần 1)

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ở nê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ó.




Trong bài viết này có 1 số thuật ngữ mà các bạn phải hiểu để sử dụng tốt LVM. Những điều quan trọng bạn phải biết là:

  • Physical volumes : là những đĩa vật lý hoặc phân vùng đĩa của bạn chẳng hạn như /dev/hda hoặc /dev/hdb1. Khi bạn muốn sử dụng chỉ cần mount vào thôi. Đối với việc sử dụng LVM chúng ta có thể kết hợp nhiều physical volumes thành volume groups
  • Volume groups : là một nhóm bao gồm các physycal volumes thực và dung lượng này được sử dụng để tạo ra các logical volumes, trong đó bạn có thể làm được những điều như sau : tạo, thay đổi kích thước, gỡ bỏ và sử dụng. Bạn có thể xem volume group như 1 “phân vùng ảo”
  • Logical volumes  : là những volumes cuối cùng sau khi mount vào hệ thống của mình, bạn có thể thêm vào, gỡ bỏ và thay đổi kích thước một cách nhanh chóng. Kể từ khi chúng chứa trong các volume group bạn có thể làm cho nó lơn hơn bất kỳ physical volume đơn lẻ mà bạn muốn. (ví dụ bạn có 4 ổ đĩa mỗi ổ 5GB khi bạn kết hợp nó lại thành 1 volume group 20GB, và bạn có thể tạo ra 2 logical volumes mỗi disk 10GB)
Trong ngôn ngữ LVM không còn partition nữa, tất cả là volume: physical/group/logical volume.

Một số công cụ của LVM:


Thứ tự trong LVM được xếp chồng lên nhau từ trên xuống 1 cách hợp lý như sau :


Minh họa cấu hình LVM

Giả sử có 4 SCSI HDD là /dev/sdb, /dev/sdc/, /dev/sdd, /dev/sde; dung lượng mỗi HDD là 20GB như vậy có 80GB sức chứa. Cần tạo ra 3 partition: SHARE 20GB; BACKUP 10GB; MEDIA 10GB và còn lại 40GB dùng cho raid-1. Các công cụ quản lí disk thông thường không làm được điều này vì mỗi partition cần tạo lớn hơn từng HDD nhưng LVM thì có thể. Kĩ thuật LVM sẽ ghép 4 HDD lại thành một partition lớn FILESERVER rồi lại chia FILESERVER ra thành các partition nhỏ hơn là SHARE, BACKUP, MEDIA, UNUSED



Tạo partition LVM từ harddisk

Dùng lệnh fdisk –l xem thông tin harddisk


Hiện giờ HD từ sdb – sde chưa được khởi tạo, chúng ta sẽ tạo ra các phân vùng sdb1, sdc1, sdd1, sde1 ta dùng lệnh sau:

fdisk /dev/sdb

n, p, 1, enter, enter

Chuyển kiểu partition thành Linux LVM (kiểu 8e): t, 8e

Lưu lại partition table và thoát khởi fdisk: w

Lặp lại các thao tác trên với các HDD còn lại để cuối cùng thu được các partition /dev/sdb1, /dev/sdc1, /dev/sdd1,
/dev/sde1 với filesystem là Linux LVM


sdb đến sde tất cả đã được khởi tạo thành công

Tiếp theo chúng ta bắt đầu thiết lập những phân vùng mới từ mỗi LVM partition tạo một PV dùng lệnh sau:

pvcreate

pvcreate  /dev/sdb1  /dev/sdc1  /dev/sdd1  /dev/sde1



Kiểm tra lại 4 PV vừa tạo bằng lệnh xem thông tin về PV: pvs hoặc pvdisplay


Bây giờ ta tạo ra volume group FILESERVER theo yêu cầu trên và thêm /dev/sdb1 - /dev/sde1 vào FILESERVER

vgcreate


Kiểm tra lại VG vừa tạo bằng lệnh xem thông tin về VG: vgs hoặc vgdisplay


Hiện tại ta đang có 80GB trong VG ta tiến hành tạo các LG từ VG theo yêu cầu trên

lvcreate –n




Sau bước này có thêm các file device /dev/fileserver/share, /dev/fileserver/backup, /dev/fileserver/media

Tham số [Path_PV] để chỉ rõ ra LV được tạo từ PV nào

Tham số này có ích khi LV gồm nhiều hơn một PV. Khi hệ thống gặp sự cố một PV nào đó bị hỏng, nếu PV này không tham gia tạo LV thì LV không bị ảnh hưởng.

Tham số -s quyết định đến dung lượng tối đa của LV (xem giải thích ở mục sau). Mặc định size LE là 4MB và dung lượng LV tối đa là 256 GB. Nếu muốn hơn để size LE là 16 MB và max LV là hơn 1TB.

Kiểm tra lại LV vừa tạo bằng lệnh xem thông tin về LV: lvs hoặc lvdisplay


Chú ý

Khi thực hiện các lệnh pvcreate, vgcreate, lvcreate có thể có thông báo liên quan đến CD chẳng hạn: “/dev/cdrom: open failed: read-only file system”. Lí do là trước khi thực hiện các lệnh tạo này tất cả các block device được scan qua và ở đây CD drive đã được scan (nhưng không thể đọc được).

Ngoài ra đặt trường hợp ta muốn tăng partition /dev/fileserver/media ban đầu là 10GB lên 15GB ta dùng lệnh sau :

lvextend -L15G /dev/fileserver/media

Nếu muốn giảm nó xuống còn 5GB ta dùng lệnh sau:

lvreduce –L5G /dev/fileserver/media


cho tới bây giờ ta đã có 3 LV, nhưng ta không có bất kỳ filesystem nào trong đó và nếu như ta không có filesystem thì ta sẽ không thể lưu bất cứ điều gì trong đó. Vì vậy ta phải tạo ra filesystem EXT3 cho share, xfs filesystem cho backup và ext3 filesystem cho media.

Tạo filesystem ext3 cho /dev/fileserver/share

mkfs.ext3 /dev/fileserver/share


Tạo filesystem xfs cho /dev/fileserver/backup

Trước khi tạo filesystem xfs ta phải cài thêm những gói sau:

yum install xfs

yum install kmod-xfs.i686 xfsdump.i386 xfsprogs.i386 dmapi


Sau đó tiến hành định dạng filesystem

mkfs.xfs /dev/fileserver/backup


Tạo filesystem ext3 cho /dev/fileserver/media

mkfs.ext3 /dev/fileserver/media
Bây giờ chúng ta tiến hành mount LV. Tôi sẽ mount partition share vào /var/share, backup vào /var/backup và media vào /var/media. Trước hết ta cần tạo những thư mục trên

mkdir /var/media /var/backup /var/share

Dùng lệnh mount cho 3 partition share,backup,media

mount /dev/fileserver/share /var/share

mount /dev/fileserver/backup /var/backup

mount /dev/fileserver/media /var/media


Gõ lệnh df –h để xem thông tin các partition

 

Hoàn thành việc thiết lập hệ thống LVM, ta có thể write/read từ các thư mục /var/share, /var/backup, /var/media 1 cách bình thường, phần này ta mount bằng tay nhưng ở đây ta muốn khi hệ thống khởi động sẽ mount auto do đó ta cần phải sữa đổi file /etc/fstab các bước làm như sau:

vi /etc/fstab



Khởi động lại, dùng lệnh df -h xem các partition đã được mount tự động.

Hoàng Lâm (từ LVM)