Giải ngố Linux – Phần 6: Vượt qua nghịch cảnh “No space left on device” với Logical Volume Management

Tiếp theo nội dung Nâng trình quản lý Hard disk với Logical Volume Management, kỳ này tôi sẽ đi vào xử lý một tình huống ám ảnh với phần lớn người dùng máy tính đó là khi hệ thống thông báo “No space left on device”!

Bạn biết đấy, theo thời gian sử dụng, Hard disk thường là đối tượng gặp vấn đề sớm nhất do khối lượng dữ liệu lưu trữ ngày càng phình to. Dù cho phương án External Hard disk hay Cloud storage có xuất sắc đến đâu thì dữ liệu lưu trữ trực tiếp trên Hard disk vẫn luôn là phương án thuận tiện và an toàn nhất. Do vậy, nếu bạn tính toán không giỏi (mà cũng không có tiền để chơi max option cho Hard disk) thì việc thấy câu thông báo “No space left on device” từ Linux OS chỉ là vấn đề thời gian.

Trong hoàn cảnh éo le này, bạn có một số phương án xử lý:

  • Kiểu “Cam chịu”: Bạn chạy command kiểm tra và dọn dẹp hệ thống và file rác. Phương án này thường sẽ giúp bạn sống qua vài con trăng nữa nhưng vấn đề cốt lõi là “hết dung lượng Hard disk” vẫn chưa được giải quyết triệt để;
  • Kiểu “Huy hoàng rồi chợp tắt”: Nhờ “Tổ đãi, trúng được con lô” nên bạn gỡ mịa cái Hard disk cũ ra quăng thẳng tay vô sọt rác và thay bằng cái Hard disk mới dung lượng gấp 10 lần cho máu lửa. Phương án này ngoài vấn đề tiền bạc còn vướng một điểm khó chịu nữa là bạn phải tốn thời gian và công sức để sao lưu/phục hồi dữ liệu và hệ thống;
  • Kiểu “Trường kỳ kháng chiến”: Khi mới cài đặt hệ thống, do giang hồ xúi bậy nên bạn ngứa bẹn vọc thử với Logical Volume ManagementLVM như nội dung tôi đề cập trong Nâng trình quản lý Hard disk với Logical Volume Management. Nhờ ngày đó “nghịch dại” nên tình huống này bạn có thêm một phương án để tỏa sáng là mua thêm 1 cái Hard disk mới lắp vào bổ sung cho phần dung lượng đang thiếu hụt của hệ thống. Phương án này có điểm hay là bạn có thể sử dụng LVM để ghép cái Hard disk mới vào để tăng dung lượng rồi xài ngay mà không cần đập bỏ hệ thống cũ và xây lại từ đầu!

Lưu ý:

  • Với phương án Trường kỳ kháng chiến, bạn vẫn nên sao lưu dữ liệu/ hệ thống trước khi ra tay nhé. Dù tôi hay giang hồ có chém gió nghe sướng tai đến đâu, bạn vẫn là thằng chịu trách nhiệm thôi!
  • Trong nội dung demo kỳ này, tôi sẽ thực hiện việc gắn thêm Hard disk với VMware cho nhanh gọn. Với hệ thống thực, sau khi gắn thành công Hard disk mới, các phần còn lại bạn thực hiện vẫn theo cùng nguyên tắc như tôi trình bày với hệ thống ảo.

 #1 Bổ sung Hard disk trên VMware

Trước khi thọc tay vô chọc ngoáy, việc đầu tiên tôi cần làm là coi hệ thống nó đang có cái gì. Việc này là để đảm bảo sau khi thực hiện các thao tác, tôi có thể kiểm tra xác nhận các thay đổi có “ép-phê” hay không.

Để kiểm tra thông tin Hard disk bạn có nhiều phương án, ở đây tôi sử dụng command lsblk để hiển thị thông dạng cây cho dễ nhìn. Sau đó, tôi chạy tiếp command df -h để kiểm tra mức sử dụng đĩa tương tự kỳ trước.

lsblk command (1st)
lsblk command (1st)

Kết quả nhìn chung có 2 điểm quan trọng đó là:

  • Hiện có 1 Hard disksda (Nó chia ra thành các phân vùng sda1, sda2, sda5. Cái này tiện thể tôi nói cho vui thôi chứ hiện chưa cần quan tâm đến đám này)
  • Hiện tại LV/” đã dùng đến 80% nên ngày tôi nhìn thấy thông báo “No space left on device” sẽ không còn xa.

Rồi vô vấn đề chính thôi. Trên VMware, sau khi tắt con Kali Linux (thật ra bạn để nó chạy rồi chỉnh và khởi động lại cũng được), bạn chuột phải vô con máy ảo để mở “Settings” như sau.

Add hard disk
Add hard disk

Tại đây bạn chọn Hard Disk sau đó chọn Add để chuyển qua phần Hardware Type.

Hardware Type
Hardware Type

Với tùy chọn Hard Disk bạn nhấn Next để sang phần phần Disk Type.

Disk Type
Disk Type

Ở đây tôi giữ tùy chọn mặc định SCSI rồi Next.

Chuyện bên lề: Tôi nghe nói chữ s trong sda nói ở đoạn đầu là viết tắt của SCSI dù hiện Hard disk còn có nhiều dạng khác ngoài SCSI (d chắc là device còn a thì chắc nó gán tự động cho thằng đầu tiên thôi, thằng Hard disk kế tiếp đút vô chắc sẽ là sdb).  

