Cập nhật 09/2024: Bổ sung clip Youtube hướng dẫn
Bên cạnh tính năng tạo máy ảo KVM, Proxmox còn được tích hợp tính năng thiết lập và quản lý LXC (LinuX Container), công nghệ ảo hoá hệ điều hành đang rất phổ biến hiện nay.
LXC (LinuX Container) là giải pháp ảo hoá trên nền hệ điều hành cho phép nhiều hệ thống Linux cùng hoạt động trên một máy chủ vật lý, sử dụng chung Linux kernel.
Để hiểu rõ hơn về LXC, bạn có thể xem lại bài viết LXC vs. Docker mình đã chia sẻ trước đây
Bài viết này mình sẽ hướng dẫn cách thiết lập LXC trên môi trường ảo hoá Proxmox VE.
Mục Lục
I. Tải LXC Templates
Tương tự như khi thiết lập máy ảo KVM, bạn cần phải chuẩn bị sẵn nguồn cài đặt khi thiết lập LXC. Proxmox sử dụng cái mẫu cài đặt với tên gọi là CT Template. Bạn cần phải tải các mẫu CT Templates về Proxmox trước khi tạo LXC Container.
Truy cập vào mục local storage → CT Templates → Bấm vào nút Templates
Proxmox đã thiết lập sẵn 1 kho CT Templates với rất nhiều các bản Linux distro cũng như các ứng dụng web được cấu hình sẵn. Bấm vào Template bạn cần và bấm nút Download để tải về.
Sau khi hoàn tất, các template sẽ xuất hiện trong mục CT Templates. Chúng ta đã có thể tạo LXC trên Proxmox.
II. Tạo LXC trên Proxmox
Truy cập vào giao diện Web UI của Proxmox, bấm vào nút Create CT trên Header (Proxmox gọi tắt Linux Container là CT)
1. General
Giữ nguyên thông số mặc định, mình chỉ thay đổi 2 thông số
- Hostname: nhập tên container
- Password & Confirm password: nhập mật khẩu dùng để quản lý container.
Bấm Next
2. Template
- Template: chọn template bạn muốn cài đặt cho container.
3. Disks
- Disk size (GiB): giữ nguyên mặc định 8 GB hoặc thay đổi tuỳ ý bạn
4. CPU
Thay đổi số CPU Cores tuỳ theo nhu cầu sử dụng. Mình giữ mặc định 1 Core
5. Memory
Bạn cần thay đổi dung lượng Memory tuỳ theo mục đích sử dụng.
- Memory: 2048
- Swap: 2048
6. Network
- IPv4: chọn Static cấu hình IP tĩnh cho container dựa theo subnet của bạn.
- IPv6: chọn Static và để mặc định None để vô hiệu hoá IPv6.
7. DNS
Giữ nguyên thông số mặc định để sử dụng DNS của Proxmox.
8. Confirm
Kiểm tra lại toàn bộ thông số lần cuối. Bấm chọn Start after created để LXC tự động chạy sau khi tạo xong.
Bấm Finish để tạo LXC Container mới.
Chờ vài phút cho Proxmox thiết lập Container. Khi hoàn thành, trong bảng thông báo sẽ hiện ra TASK OK. Bạn có thể tắt hộp thoại này để bắt đầu truy cập LXC Container.
III. Truy cập LXC Container
Do sử dụng chung nhân Linux kernel với host Proxmox nên LXC khởi động cực nhanh. Container khởi động gần như tức thời sau khi bấm nút Start – khởi động.
Mình truy cập vào mục Console của LXC để vào giao diện dòng lệnh CLI. Mọi thao tác quản lý, cài đặt có thể thực hiện tại đây.
Mặc định sau khi thiết lập, LXC container sẽ khoá tính năng truy cập SSH của tài khoản root
. Do đó, mình sẽ tạo thêm tài khoản sudo mới dùng để đăng nhập SSH
1. Tạo tài khoản mới
Tạo tài khoản mới với tên đăng nhập thuanbui
. Bạn nhớ thay thế bằng bất kỳ tên đăng nhập nào khác tuỳ thích.
sudo adduser thuanbui
Code language: Nginx (nginx)
Hệ thống sẽ yêu cầu tạo mật khẩu và cung cấp thông tin cá nhân cho tài khoản mới. Nhớ tạo mật khẩu phức tạp (đừng dùng 123456 hay abcdef). Phần thông tin Full Name, Room Number,… bạn có thể để trống và Enter nhiều lần, sau đó chọn Y để xác nhận là xong
Adding user `thuanbui' ...
Adding new group `thuanbui' (1002) ...
Adding new user `thuanbui' (1002) with group `thuanbui' ...
Creating home directory `/home/thuanbui' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for thuanbui
Enter the new value, or press ENTER for the default
Full Name []: Thuan Bui
Room Number []:
Work Phone []:
Home Phone []:
Code language: PHP (php)
Thêm tài khoản mới này vào group sudo. Group sudo là group có quyền quản trị trên Linux.
sudo usermod -aG sudo thuanbui
Code language: Nginx (nginx)
Để kiểm tra lại quyền sudo của tài khoản mới, đầu tiên cần chuyển qua dùng tài khoản mới này
su - thuanbui
Code language: Nginx (nginx)
Tiếp theo, gõ thử lệnh sau
sudo ls -la /root
Code language: Nginx (nginx)
Nhập mật khẩu của tài khoản mà bạn đã tạo lúc nãy
[sudo] password for thuanbui:
Code language: CSS (css)
Kết quả nhận được như sau có nghĩa là tài khoản mới đã có quyền sudo, có thể cài đặt, cấu hình máy ảo thoải mái.
thuanbui@ubuntu:~$ sudo ls -la /root
total 76836
drwx------ 5 root root 4096 Jan 25 08:08 .
drwxr-xr-x 22 root root 4096 Jan 26 13:16 ..
-rw------- 1 root root 1315 Jan 26 13:16 .bash_history
-rw-r--r-- 1 root root 3106 Dec 5 2019 .bashrc
drwx------ 2 root root 4096 Jan 23 23:27 .cache
drwx------ 3 root root 4096 Jan 25 08:08 .config
drwxr-xr-x 3 root root 4096 Jan 24 13:28 .local
-rw-r--r-- 1 root root 161 Dec 5 2019 .profile
-rw-r--r-- 1 root root 78640798 Jan 20 08:04 plexmediaserver_1.25.4.5426-eb46d070e_amd64.deb
Code language: YAML (yaml)
2. Kích hoạt Start at boot
Tính năng Start at boot sẽ cho phép LXC container tự động chạy mỗi khi Proxmox khởi động lại. Với các container nào cần thiết sử dụng 24/7, mình sẽ kích hoạt tính năng này để bảo đảm nó luôn luôn hoạt động mỗi khi Proxmox khởi động.
- Chọn LXC Container cần chỉnh bên Resource Tree
- Chọn Options
- Chọn Start at boot
- Bấm Edit
- Chọn Start at boot và bấm OK
Vậy là xong. Bạn đã có trong tay 1 “máy ảo” LXC trên nền tảng Proxmox để tha hồ vọc vạch nghiên cứu.
[convertkit form=7087807]
Lưu ý: Nếu bạn cần hỗ trợ kỹ thuật, vui lòng gửi câu hỏi trực tiếp ở phần Thảo luận bên dưới, mình sẽ trả lời sớm. Đừng vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!