LVM (Logical Volume Manager) trong Linux là một công cụ quản lý phân vùng linh hoạt, cho phép bạn tạo, mở rộng, thu nhỏ và quản lý các phân vùng lưu trữ một cách linh động hơn nhiều so với cách chia phân vùng truyền thống. Nhờ LVM, người dùng có thể dễ dàng thay đổi kích thước phân vùng mà không làm mất dữ liệu, gộp nhiều ổ đĩa vật lý thành một không gian lưu trữ thống nhất, hoặc tách ra theo nhu cầu. Trong bài viết này, mình sẽ hướng dẫn bạn cách tạo và quản lý LVM Linux một cách chi tiết và dễ hiểu nhất.
Những điểm chính
- Giới thiệu tổng quan về LVM: Hiểu được LVM trong Linux là gì và tại sao nó mang lại khả năng quản lý lưu trữ linh hoạt hơn so với phương pháp phân vùng truyền thống.
- Các bước tạo và quản lý LVM: Nắm được quy trình cơ bản để thiết lập và quản trị LVM, từ tạo Physical Volume, Volume Group đến Logical Volume.
- Biết thêm Vietnix – Nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng.
- Câu hỏi thường gặp: Giải đáp các vấn đề phổ biến về LVM như cách mở rộng dung lượng, phân biệt với phân vùng truyền thống hay xử lý lỗi thường gặp.
Giới thiệu tổng quan về LVM trong Linux
Logical Volume Management (LVM) là một hệ thống quản lý ổ đĩa linh hoạt trong Linux, cho phép người dùng tổ chức và kiểm soát không gian lưu trữ hiệu quả hơn so với cách phân vùng truyền thống. Thay vì chia ổ đĩa thành các phân vùng cố định, LVM tạo ra các Logical Volume (ổ đĩa logic) có thể dễ dàng mở rộng, thu hẹp hoặc di chuyển giữa các thiết bị vật lý mà không làm gián đoạn hệ thống.

