Tìm hiểu về LVM (Logical Volume Manager) và cách tạo, quản lý trên Linux

LVM (Logical Volume Manager) là một công cụ mạnh mẽ cho phép quản lý linh hoạt các phân vùng logic trên hệ thống Linux. Với LVM, bạn có thể dễ dàng tạo, thay đổi kích thước, xóa các phân vùng mà không cần phải lo lắng về cấu trúc vật lý của ổ đĩa. Bài viết này sẽ cung cấp một cái nhìn tổng quan về LVM, từ mô hình hoạt động đến các thao tác cơ bản để tạo và quản lý LVM trên hệ thống của bạn.

LVM thường được sử dụng trong các trường hợp sau:

  • Tạo và quản lý các phân vùng linh hoạt: LVM cho phép tạo các phân vùng logic có thể mở rộng hoặc thu hẹp dễ dàng, không bị giới hạn bởi kích thước vật lý của một ổ đĩa. Điều này đặc biệt hữu ích khi bạn không chắc chắn về kích thước phân vùng cần thiết trong tương lai.
  • Quản lý dung lượng lưu trữ lớn: LVM cho phép kết hợp nhiều ổ đĩa vật lý thành một “volume group” duy nhất, giúp quản lý dung lượng lưu trữ lớn một cách hiệu quả. Điều này đặc biệt quan trọng trong các môi trường doanh nghiệp với yêu cầu lưu trữ lớn.
  • Thay thế ổ đĩa nóng (hot swapping): LVM cho phép thay thế các ổ đĩa bị lỗi mà không cần tắt hệ thống, giảm thiểu thời gian gián đoạn dịch vụ.
  • Sao lưu và phục hồi dữ liệu: LVM cung cấp tính năng snapshot, cho phép tạo bản sao nhanh chóng của các phân vùng logic. Các snapshot này có thể được sử dụng để sao lưu và phục hồi dữ liệu một cách an toàn và hiệu quả.
  • Mã hóa dữ liệu: LVM cho phép mã hóa các phân vùng vật lý bằng một mật khẩu duy nhất, bảo vệ dữ liệu khỏi truy cập trái phép.

Mô hình hoạt động của LVM

Để hiểu rõ hơn về LVM, chúng ta cần làm quen với các thành phần chính trong mô hình hoạt động của nó: Physical Volumes, Volume Group, Logical Volume và File Systems.

Mô hình LVM (Logical Volume Manager)Mô hình LVM (Logical Volume Manager)

Physical Volumes (PV)

Physical Volume (PV) là một phân vùng vật lý hoặc toàn bộ ổ đĩa được sử dụng để tạo thành một phần của LVM. Một ổ đĩa vật lý có thể được chia thành nhiều PV. LVM nhận diện và quản lý các PV này để tạo ra một không gian lưu trữ linh hoạt.

Volume Group (VG)

Volume Group (VG) là một tập hợp các Physical Volume (PV) được kết hợp lại thành một nhóm duy nhất. VG đóng vai trò là một vùng chứa lưu trữ lớn, từ đó bạn có thể tạo ra các phân vùng logic. VG có thể bao gồm các PV trên một hoặc nhiều ổ đĩa khác nhau, cho phép bạn mở rộng dung lượng lưu trữ một cách dễ dàng.

Logical Volume GroupLogical Volume Group

Logical Volume (LV)

Logical Volume (LV) là một phân vùng logic được tạo ra từ Volume Group (VG). LV hoạt động tương tự như một phân vùng vật lý thông thường, và có thể được định dạng với các hệ thống tập tin (File System) khác nhau như ext4, XFS, hoặc NTFS. Bạn có thể tạo nhiều LV từ một VG và sử dụng chúng cho các mục đích khác nhau.

Logical VolumeLogical Volume

File Systems

File Systems là hệ thống quản lý các tập tin và thư mục trên ổ đĩa. Trong mô hình LVM, File Systems được mount (gắn) vào các Logical Volume (LV). Các hệ thống tập tin phổ biến bao gồm ext4, XFS, NTFS, và Btrfs. Việc lựa chọn hệ thống tập tin phù hợp phụ thuộc vào yêu cầu cụ thể của bạn, chẳng hạn như hiệu suất, khả năng mở rộng và tính năng bảo vệ dữ liệu.

Tạo và quản lý Logical Volume Manager

