Mặc dù những người có nhu cầu lưu trữ dữ liệu lớn thường e ngại sử dụng ổ cứng SSD do số chu kỳ ghi giới hạn và khả năng lưu trữ dài hạn không tối ưu, nhưng những ổ đĩa siêu tốc này lại là lựa chọn tuyệt vời cho ổ đĩa khởi động (boot drive) trên các máy tính cá nhân và máy chủ gia đình. Với Proxmox, một nền tảng ảo hóa mã nguồn mở phổ biến, SSD đóng vai trò cực kỳ quan trọng trong việc đảm bảo hiệu suất hoạt động mượt mà cho các môi trường chứa container, máy ảo và hệ điều hành máy chủ/NAS. Tuy nhiên, một số dịch vụ và tác vụ cường độ cao trong Proxmox có thể gây ra tình trạng hao mòn đáng kể cho SSD, đặc biệt là trong các môi trường máy chủ làm việc liên tục.
Với vai trò là một người dùng Proxmox cho các tác vụ self-hosting và thử nghiệm tính toán, việc bảo vệ ổ đĩa khởi động SSD khỏi sự xuống cấp là ưu tiên hàng đầu. Bài viết này sẽ đi sâu vào nguyên nhân gây hao mòn SSD trong Proxmox và cung cấp các phương pháp tối ưu hiệu quả để đảm bảo ổ đĩa của bạn luôn hoạt động ổn định và bền bỉ theo thời gian.
Nguyên Nhân Gây Hao Mòn SSD Trong Proxmox?
Không giống như ổ cứng HDD cơ học, SSD sử dụng các tế bào flash NAND để lưu trữ dữ liệu. Khi bạn thực hiện các thao tác ghi dữ liệu lên ổ SSD, lớp oxit bên trong tế bào flash sẽ bị hao mòn dần, dẫn đến giới hạn về số chu kỳ ghi và ảnh hưởng đến tuổi thọ tổng thể của ổ đĩa. Ngay cả khi bạn đã chuyển các máy ảo hoặc container cần nhiều thao tác I/O sang ổ HDD, Proxmox vẫn có một số dịch vụ nền tảng nổi tiếng với việc ghi dữ liệu liên tục và quá mức lên ổ đĩa khởi động SSD.
Công Cụ iotop
Giúp Bạn Phát Hiện Tất Cả
Để kiểm tra xem dịch vụ nào đang thực hiện các thao tác ghi dữ liệu nhiều nhất lên ổ đĩa, công cụ iotop
là một lựa chọn lý tưởng. Proxmox được xây dựng trên nền tảng Debian, vì vậy việc cài đặt iotop
khá đơn giản. Bạn chỉ cần thực hiện lệnh apt install iotop -y
trong giao diện Shell UI của node Proxmox, sau đó chạy iotop -ao
.
Cài đặt công cụ iotop trên Proxmox
Trong hầu hết các thiết lập, bạn sẽ nhận thấy rằng dịch vụ systemd-journald
và một số tiến trình pve-cfs
là nguyên nhân chính gây ra nhiều thao tác ghi nhất trên SSD. Dịch vụ systemd-journald
rất quan trọng cho việc khắc phục sự cố (mặc dù có cách để kiểm soát tác động của nó), nhưng chính các dịch vụ pve-cfs
(hoặc đúng hơn là một cặp dịch vụ) mới là trọng tâm chính mà chúng ta cần giải quyết.
Kiểm tra các tiến trình ghi nhiều vào ổ cứng bằng iotop trên Proxmox
Vô Hiệu Hóa Các Dịch Vụ Gây Hao Tải
Đây Là Giải Pháp Hiệu Quả Nếu Bạn Không Sử Dụng Cấu Hình Cụm PVE
Dịch vụ pve-ha-lrm.service
là một trong hai “thủ phạm” gây ra các thao tác ghi quá mức. Dịch vụ này chịu trách nhiệm quản lý phân bổ tài nguyên trên node PVE cục bộ. Dịch vụ thứ hai, pve-ha-crm.service
, quản lý tài nguyên cho toàn bộ cụm (cluster), giám sát trạng thái của từng node và đảm bảo rằng thiết lập High Availability (HA – tính sẵn sàng cao) tiếp tục hoạt động miễn là có đủ số lượng máy chủ tối thiểu để duy trì quorum.
Vô hiệu hóa các dịch vụ cluster của Proxmox
Nếu bạn đang xây dựng một cấu hình High Availability cho Proxmox cluster, bạn sẽ cần bật các dịch vụ này. Tuy nhiên, đối với những người dùng Proxmox tại nhà (home labbers) chỉ sử dụng một node duy nhất, bạn hoàn toàn có thể vô hiệu hóa chúng để ngăn chặn (hoặc làm chậm đáng kể) tốc độ hao mòn của ổ đĩa khởi động.
Việc vô hiệu hóa các dịch vụ này khá đơn giản. Bạn chỉ cần sử dụng trình quản lý systemd
thông qua systemctl
để dừng từng dịch vụ trước khi chạy lệnh disable để loại bỏ chúng khỏi việc khởi động cùng hệ thống:
systemctl stop pve-ha-lrm.service
systemctl disable pve-ha-lrm.service
systemctl stop pve-ha-crm.service
systemctl disable pve-ha-crm.service
Hai máy tính mini PC AMD và Intel đặt cạnh nhau
Bonus: Tối Ưu Lưu Trữ Log Với Log2Ram
Log2Ram Là Công Cụ Hoàn Hảo Cho Việc Này
Bạn còn nhớ tiến trình systemd-journald
mà chúng ta đã thấy trong iotop
không? Không giống như các dịch vụ cluster có trường hợp sử dụng chuyên biệt mà chúng ta đã vô hiệu hóa, systemd-journald
chịu trách nhiệm ghi nhật ký các số liệu thống kê hệ thống. Những nhật ký này cực kỳ hữu ích khi bạn cần khắc phục sự cố máy chủ PVE sau một thử nghiệm thất bại hoặc một file cấu hình bị lỗi làm hỏng chức năng nào đó của node Proxmox.
Nếu bạn đang sử dụng một ổ SSD kém chất lượng, bạn có thể chạy lệnh nano /etc/systemd/journald.conf
để mở file journald.conf
và sửa đổi tham số Storage
thành Storage=volatile
. Điều này sẽ buộc node PVE của bạn ghi nhật ký vào RAM, giúp SSD không phải chịu thêm các thao tác ghi. Tuy nhiên, nhược điểm là nhật ký của bạn sẽ bị xóa khỏi bộ nhớ khi máy chủ tắt. Trong trường hợp hệ thống gặp sự cố, việc khắc phục sẽ trở nên cực kỳ khó khăn vì bạn sẽ không có phương tiện nào để tìm ra lỗi thực sự của máy chủ.
Hoàn tất cài đặt Proxmox trên laptop cũ
Thay vào đó, tôi đề xuất sử dụng Log2Ram. Gói tiện ích này ghi nhật ký hệ thống vào bộ nhớ RAM trước khi định kỳ đồng bộ chúng với SSD, mang lại lợi ích của cả hai phương pháp. Việc thiết lập có thể mất một vài bước. Vì Log2Ram không được bao gồm trong các kho lưu trữ PVE cơ bản, bạn sẽ phải thêm kho lưu trữ của nó theo cách thủ công trước khi chạy lệnh apt install
.
echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bookworm main" | tee /etc/apt/sources.list.d/azlux.list
wget -O /usr/share/keyrings/azlux-archive-keyring.gpg https://azlux.fr/repo.gpg
apt update && apt install log2ram -y
Sau khi cài đặt gói, hãy nhớ khởi động lại node PVE của bạn. Nếu bạn đã làm theo tất cả các bước một cách chính xác, lệnh systemctl status log2ram
sẽ hiển thị Log2Ram là enabled
. Mặc định, tôi giữ cài đặt Log2Ram của mình ở chế độ mặc định, nhưng bạn có thể sửa đổi các tham số SIZE
và PATH_DISK
của nhật ký bằng cách chạy lệnh nano /etc/log2ram.conf
trong giao diện Shell.
Chỉnh sửa file cấu hình Log2Ram trên Proxmox
Đừng Bao Giờ Tiết Kiệm Với SSD Khởi Động – Đặc Biệt Là Trên Proxmox
Những biện pháp phòng ngừa mà chúng tôi đã liệt kê ở đây sẽ rất hữu ích cho những người dựa vào SSD làm ổ đĩa khởi động cho Proxmox. Tuy nhiên, các ổ đĩa chất lượng thấp từ các nhà sản xuất không tên tuổi có xu hướng bị hao mòn nhanh hơn nhiều so với các đối tác cao cấp, ngay cả khi đã áp dụng các biện pháp này. Mặc dù không cần thiết phải sắm một chiếc SSD PCIe 5.0 hàng đầu chỉ để làm ổ đĩa khởi động PVE, nhưng tôi thực sự khuyên bạn nên chọn một ổ đĩa tương đối tốt để tránh những rắc rối về sau. Đầu tư vào một SSD chất lượng sẽ đảm bảo hiệu suất ổn định và kéo dài tuổi thọ cho hệ thống Proxmox của bạn.