Với LVM, bạn có thể quản lý dung lượng lưu trữ một cách linh hoạt hơn, thuận tiện cho việc mở rộng hệ thống, triển khai các máy chủ hoặc xử lý các yêu cầu lưu trữ thay đổi theo thời gian. Đây là giải pháp lý tưởng cho các môi trường Linux cần tính linh động và khả năng mở rộng cao trong quản lý dữ liệu.
Các bước tạo và quản lý LVM trong Linux
1. Tạo và quản lý LVM
Để tạo và quản lý LVM trong Linux, bạn sẽ thực hiện lần lượt các bước sau: Tạo Physical Volume (PV), Volume Group (VG) và Logical Volume (LV) bằng các lệnh như: pvcreate
, vgcreate
, lvcreate
, lvextend
. Trước tiên, bạn cần chuẩn bị sẵn 3 đĩa cứng vật lý là: /dev/sdb
, /dev/sdc
và /dev/sdd
, mỗi ổ có dung lượng 10GB.
2. Tạo Physical Volume
Bạn chạy lệnh sau để tạo physical volume (PV) trên các thiết bị /dev/sdb
, /dev/sdc
và /dev/sdd
:
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc /dev/sdd
Để liệt kê các physical volume (PV) mới được tạo, bạn thực hiện lệnh sau:
[root@localhost ~]# pvs
Ý nghĩa các trường của lệnh pvs
:
- PV: Tên của đĩa vật lý được sử dụng làm PV.
- PFree: Dung lượng đĩa vật lý còn trống.
Cách xem thông tin chi tiết về từng PV:
[root@localhost ~]# pvdisplay /dev/sdb
[root@localhost ~]# pvdisplay /dev/sdc
[root@localhost ~]# pvdisplay /dev/sdd
Lưu ý
Nếu volume group được tạo từ nhiều ổ đĩa vật lý và một trong số đó bị lỗi, toàn bộ volume có thể không sử dụng được. Vì vậy, bạn cần cân nhắc dùng LVM kết hợp với RAID hoặc sử dụng tính năng RAID của LVM để có khả năng chống lỗi.
3.Tạo Volume Group
Để tạo một volume group có tên là vg0
từ hai ổ đĩa /dev/sdb
và /dev/sdc
, bạn thực hiện lệnh sau:
[root@localhost ~]# vgcreate vg0 /dev/sdb /dev/sdc
Xem thông tin chi tiết volume group vừa tạo, bạn chạy lệnh:
[root@localhost ~]# vgdisplay vg0
Vì vg0
gồm 2 đĩa 10GB, nên tổng dung lượng VG Size sẽ là khoảng 19.99GB. Ý nghĩa các thông tin khi chạy lệnh vgdisplay
là:
- VG Name: Tên của Volume Group.
- Format: Định dạng kiến trúc LVM được sử dụng.
- VG Access: Trạng thái truy cập (đọc/ghi).
- VG Status: Tình trạng hoạt động của VG.
- PE Size: Kích thước mỗi Physical Extent (mặc định là 4MB).
- Total PE: Tổng số PE trong VG.
- Alloc PE: Số lượng PE đã phân bổ.
- Free PE: Số lượng PE còn trống.
Bạn liệt kê các thông tin tổng quát của volume group bằng lệnh:
[root@localhost ~]# vgs
Ý nghĩa các trường:
- VG: Tên volume group.
- PV: Số lượng physical volume trong volume group.
- LV: Số lượng logical volume.
- SN: Số lượng snapshot.
- Attr: Trạng thái hoạt động.
- VSize: Tổng dung lượng của VG.
- VFree: Dung lượng còn trống chưa sử dụng trong VG.
4. Tạo Logical Volume
Bạn sẽ tạo 2 logical volume trong volume group vg0
:
- Một logical volume có tên là
projects
với dung lượng 10GB. - Một logical volume có tên là
backups
, sử dụng toàn bộ dung lượng còn lại trong VG.
Bạn chạy các lệnh sau:
[root@localhost ~]# lvcreate -n projects -L 10G vg0
Logical volume "projects" created.
[root@localhost ~]# lvcreate -n backups -l 100%FREE vg0
Logical volume "backups" created.
Trong đó:
-n
: Tên logical volume.-L
: Dung lượng cụ thể.-l
: Phần trăm dung lượng còn lại trong volume group.
Xem danh sách logical volume, bạn chạy lệnh sau:
[root@localhost ~]# lvs
Ý nghĩa các trường:
- LV: Tên logical volume.
- %Data: Phần trăm dữ liệu đã sử dụng.
- LSize: Kích thước logical volume.
Hiển thị thông tin chi tiết logical volume, bạn dùng lệnh:
[root@localhost ~]# lvdisplay vg0/projects
Tiếp theo, bạn định dạng logical volume projects
với hệ thống tập tin ext4:
[root@localhost ~]# mkfs.ext4 /dev/vg0/projects
Lưu ý
ext4 cho phép tăng hoặc giảm dung lượng, trong khi xfs chỉ hỗ trợ tăng dung lượng.
Tạo thư mục mount, bạn sử dụng lệnh:
[root@localhost ~]# mkdir /projects
[root@localhost ~]# mkdir /backups
Mount các logical volume bằng lệnh:
[root@localhost ~]# mount /dev/vg0/projects /projects/
[root@localhost ~]# mount /dev/vg0/backups /backups/
Kiểm tra dung lượng các thư mục đã mount bằng:
[root@localhost ~]# df -TH
Bây giờ, bạn sẽ mở rộng volume group vg0
bằng cách thêm ổ đĩa /dev/sdd
:
[root@localhost ~]# vgextend vg0 /dev/sdd
Volume group "vg0" successfully extended
Trước và sau khi mở rộng, bạn có thể kiểm tra bằng:
[root@localhost ~]# vgdisplay vg0
Sau khi volume group đã được mở rộng thêm 10GB, bạn sẽ tăng kích thước của logical volume projects
thêm 10GB bằng cách:
[root@localhost ~]# lvextend -l +2000 /dev/vg0/projects
Sau đó resize lại hệ thống tập tin ext4:
[root@localhost ~]# resize2fs /dev/vg0/projects
Bạn kiểm tra lại dung lượng sau khi resize:
[root@localhost ~]# df -TH
Vietnix – Nhà cung cấp dịch vụ lưu trữ uy tín, chất lượng
Vietnix là nhà cung cấp dịch vụ lưu trữ chất lượng cao, mang đến giải pháp thuê VPS vượt trội với hạ tầng mạnh mẽ, toàn bộ sử dụng ổ cứng SSD giúp đảm bảo tốc độ truy cập ổn định và nhanh chóng. Dịch vụ VPS Linux tại Vietnix được tối ưu cho hiệu năng cao, bảo mật nghiêm ngặt và khả năng tùy biến linh hoạt, phù hợp với mọi nhu cầu từ cá nhân đến doanh nghiệp. Với hệ thống backup tự động, giao diện quản trị thân thiện và đội ngũ hỗ trợ kỹ thuật chuyên nghiệp, Vietnix cam kết đồng hành cùng bạn trên mọi chặng đường phát triển. Liên hệ ngay!
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Có thể kết hợp LVM với Docker hay Kubernetes như thế nào để tối ưu tài nguyên lưu trữ?
LVM có thể tích hợp với Docker và Kubernetes để tối ưu lưu trữ bằng cách làm backend cho volume, hỗ trợ snapshot, resize và thin provisioning.
– Với Docker: LVM giúp tạo thin pool để lưu trữ layer image/container, giảm chiếm dung lượng và tăng hiệu quả truy xuất.
– Với Kubernetes: Dùng LVM làm PersistentVolume thông qua LocalPV hoặc LVM CSI driver, cho phép tự động cấp phát, resize và gắn volume linh hoạt theo node.
Sử dụng LVM có làm tăng độ trễ khi truy xuất dữ liệu trên hệ thống lưu trữ SSD không?
Sử dụng LVM trên SSD có thể gây tăng độ trễ nhẹ do thêm lớp quản lý logic, nhưng mức ảnh hưởng rất nhỏ và hầu như không đáng kể trên SSD hiện đại, đặc biệt là SSD NVMe. Trừ khi bạn dùng các cấu hình phức tạp như LVM + RAID + mã hóa hoặc chạy hệ thống yêu cầu IOPS cực cao, thì mới cần quan tâm đến vấn đề này. Trong phần lớn trường hợp (như dùng VPS Linux, web server), LVM mang lại nhiều lợi ích quản lý mà không ảnh hưởng đáng kể đến hiệu năng.
Lời kết
LVM trong Linux không chỉ giúp bạn quản lý dung lượng lưu trữ linh hoạt mà còn mang lại khả năng mở rộng, thu hẹp và sao lưu dữ liệu hiệu quả hơn rất nhiều so với cách phân vùng truyền thống. Qua bài viết này, mình hy vọng bạn đã hiểu rõ khái niệm LVM là gì, cũng như nắm được cách tạo và quản lý LVM một cách chi tiết trên Linux. Nếu bạn thường xuyên làm việc với hệ thống hoặc muốn tối ưu hóa việc quản lý ổ đĩa, LVM chắc chắn là một công cụ không thể thiếu.