Giải ngố Linux – Phần 5: Nâng trình quản lý Hard disk với Logical Volume Management

Nếu bạn còn nhớ (quên thì bấm vô cái link kế bên xem lại), trong nội dung Hướng dẫn cài đặt Kali Linux trên VMware Workstation chi tiết nhất Thái Dương hệ, ở đoạn xử lý Partition disks tôi đề xuất chơi phương án dễ nhất là Guided – use entire disk.

Partition disk options
Partition disk options

Đây là phương án xử lý nhanh gọn lẹ, rất phù hợp cho gà mờ. Tuy nhiên, nếu hiện trình của bạn đã lên được vài level rồi thì đã đến lúc tìm hiểu xem các tùy chọn khác có gì đặc sắc không. Theo thứ tự từ trên xuống, các tùy chọn sẽ yêu cầu kỹ thuật cá nhân của bạn càng cao. Do vậy, trong kỳ này tôi xin phép bàn kỹ hơn về tùy chọn thứ 2 Guided – use entire disk and setup LVM.

 #1 Logical Volume Management – LVM là gì?

LVM đôi khi bạn còn thấy nó viết tắt cho Logical Volume Manager. Tuy nhiên cái đó không quan trọng, điều quan trọng là nó liên quan đến quản lý Logical Volume.

Định nghĩa chuẩn cmn mực thì dài nhưng tôi thấy có thể xem LVM dạng “dynamic partition” (phân vùng động), tức là bạn có thể tạo/xóa/sửa (dung lượng) LVM partition (tên chuẩn là Logical Volume) trong khi hệ thống Linux vẫn chạy mà không cần khởi động lại hệ thống để Kernel nhận diện các thay đổi.

Để dễ hình dung vấn đề, bạn quan sát minh hoạ sau.

LVM structure
LVM structure

