Chuyên mục
Virtualization

[Proxmox] Thiết lập LXC (LinuX Container) trên Proxmox VE

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.

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 thuanbuiCode 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 thuanbuiCode 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 - thuanbuiCode language: Nginx (nginx)

Tiếp theo, gõ thử lệnh sau

sudo ls -la /rootCode 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.debCode 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.

  1. Chọn LXC Container cần chỉnh bên Resource Tree
  2. Chọn Options
  3. Chọn Start at boot
  4. Bấm Edit
  5. 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.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

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 mò vào hỏi trong fanpage Yêu Chạy Bộ, sẽ không có phản hồi đâu!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *