Ổ cứng thể rắn (SSD) từ lâu đã trở thành lựa chọn hàng đầu cho các hệ thống máy tính hiện đại nhờ tốc độ vượt trội so với ổ HDD truyền thống. Với khả năng truy xuất dữ liệu nhanh chóng, SSD là lựa chọn lý tưởng cho việc cài đặt hệ điều hành, môi trường ảo hóa, hoặc các nền tảng máy chủ gia đình (home server). Đặc biệt, khi triển khai Proxmox VE – một nền tảng ảo hóa mã nguồn mở mạnh mẽ, việc sử dụng SSD làm ổ đĩa khởi động (boot drive) mang lại hiệu suất đáng kể cho các máy ảo, vùng chứa và hệ điều hành quản lý. Tuy nhiên, một điểm yếu cố hữu của SSD là số chu kỳ ghi (write cycles) giới hạn và khả năng lưu trữ dài hạn không tối ưu bằng HDD. Trong môi trường server như Proxmox, các tác vụ ghi dữ liệu liên tục có thể làm giảm tuổi thọ SSD nhanh chóng. Bài viết này sẽ đi sâu vào nguyên nhân gây hao mòn ổ SSD trên Proxmox và cung cấp các biện pháp tối ưu hiệu quả, giúp ổ đĩa khởi động của bạn luôn trong tình trạng tốt nhất.
Nguyên nhân gây hao mòn SSD trên Proxmox?
Không giống như ổ đĩa cơ học (HDD), SSD sử dụng các ô nhớ NAND flash để lưu trữ dữ liệu. Mỗi khi dữ liệu được ghi vào SSD, lớp oxit bên trong ô flash sẽ bị hao mòn dần, dẫn đến hiện tượng giới hạn số chu kỳ ghi. Mặc dù bạn có thể chuyển các máy ảo hoặc container nặng về I/O sang lưu trữ trên HDD, nhưng Proxmox vẫn có một số dịch vụ nền tảng nổi tiếng là ghi dữ liệu quá mức vào ổ đĩa khởi động.
Để xác định chính xác dịch vụ nào đang thực hiện nhiều thao tác ghi dữ liệu nhất lên ổ đĩa, công cụ iotop
là một trợ thủ đắc lực. Vì Proxmox được xây dựng dựa trên Debian, bạn chỉ cần thực hiện lệnh apt install iotop -y
trong giao diện Shell của Node Proxmox để cài đặt công cụ. Sau khi cài đặt, chạy lệnh iotop -ao
để xem các tiến trình đang gây ra tải ghi lớn.
Màn hình Proxmox Shell hiển thị quá trình cài đặt công cụ iotop để theo dõi hoạt động ghi đọc ổ đĩa.
Trong hầu hết các thiết lập Proxmox, bạn sẽ dễ dàng 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 hoạt động 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ố hệ thống (mặc dù có cách để kiểm soát lượng ghi của nó), nhưng chính cặp dịch vụ pve-cfs
mới là trọng tâm chính mà chúng ta cần tối ưu trong bài viết này.
Kết quả từ lệnh iotop -ao trong Proxmox hiển thị các tiến trình systemd-journald và pve-cfs gây ra nhiều hoạt động ghi nhất trên ổ SSD.
Vô hiệu hóa các dịch vụ gây hao mòn
Hai trong số các thủ phạm chính gây ra hoạt động ghi đè quá mức trên ổ SSD của Proxmox là pve-ha-lrm.service
và pve-ha-crm.service
. Dịch vụ pve-ha-lrm.service
chịu trách nhiệm xử lý việc phân bổ tài nguyên trên node PVE cục bộ. Trong khi đó, 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 cấu hình High Availability (HA – tính sẵn sàng cao) tiếp tục hoạt động miễn là số lượng máy chủ tối thiểu cần thiết để duy trì đa số (quorum) vẫn hoạt động.
Do các dịch vụ này là cần thiết cho các cụm Proxmox HA, bạn sẽ muốn giữ chúng được kích hoạt nếu đang xây dựng một cấu hình High Availability. Tuy nhiên, đối với những người dùng home lab chỉ có kế hoạch sử dụng một cấu hình Proxmox single-node (một máy chủ duy nhất), việc vô hiệu hóa chúng có thể ngăn chặn (hoặc ít nhất là 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 gọi trình quản lý systemd
thông qua systemctl
để stop
từng dịch vụ, sau đó chạy lệnh disable
để loại bỏ chúng khỏi quá trình khởi độ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
Các lệnh systemctl stop và disable được thực thi trong Proxmox Shell để vô hiệu hóa các dịch vụ pve-ha-lrm và pve-ha-crm, giúp giảm hao mòn SSD.
Tối ưu lưu trữ log (Bonus)
Nhớ lại tiến trình systemd-journald
mà chúng ta đã thấy trong iotop
? Không giống như các dịch vụ cụm (cluster) chỉ dành cho những trường hợp sử dụng nhất định, systemd-journald
chịu trách nhiệm ghi nhật ký (log) thống kê hệ thống. Với vai trò là một chuyên gia công nghệ, tôi có thể khẳng định rằng các file log này là “cứu tinh” trong rất nhiều trường hợp khi 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ị sai làm hỏng chức năng của node Proxmox.
Nếu bạn đang sử dụng một ổ SSD chất lượng thấp, 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
. Thao tác này sẽ buộc node PVE của bạn ghi log vào RAM thay vì SSD, giúp giảm thiểu các thao tác ghi bổ sung lên ổ đĩa. Tuy nhiên, nhược điểm là các file log sẽ bị xóa khỏi bộ nhớ khi máy chủ của bạn tắt. Trong trường hợp hệ thống gặp sự cố đột ngột (system crash), 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 nguyên nhân lỗi thực sự của máy chủ.
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 ưu điểm của cả hai phương pháp. Việc thiết lập Log2Ram 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
Giao diện nano editor trong Proxmox Shell hiển thị file cấu hình /etc/log2ram.conf, nơi người dùng có thể điều chỉnh các tham số lưu trữ log.
Sau khi cài đặt gói Log2Ram, 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 ở trạng thái enabled
. Bạn có thể giữ Log2Ram ở cài đặt mặc định, hoặc điều chỉnh các tham số SIZE
và PATH_DISK
của log bằng cách chạy lệnh nano /etc/log2ram.conf
trong giao diện Shell.
Lời khuyên cuối: Đừng tiếc tiền mua SSD chất lượng cho Proxmox
Các biện pháp phòng ngừa được liệt kê ở trên sẽ rất hữu ích cho những ai 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ừ những nhà sản xuất ít tên tuổi có xu hướng bị hao mòn nhanh hơn nhiều so với các sản phẩm cao cấp, ngay cả khi đã áp dụng các biện pháp tối ưu này. Mặc dù không khuyến nghị sử dụng một ổ SSD PCIe 5.0 hàng đầu chỉ làm ổ đĩa khởi động PVE, nhưng tôi khuyên bạn nên chọn một ổ đĩa có chất lượng khá tốt để tránh những phiền toái về sau. Đầu tư vào một ổ SSD đáng tin cậy sẽ đảm bảo hệ thống Proxmox của bạn hoạt động ổn định và bền bỉ trong thời gian dài, mang lại trải nghiệm tốt nhất cho các dự án home lab hoặc hệ thống máy chủ của bạn.
Hình ảnh một ổ cứng thể rắn (SSD) chất lượng cao, minh họa cho tầm quan trọng của việc lựa chọn ổ đĩa phù hợp cho Proxmox VE.
Việc tối ưu hóa tuổi thọ SSD trên Proxmox VE không chỉ là một thủ thuật kỹ thuật mà còn là yếu tố then chốt để đảm bảo sự ổn định và hiệu quả lâu dài cho hệ thống máy chủ của bạn. Bằng cách áp dụng các biện pháp như vô hiệu hóa dịch vụ HA không cần thiết và tối ưu hóa lưu trữ log với Log2Ram, bạn có thể kéo dài đáng kể tuổi thọ của ổ SSD khởi động. Hãy nhớ rằng, việc lựa chọn một ổ SSD chất lượng và thực hiện bảo trì định kỳ sẽ giúp bạn tận dụng tối đa sức mạnh của Proxmox VE mà không phải lo lắng về hao mòn phần cứng. Nếu bạn có bất kỳ thắc mắc hay mẹo tối ưu nào khác, đừng ngần ngại chia sẻ trong phần bình luận bên dưới!