Trong đám này sẽ có một số khái niệm quan trọng cần nắm. Và theo thứ tự từ thấp lên cao, bạn sẽ có:

  • Physical Volume PV: Cái này ý muốn nói đến hard disk/hard disk partition (đĩa cứng/ phân vùng ổ cứng). Như ví dụ trên bạn thấy có /dev/sda1, /dev/sda2,…;
  • Volume Group – VG: Cái này là nhóm của một hoặc nhiều PV. Như ví dụ trên bạn sẽ thấy VG 1 tạo thành từ /dev/sda2, /dev/sda3 và /dev/sdb2. VG 2 tạo thành từ /dev/sdb4;
  • Logical Volume – LV: Sau khi gộp đám PV để tạo thành các VG, bạn có thể chi VG thành các virtual partition (phân vùng ảo) tương ứng theo nhu cầu. Ví dụ LV-1 cho /, LV-2 cho swap, LV-3 cho /home, LV-4 cho /tmp (Theo ví dụ trên PV /dev/sda1 sẽ không thuộc LVM và là hàng thửa riêng cho /boot. Tất cả đám PV còn lại đều thuộc LVM.

Đến đây tôi đoán khả năng cao là bạn phọt ra câu “Mịa! Sao không dùng ngay PV cho dạng phân vùng “không ảo”như truyền thống đi. Vẽ vời chi nhức cả đầu!”.

Nhưng cuộc sống mà, bạn muốn “ăn xôi” thì phải “chịu đấm” thôi. “Xôi” mà LVM mang lại bao gồm khả năng:

  • Kết hợp từ 2 ổ đĩa trở lên để tạo LV có dung lượng bằng tổng dung lượng các ổ cứng;
  • Thiết lập chế độ striped LV có tính năng hỗ trợ tăng tốc truy cập ổ đĩa như RAID-0;
  • Tạo read only snapshot với LV để backup;
  • Sửa chữa sai lầm khi phân bố dung lượng đĩa/ phân vùng không phù hợp lúc còn ở cấp độ gà mờ. Cái này tôi thấy rất cần thiết cho người dùng cá nhân, đặc biệt là lúc hệ thống báo đĩa không còn dung lượng để mần việc mà bạn không thể xóa bớt dữ liệu.

Lưu ý: RAID-0 đại khái là bạn phân bố dữ liệu ra nhiều ổ đĩa do đó việc đọc/ghi đồng thời tới nhiều ổ đĩa. Nhưng mà banh 1 ổ đĩa thì bốc sh*t cả lũ luôn. Thực tế người ta sẽ kết hợp các giải pháp backup đi kèm khác để tăng hiệu năng mà vẫn đảm bảo an toàn (nhưng tất nhiên phải xì ra thêm $$$!).

Như vậy để ăn đám “xôi” trên, bạn sẽ phải chấp nhận một số vấn đề như:

  • Tốn công nghiên cứu và thiết lập hơn (tất nhiên rồi);
  • Nếu dùng LVM cho nhiều ổ đĩa, bạn phải chấp nhận khả năng mất dữ liệu nếu 1 ổ đĩa bị hư (do vậy bạn cũng nên có sẵn phương án backup trước khi cắm đầu vô LVM).

#2 Phân vùng đĩa với LVM

Trong phần demo này tôi sẽ chỉ tập trung vào những vị trí khác biệt, những điểm tương tự như bài Hướng dẫn cài đặt Kali Linux trên VMware Workstation chi tiết nhất Thái Dương hệ tôi sẽ không nhắc lại để không làm loãng chủ đề chính.

Quá trình cài đặt Kali Linux vẫn tương tự như trước đó cho đến phần Partition disks thì bạn chuyển xuống tùy chọn số 2 – Guided – use entire disk and setup LVM.

Partition disk LVM
Partition disk LVM

Sau khi Continue bạn sẽ cần xác nhận lại thông tin (chọn YesContinue nếu đồng ý).

Partition disk LVM (cont)
Partition disk LVM (cont)

Kế tiếp bạn sẽ cần thiết lập dung lượng cho Volume Group. Mặc định nó sẽ chạy max nhưng tôi sẽ hạ xuống 15 GB để demo minh họa cho rõ.

Partition disk LVM (cont)
Partition disk LVM (cont)

Và như mọi khi, bạn dò lại toàn bộ thông tin lần cuối và chọn Yes để xác nhận trước khi Continue.

Partition disk LVM (cont)
Partition disk LVM (cont)

Các quá trình tiếp theo không có gì thay đổi nên bạn cứ làm theo nội dung kỳ trước cho đến khi có thể đăng nhập vào con Kali Linux để kiểm tra thông tin liên quan đến LVM.

#3 Kiểm tra thông tin với LVM

Như trình bày ở Mục 1, một trong những điểm rất hay của LVM là cho phép tạo/xóa/sửa (dung lượng) LV trong khi hệ thống Linux vẫn chạy. Bình thường đám này có vẻ rối rắm không cần thiết nhưng khi đụng chuyện (ví dụ hết dung lượng đĩa) bạn mới thấm thía cái vẻ đẹp của LVM. Tuy nhiên, trước khi bay vào demo chi tiết tình huống đó. Tôi nghĩ cần dạo đầu qua các command xem thông tin của LVM sau khi bạn sử dụng tùy chọn này lúc cài đặt cho quen mắt cái đã.

Vì công việc quản lý đĩa và phân vùng là việc tối quan trọng, bạn nên để chỉ user root mới được phép xử lý (tôi chuyển sang user root với sudo su để tiện cho các bước thao tác tiếp theo). Liên quan đến việc quản lý đĩa và phân vùng, đầu tiên bạn nên kiểm tra thông tin sử dụng đĩa với command kiểm tra dung lượng đĩa còn trống với command:

df -h

df command
df command

Lưu ý: Option -h (human) là để hiển thị thông tin thân thiện với người (ví dụ Gigabyte hoặc Megabyte)

Command nói trên (và một số command khác) sẽ rất hữu ích cho việc xử lý tình huống hết dung lượng đĩa. Tạm thời bạn cứ nhớ mang máng là có commnad df đi, tôi sẽ quay lại cái này trong một tình huống cụ thể sau. Kế tiếp, bạn có thể quét để kiểm tra thông tin thiết bị có liên quan với LVM với:

lvmdiskscan

lvmdiskscan command
lvmdiskscan command

Lưu ý: nếu cần bạn có thể cài đặt LVM với sudo apt install lvm2 tuy nhiên nên cân nhắc kỹ việc phân quyền cho user hợp lý như tôi nói trên.

Nếu cần hiển thị thông tin liên quan đến VG bạn có thể dùng:

vgdisplay

vgdisplay command
vgdisplay command

Ở chỗ này bạn có nhiều thông tin về VG trong đó VG Name là thông tin quan trọng cho quá trình hiệu chỉnh ở các giai đoạn sau.

Nếu muốn đi sâu hơn hiển thị thông tin liên quan đến PV bạn có thể dùng:

pvdisplay

pvdisplay command
pvdisplay command

Ở đây nó sẽ cho bạn biết PV Name liên quan đến cái VG. Cũng như trên, đây là thông tin quan trong cho quá trình hiệu chỉnh ở các giai đoạn sau. Đến đây tôi xin kết thúc phần dạo đầu với LVM. Hiện tại bạn chỉ cần nhớ sơ bộ các command này, kỳ tới tôi sẽ đi vào phần demo chi tiết kết hợp đám này với các command khác.

1 thought on “Giải ngố Linux – Phần 5: Nâng trình quản lý Hard disk với Logical Volume Management”

Leave a Reply

Your email address will not be published. Required fields are marked *