Cách tạo Linux OS Templates với KVM trên Ubuntu 20.04

Tác giả NetworkEngineer, T.M.Một 08, 2021, 12:47:09 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Cách tạo Linux OS Templates với KVM trên Ubuntu 20.04


KVM đề cập đến Máy ảo dựa trên Kernel, giúp chạy nhiều máy khách biệt lập dựa trên Linux hoặc dựa trên Windows cùng với hệ điều hành và phần cứng ảo chuyên dụng của riêng họ. Để chạy KVM, hệ thống của bạn phải tương thích với các tiện ích mở rộng ảo hóa phần cứng, chẳng hạn như AMD-V hoặc Intel-VT.

Linux OS Templates là một bản sao của máy ảo bao gồm cấu hình máy ảo cụ thể cũng như hệ điều hành khách. Nếu bạn cần triển khai nhiều máy ảo của cùng một phiên bản thì việc tạo một máy ảo bằng cách sử dụng một Template rất hữu ích, đóng vai trò rất lớn trong việc tiết kiệm thời gian cũng như dung lượng lưu trữ.

Hướng dẫn này mình sẽ chỉ cho bạn cách tạo một Template máy ảo từ máy ảo hiện có trên KVM. Trong bài viết này, việc cài đặt KVM và tạo Template hệ điều hành Linux được thực hiện trên hệ thống Ubuntu 20.04.
Trước khi tiếp tục quá trình, bạn được yêu cầu sẵn sàng hệ thống với KVM được cài đặt trên đó.

1. Tạo máy ảo KVM

Trước tiên, hãy đảm bảo rằng daemon libvirtd đang chạy trên hệ thống của bạn. Nếu không, hãy sử dụng lệnh systemctl để khởi động và kích hoạt daemon.

Mã nguồn [Chọn]
$ sudo systemctl start libvirtd
Mã nguồn [Chọn]
$ sudo systemctl enable libvirtd
Kiểm tra trạng thái daemon libvirtd,

Mã nguồn [Chọn]
$ sudo systemctl status libvirtd
Nếu hệ thống hiện tại của bạn là Ubuntu / Debian, hãy bật mô-đun vhost-net kernel bằng lệnh sau.

Mã nguồn [Chọn]
$ $ sudo modprobe vhost_net
Để tạo Template, trước tiên chúng ta cần có một phiên bản cài đặt trên hệ thống. Chúng ta sẽ tạo hình ảnh 15G centos 8 KVM bằng lệnh qemu-img được cung cấp bên dưới.

Mã nguồn [Chọn]
$ sudo qemu-img create -o preallocation=metadata -f qcow2 /var/lib/libvirt/images/centos8.qcow2 15G

Sau đó, tạo máy ảo bằng cách sử dụng lệnh Virt-install được đề cập bên dưới. Mình sẽ sử dụng CentOS 8 cho hệ điều hành khách, nhưng bạn có thể sử dụng bất kỳ Bản phân phối nào khác. Chỉ cần chú ý điều chỉnh đường dẫn đến ảnh ISO chứa HĐH sẽ được cài đặt (/home/janak/Downloads/CentOS-8.4.2105-x86_64-boot.iso) để phù hợp với đường dẫn của Hệ điều hành mà bạn muốn cài đặt trong VM.

Mã nguồn [Chọn]
$ sudo virt-install --virt-type kvm --name centos8 --ram 2048 \
--disk /var/lib/libvirt/images/centos8.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel7.0 \
--cdrom=/home/janak/Downloads/CentOS-8.4.2105-x86_64-boot.iso


Trong lệnh trên, hãy thay thế tham số của tùy chọn –cdrom bằng hình ảnh centos iso đã tải xuống của bạn.
Sau đó, lệnh sẽ cài đặt và chạy VM trong KVM của bạn, vì vậy hãy mở KVM của bạn bằng trình quản lý ảo.

Mã nguồn [Chọn]
$ sudo virt-manager
Khi bạn mở KVM, bạn có thể thấy máy ảo của mình đang ở trạng thái đang chạy, vì vậy hãy mở máy ảo sau đó hệ thống sẽ bắt đầu quá trình khởi động và bạn có thể xem trang thiết lập ban đầu sau đây của Centos. Sau đó, thực hiện quá trình thiết lập và hoàn tất quá trình thiết lập.


2. Tạo Template máy ảo trong KVM

Khi bạn hoàn tất quá trình đăng nhập thiết lập vào hệ thống của mình, hãy cập nhật hệ thống và cài đặt tất cả các gói cơ bản và bắt buộc.

Để cập nhật thông tin gói trong kho hệ thống, hãy sử dụng:

Mã nguồn [Chọn]
$ sudo yum update -y
Cài đặt một số gói cơ bản mà bạn nghĩ sẽ cần thiết. Trong trường hợp của mình, mình đã cài đặt các gói sau.

Mã nguồn [Chọn]
$ sudo yum install curl epel-release unzip telnet wget -y
Sau đó, vô hiệu hóa tuyến đường zeroconf. Zeroconf là phương pháp kết nối mạng để giao tiếp giữa hai máy tính và cho phép chúng chia sẻ tài nguyên của nhau. Nó sử dụng Giao thức Internet (IP) để thiết lập giao tiếp giữa hai máy tính.

Mã nguồn [Chọn]
$ echo "NOZEROCONF=yes" | sudo tee -a /etc/sysconfig/network
Bây giờ, hãy tắt máy ảo của bạn để tiếp tục xử lý thêm.

Mã nguồn [Chọn]
$ sudo poweroff
Trong cửa sổ dòng lệnh bình thường của bạn, hãy thực hiện lệnh virt-sysprep để làm sạch phiên bản. Virt-sysprep là tiện ích dòng lệnh để cấu hình lại hoặc đặt lại máy ảo để làm cho nó có thể sao chép.

Mã nguồn [Chọn]
$ sudo virt-sysprep -d centos8

Trong lệnh trên, Centos8 đề cập đến tên của máy ảo cài đặt của bạn, vì vậy hãy thay thế nó bằng tên máy ảo của bạn nếu bạn có một máy ảo khác. Nếu hệ thống của bạn chưa cài đặt virt-sysprep, bạn có thể cài đặt nó bằng cách sử dụng lệnh dưới đây.

Mã nguồn [Chọn]
$ sudo apt update
Mã nguồn [Chọn]
$ sudo apt install libguestfs-tools
Cuối cùng, thực hiện lệnh virsh undefined domain sau để xóa cấu hình máy ảo khách.

Mã nguồn [Chọn]
$ sudo virsh undefine centos8

Xin chúc mừng, Template của bạn đã được tạo. Bây giờ bạn có thể sao chép và triển khai nhiều phiên bản của nó.

Cảm ơn bạn đã đọc bài viết này. Trong bài viết này, mình tạo máy ảo và tìm hiểu cách mình có thể tạo ra Template để tạo nhiều phiên bản của nó và triển khai nhiều máy ảo khác nhau.