Phần này sẽ hướng dẫn bạn cách tạo và quản lý LVM trên hệ thống Linux (ví dụ: RHEL 7).

Tạo Logical Volume Manager

Bước 1: Tạo Physical Volume (PV)

Sử dụng lệnh pvcreate để tạo PV từ một phân vùng hoặc ổ đĩa.

pvcreate /dev/sdd

Lệnh này sẽ tạo một PV từ ổ đĩa /dev/sdd. Bạn sẽ nhận được thông báo “Physical volume “/dev/sdd” successfully created.” nếu thành công.

Bước 2: Tạo Volume Group (VG)

Sử dụng lệnh vgcreate để tạo VG từ một hoặc nhiều PV.

vgcreate new_vol_group /dev/sdd

Lệnh này sẽ tạo một VG có tên là new_vol_group từ PV /dev/sdd. Thông báo “Volume group “new_vol_group” successfully created” sẽ xuất hiện nếu thành công.

Bước 3: Tạo Logical Volume (LV)

Sử dụng lệnh lvcreate để tạo LV từ VG.

lvcreate -L 3G -n new_logical_volume new_vol_group

Trong đó:

  • -L 3G: Chỉ định kích thước của LV là 3GB.
  • -n new_logical_volume: Chỉ định tên của LV là new_logical_volume.
  • new_vol_group: Chỉ định VG mà LV sẽ được tạo ra.

Bạn sẽ nhận được thông báo “Logical volume “new_logical_volume” created.” nếu thành công.

Bước 4: Tạo File System cho Logical Volume

Sử dụng lệnh mkfs để tạo hệ thống tập tin trên LV. Ví dụ, để tạo hệ thống tập tin ext4:

mkfs.ext4 /dev/new_vol_group/new_logical_volume

Lệnh này sẽ tạo hệ thống tập tin ext4 trên LV /dev/new_vol_group/new_logical_volume.

Bước 5: Mount Logical Volume

Tạo một thư mục để mount LV vào:

mkdir /var/vinasupport/

Mount LV vào thư mục đã tạo:

mount /dev/new_vol_group/new_logical_volume /var/vinasupport/

Bây giờ bạn có thể truy cập LV thông qua thư mục /var/vinasupport/.

Quản lý Logical Volume Manager

Tăng kích thước Logical Volume

Để tăng kích thước LV, bạn có thể sử dụng lệnh lvextend. Ví dụ, để tăng kích thước LV new_logical_volume thêm 5GB:

lvextend -L +5G /dev/new_vol_group/new_logical_volume

Sau khi tăng kích thước LV, bạn cần resize hệ thống tập tin để nó sử dụng toàn bộ không gian mới. Sử dụng lệnh resize2fs (cho ext2/3/4) hoặc tương đương cho hệ thống tập tin khác:

resize2fs /dev/new_vol_group/new_logical_volume

Giảm kích thước Logical Volume

Lưu ý: Giảm kích thước LV là một thao tác nguy hiểm và có thể dẫn đến mất dữ liệu nếu thực hiện không đúng cách. Hãy sao lưu dữ liệu trước khi thực hiện.

Để giảm kích thước LV, bạn cần:

  1. Unmount LV:
umount /dev/new_vol_group/new_logical_volume
  1. Kiểm tra hệ thống tập tin:
e2fsck -f /dev/new_vol_group/new_logical_volume
  1. Resize hệ thống tập tin:
resize2fs /dev/new_vol_group/new_logical_volume <kích thước mới>
  1. Giảm kích thước LV:
lvreduce -L <kích thước mới> /dev/new_vol_group/new_logical_volume
  1. Mount lại LV:
mount /dev/new_vol_group/new_logical_volume /var/vinasupport/

Xóa Logical Volume

umount /dev/new_vol_group/new_logical_volume
lvremove /dev/new_vol_group/new_logical_volume

Xóa Volume Group

vgremove new_vol_group

Xóa Physical Volume

pvremove /dev/sdd

LVM là một công cụ mạnh mẽ và linh hoạt để quản lý lưu trữ trên hệ thống Linux. Bằng cách hiểu rõ các thành phần và thao tác cơ bản của LVM, bạn có thể tận dụng tối đa khả năng của nó để quản lý dung lượng lưu trữ một cách hiệu quả và an toàn.

Tài liệu tham khảo: sentayho.com.vn/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/ch-lvm

Nguồn: sentayho.com.vn