Trong suốt một năm qua, tôi đã thử nghiệm vô số hệ điều hành máy chủ tại gia và nền tảng ảo hóa khác nhau. Mặc dù mỗi bản phân phối đều mang lại những giá trị riêng, nhưng Proxmox vẫn là người chiến thắng không thể tranh cãi cho các phòng lab gia đình, và điều này hoàn toàn có lý. Nền tảng này cung cấp mọi thứ từ các cụm có tính sẵn sàng cao (high-availability clusters), lưu trữ Ceph đến hỗ trợ ZFS gốc, các mẫu LXC TurnKey và tiện ích mạng SDN – tất cả đều hoàn toàn miễn phí.
Tuy nhiên, sự hỗ trợ từ cộng đồng là một phần lớn tạo nên sự yêu thích của tôi đối với Proxmox. Trong vô số hướng dẫn, mẫu và bộ công cụ được tạo ra bởi cộng đồng, kho lưu trữ Proxmox VE Helper-Scripts nổi bật như một tài nguyên tốt nhất để quản lý máy chủ PVE của bạn. Ban đầu được phát triển bởi nhà phát triển tài năng tteck (người đã qua đời vì bệnh ung thư vào năm ngoái), Proxmox VE Helper-Scripts là một kho lưu trữ tuyệt vời bao gồm mọi thứ bạn cần để bắt đầu hành trình tự lưu trữ (self-hosting) của mình.
Mặc dù nổi tiếng với bộ script phong phú dành cho LXC và máy ảo, kho lưu trữ này cũng bao gồm một số lệnh shell có thể sửa đổi các khía cạnh nhất định của máy chủ PVE của bạn.
1. Proxmox VE Post Install
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
Bản cài đặt gốc của Proxmox có một vài điểm khó chịu nhỏ theo thời gian. Ví dụ, nền tảng ảo hóa này sẽ nhắc nhở bạn về việc thiếu đăng ký mỗi khi bạn đăng nhập vào máy chủ. Tương tự, Proxmox có kho lưu trữ doanh nghiệp (enterprise repository) được bật mặc định và bạn sẽ cần thay thế nó bằng kho lưu trữ cộng đồng khi muốn cập nhật các gói trên node Proxmox của mình.
Thật may mắn, script Proxmox VE Post Install có thể hoàn thành tất cả các bước này chỉ trong một lần. Tất cả những gì bạn phải làm là dán lệnh Post Install vào Shell và xem script giải quyết những vấn đề khó chịu đó. Tôi chạy script này mỗi khi thực hiện cài đặt Proxmox mới trên các thiết bị home lab của mình (và trong các môi trường ảo hóa lồng ghép).
Script Proxmox VE Post Install đang chạy để tối ưu cài đặt
2. Proxmox Clean Orphaned LVM
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/clean-orphaned-lvm.sh)"
Trong quá trình sử dụng Proxmox, tôi đã tạo và xóa nhiều LXC và máy ảo. Tuy nhiên, việc chỉ xóa một máy ảo không giải phóng tất cả dung lượng lưu trữ mà nó sử dụng. Nếu bạn quên bật tùy chọn xóa dữ liệu LVM khi xóa một máy ảo khách, các ổ đĩa ảo của nó có thể tiếp tục chiếm hàng gigabyte dung lượng trên ổ đĩa lưu trữ của bạn.
Script Proxmox Clean Orphaned LVM cực kỳ hữu ích – tôi chỉ cần chạy script và đợi trong khi nó dọn dẹp các ổ đĩa lưu trữ bổ sung còn sót lại từ các máy ảo khách không còn tồn tại.
Script Proxmox Clean Orphaned LVM giúp giải phóng dung lượng
3. PVE Privilege Converter
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/pve-privilege-converter.sh)"
Container không đặc quyền (unprivileged containers) là một lựa chọn tốt hơn cho những người dùng home lab quan tâm đến bảo mật, những người muốn ngăn chặn rủi ro leo thang đặc quyền. Xét cho cùng, nếu một hacker đột nhập vào container đặc quyền của bạn, họ sẽ có thể truy cập môi trường Proxmox host với quyền root. Tuy nhiên, có những lúc bạn có thể muốn sử dụng container đặc quyền. Có thể bạn muốn một cách dễ dàng hơn để liên kết các chia sẻ mạng (network shares) với máy chủ của mình. Hoặc có thể bạn muốn một phương pháp đơn giản và trực tiếp để bật truyền qua GPU (GPU passthrough) cho các dịch vụ container hóa của mình.
Nhưng một khi bạn đã triển khai một dịch vụ bên trong container không đặc quyền, việc chuyển đổi nó sang mô hình đặc quyền (hoặc ngược lại) không đơn giản như việc bật/tắt một ô chọn. Thay vào đó, bạn sẽ phải sao lưu container thủ công và khôi phục nó với quyền truy cập phù hợp. Script PVE Privilege Converter tự động hóa toàn bộ quá trình này và bạn có thể sử dụng nó để chuyển đổi giữa các chế độ đặc quyền và không đặc quyền thường xuyên tùy thích.
Script PVE Privilege Converter đang hoạt động để chuyển đổi quyền của container
4. Proxmox VE Cron LXC Updater
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/cron-update-lxcs.sh)"
Cron là trình lập lịch tác vụ được tích hợp trong các bản phân phối Linux và cho đến nay là một trong những cách tốt nhất để tự động hóa các dự án Linux của bạn. Mặc dù có thể mất một thời gian để làm quen với cú pháp của chúng, nhưng các biểu thức Cron rất tuyệt vời khi bạn muốn chạy các tác vụ nhất định lặp đi lặp lại theo các khoảng thời gian cố định – và bạn thậm chí có thể tận dụng tiện ích gọn gàng này trong máy chủ Proxmox của mình bằng cách sử dụng script Cron LXC Updater.
Như bạn có thể đã đoán từ tên gọi, việc chạy script này sẽ khiến Proxmox tạo một tác vụ Cron mới để lấy các hình ảnh LXC đã cập nhật và sử dụng chúng để triển khai lại các container của bạn. Theo mặc định, script chạy vào 12 giờ sáng Chủ Nhật hàng tuần và tải các hình ảnh mới cho tất cả các container của bạn. Nhưng tôi đã cấu hình của mình để kiểm tra các bản cập nhật hàng tháng và loại trừ một số LXC ưu tiên cao khỏi quá trình tự động hóa, vì tôi không muốn mạo hiểm mất chúng do một hình ảnh bị lỗi.
Script Proxmox VE Cron LXC Updater giúp tự động cập nhật container
5. Proxmox Update Repositories
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-repo.sh)"
Nếu bạn đã từng sử dụng Linux trước đây, bạn có thể đã gặp phải các kho gói bị lỗi. Cho dù là do các liên kết không hợp lệ, các gói lỗi hoặc các vấn đề nhỏ khác trên máy của bạn, không có gì lạ khi gặp lỗi khi cố gắng cài đặt hoặc cập nhật các gói của bạn.
Điều tương tự cũng đúng với Proxmox, về cơ bản là Debian được đóng gói với một số tính năng tiện lợi và được bao bọc trong giao diện người dùng web thuận tiện. Do đó, bạn có thể chạy script Proxmox Update Repositories nếu gặp bất kỳ sự cố nào khi làm việc với các LXC trên máy chủ PVE của mình.
Script Proxmox Update Repositories đang được thực thi
6. Proxmox VE LXC IP-Tag
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/add-lxc-iptag.sh)"
Quản lý địa chỉ IP của các máy ảo khách không có vẻ quá phức tạp khi bạn chỉ có một vài dịch vụ được triển khai trên máy Proxmox của mình. Nhưng một khi “đội quân” LXC của bạn bắt đầu phát triển mất kiểm soát, bạn sẽ gặp khó khăn trong việc theo dõi chi tiết mạng của từng container.
Đó là lúc script LXC IP-Tag trở nên cực kỳ hữu ích. Sau khi bạn thực thi script trong Shell của Proxmox, nó sẽ gắn địa chỉ IP dưới dạng một thẻ (tag) vào mỗi dịch vụ LXC, giúp việc quản lý bộ container của bạn trở nên dễ dàng hơn.
Script Proxmox VE LXC IP-Tag đang gắn địa chỉ IP cho container
Những Script Proxmox Hữu Ích Khác Không Thể Bỏ Qua
Bên cạnh những lệnh hữu ích này, kho lưu trữ còn có một vài script khác đáng được nhắc đến. Có Proxmox VE Processor Microcode, bổ sung một số bản sửa lỗi và vá lỗi hiệu suất hữu ích cho nhiều loại CPU, trong khi LXC Filesystem Trim chạy lệnh fstrim để loại bỏ các khối không sử dụng khỏi máy ảo khách của bạn.
Sau đó, bạn có phần còn lại của các script container, có thể triển khai các ứng dụng trong môi trường LXC. Mặc dù tôi sử dụng phần lớn các script này trong phòng lab gia đình của mình, nhưng script dành cho Vaultwarden xứng đáng được đề cập đặc biệt. Nếu bạn triển khai trình quản lý mật khẩu này theo cách thông thường, bạn sẽ phải trải qua một quá trình dài chỉ để thiết lập quyền truy cập HTTPS cho giao diện web của container. Trong khi đó, Proxmox VE Helper-Script dành cho Vaultwarden tự động tạo chứng chỉ tự ký, giúp bạn có thể lưu mật khẩu của mình mà không gặp quá nhiều rắc rối.
Kết luận
Kho lưu trữ Proxmox VE Helper-Scripts là một minh chứng sống động cho sức mạnh của cộng đồng Proxmox, mang đến những giải pháp thiết thực và hiệu quả cho người dùng. Từ việc tinh chỉnh cài đặt sau khi triển khai, giải phóng không gian lưu trữ bị chiếm dụng, điều chỉnh đặc quyền container, đến tự động hóa cập nhật và dễ dàng quản lý địa chỉ IP, các script này đều đóng vai trò quan trọng trong việc tối ưu hóa trải nghiệm quản lý máy chủ Proxmox.
Chúng không chỉ giúp tiết kiệm thời gian và công sức mà còn nâng cao tính bảo mật và hiệu suất cho môi trường home lab của bạn. Nếu bạn đang vận hành một máy chủ Proxmox, việc khám phá và tận dụng những công cụ vô giá này từ cộng đồng là điều không thể thiếu. Hãy trải nghiệm và biến việc quản lý Proxmox của bạn trở nên dễ dàng và chuyên nghiệp hơn bao giờ hết.