Tiếp tục tôi giữ tùy chọn mặc định Create a new virtual disk rồi Next.

Create a new virtual disk
Create a new virtual disk

Ở đoạn kế, tôi chọn Disk Capacity là 10 GB demo cho gọn thôi.

Disk Capacity
Disk Capacity

Cuối cùng là xác định vị trí cho Disk file (tôi để chung chỗ con Kali luôn để mai mốt dọn cho nhanh).

Disk file
Disk file

Xong hết rồi thì bạn kiểm tra lại các thông số rồi bấm OK và mở máy ảo lên (hoặc khởi động lại nếu bạn không tắt).

Summary info
Summary info

Sau khi đăng nhập thành công vào hệ thống tôi lại giở trò cũ với command lsblkdf -h.

lsblk command (2nd)
lsblk command (2nd)

Đúng như tôi chém gió ở trên, hiện giờ đã xuất hiện thêm 1 Hard disk tên là sdb 10 GB. Như vậy  tôi có thể xác nhận việc thêm thắt Hard disk là có hiệu quả. Kết quả kiểm tra dung lượng sử dụng vẫn như cũ (hiển nhiên rồi, tôi đã sờ mó gì vào đó đâu mà thay đổi).

#2 Kiểm tra thông số liên quan đến LVM

Cũng giống như Mục 1, tôi sẽ kiểm tra nhanh các thông tin hệ thống liên quan đến LVM. Vì phần này đã đề cập ở nội dung Nâng trình quản lý Hard disk với Logical Volume Management nên tôi sẽ trình bày nhanh để tập trung vào thông tin kết quả của các command thôi.

Đầu tiên, với pvscan, tôi xác nhận Physical Volume PV tương ứng là /dev/sda5/.

pvscan command
pvscan command

Và với vgdisplay, tôi xác định Volume Group – VG Namekali-vg.

vgdisplay command
vgdisplay command

Lưu ý: Tôi có thể dùng pvdisplay để đọc tổng hợp 2 thông tin nói trên luôn.

pvdisplay command
pvdisplay command

Tiếp tục, với lvdisplay, tôi xác định được thông tin chi tiết của 2 Logical Volume – LV Path /dev/kali-vg/root/dev/kali-vg/swap_1 tương ứng 2 LV Namerootswap_1.

lvdisplay command
lvdisplay command
lvdisplay command (cont)
lvdisplay command (cont)

Cuối cùng, tôi xác nhận lại thông tin liên quan đến LVM với lvmdiskscan. Kết quả xác nhận hiện chỉ có mỗi cái LVM physical volume /dev/sda5 như đã nói ở trên. Thằng /dev/sdb mới thêm vào hiện tại không liên quan gì đến LVM (/dev/sdc tôi thêm vào cho nội dung test khác, bạn cứ kệ mịa nó đi!).

lvmdiskscan command (1st)
lvmdiskscan command (1st)

#3 Xử lý tình huống “No space left on device” với LVM

Đầu tiên tôi sẽ tạo PV từ /dev/sdb với command:

pvcreate /dev/sdb

pvcreate command
pvcreate command

Dù nó báo “successfully” nhưng tôi đa nghi lắm nên cứ kiểm lại cho chắc với command:

lvmdiskscan -l

lvmdiskscan command (2nd)
lvmdiskscan command (2nd)

Lúc này bạn thấy /dev/sdb đã gia nhập vào hội LVM Physical Volume. Kế tiếp tôi sẽ cho cái PV mới tạo này vô Volume Group kali-vg (nếu không biết cái kali-vg từ đâu ra thì bạn tua ngược lại Mục 2) với command:

vgextend kali-vg /dev/sdb

vgextend command
vgextend command

Thừa thắng xông lên, tôi mở rộng Logical Volume root (tương ứng với path /dev/kali-vg/root) bằng command:

lvm lvextend -l +100%FREE /dev/kali-vg/root

lvextend command
lvextend command

Chỗ này bạn phải cảnh giác. Dù nó cứ bô lô ba la “successfully” liên tục nhưng nếu kiểm tra lại với command df -h bạn sẽ thấy:

df command (1st)
df command (1st)

Quách Thị Phụng! Như vậy hiện “/” vẫn đang đầy 80% y như cũ chứ chả có “ép-phê” gì à? Đúng vậy, đó là vì tôi còn thiếu một bước quan trọng là resize filesystem với command:

resize2fs -p /dev/mapper/kali–vg-root

resize command
resize command

Kiểm tra lại thành quả với df -h tôi thấy:

df command (2nd)
df command (2nd)

Cám ơn trời đất! Dung lượng sử dụng của “/” cuối cùng cũng đã tuột xuống mức 31% như ước nguyện mà tôi gửi gắm ở đầu bài.

Để xử lý “No space left on device”, trên VMware, bạn cũng có thể điều chỉnh kích thước Hard disk hiện hữu thay vì gắn thêm vào một cái bổ sung. Phương án này thật sự cũng phổ biến nhưng quá trình xử lý sẽ tương đối khác so với nội dung nói trên. Nếu bạn quan tâm thì cứ comment rồi có thể tôi sắp xếp cập nhật thêm vào bài này luôn.

Leave a Reply

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