#Các công cụ hỗ trợ làm việc với KVM
Mục lục
1. virt-manager
Virt-manager là ứng dụng có giao diện đồ họa cho người dùng để quản lý các máy ảo thông qua các API của libvirt.
Nó có thể quản lý các máy ảo KVM, Xen và LXC. Nó có thể hiển thị thông tin của các máy ảo, mạng ảo, interface… Tạo, xóa, bật, tắt và quản lý máy ảo, mạng áo thông quan giao diện đồ họa.
1.1. Cài đặt virt-manager
Cài đặt virt-manager
và libvirt nếu chưa cài:
Trên Ubuntu:
sudo apt install libvirt virt-manager -y
systemctl start libvirtd
systemctl enable libvirtd
1.2. Cấu hình
Chạy virt-manager
với user root
hoặc người dùng khác trong nhóm libvirt
câu lệnh:
virt-manager
Giao diện trên ubuntu Desktop
Thêm host để quản lý từ xa thông qua ssh:
Để không phải nhập mật khẩu mỗi lần kết nối đến server remote, chúng ta cấu hình ssh key pair:
ssh-copy-id user@host
1.3. Cấu hình và quản lý máy ảo bằng virt-manager.
1.3.1. Tạo máy ảo
- Chuẩn bị một file ISO Centos7 minimal trong thư mục
/var/lib/libvirt/images
root@m4700:/var/lib/libvirt/images# ls CentOS-7-x86_64-Minimal-1804.iso
- Chọn File -> New Virtual Machine
- Chọn Local install media để cài đặt từ file ISO -> Forward:
- Chọn Use ISO image -> Browse..:
-
Chọn file ISO Centos7 trong thư mục /var/lib/libvirt/image hoặc có thể chọn file ISO từ các thư mục hay storage pool khác.
- Cấu hình phần cứng cho máy ảo:
- Các cấu hình phần cứng sẽ được tự động cấu hình theo yêu cầu tối thiểu đển chạy hệ điều hành.
- Ở phần cấu hình lưu trữ cho máy ảo, có thể tạo mới hoặc chọn từ các disk image đã tạo. Nếu chọn tạo mới, nó sẽ tạo một disk image định dạng qcow2 trong
/var/lib/libvirt/image
- Cấu hình tên cho máy ảo và xem lại một số thông số như ram, cpu, storage và cầu hình mạng cho máy ảo( ở đây chọn mạng mặc định là NAT). Chọn Customize configuration before install để cấu hình phần cứng nâng cao cho máy ảo.
- Sau khi cấu hình xong, Chọn Begin Install để bắt đầu cài đặt máy ảo.
1.3.2 Cấu hình mạng và storage cho các kết nối (các host) QEMU/KVM
Trong màn hình chính của virt-manager,chọn host, chọn Edit, chọn Connection Detail để vào cấu hình cho host:
1.3.3. Quản lý máy ảo.
Để quản lý máy ảo, double click vào máy ảo, cửa sổ quản lý máy ảo sẽ mở ra:
- Trên thanh điêu hướng gồm một số mục:
- File: để quản lý cửa sổ.
- Virtual Machine: để quản lý máy ảo như: bật, tắt, xóa, di chuyển,…
- View: để quản lý hiển thị: Console(để truy cập màn hình console của máy ảo), details(để hiện thị chi tiết cấu hình máy ảo), Snapshot(để quản lý snapshot của máy ảo),….
- Send key: để gửi một phím hay một tổ hợp phím đến máy ảo.
- Bên cạnh đó có một số phím để sử dụng nhanh một số chức năng quản lý máy ảo:
2. virsh
virsh
là công cụ giao diện dòng lệnh kết nối với libvirt để quản lý, máy ảo, disk, network ảo,… của các trình ảo hóa như QEMU/KVM,…
- Truy cập giao diện của
virsh
: ``` [root@localhost ~]# virsh Welcome to virsh, the virtualization interactive terminal.
Type: ‘help’ for help with commands ‘quit’ to quit
virsh #
- Hiển thị các lệnh sử dụng với virsh:
virsh # help
- Với các nhóm câu lệnh là
- Domain Management: là nhóm câu lệnh để quản lý máy ảo như bật, tắt, tạm dừng, dich chuyển, cấu hình phần cứng,...
- Domain Monitoring: Giám sát máy ảo như hiển thị danh sách máy ảo, thông tin về các trạng thái trong mạng, các lỗi ổ đĩa,...
- Host and Hypervisor: Nhóm câu lệnh quản lý các cấu hình liên quan đến host, hypervisor như hiển thị các thông số về ram hay cpu của host, hostname, URI,...
- Interface : quản lý các interface.
- Network Filter: cấu hình các bộ lọc mạng
- Networking: Tạo và quản lý các mạng ảo
- Snapshot: Các câu lệnh quản lý snapshot
- Storage Pool: Các câu lệnh quản lý storage pool
- Storage Volume: Các câu lệnh quản lý volume
- Virsh itself: Các câu lệnh để sử dụng với virsh như các câu lệnh làm việc với thư mục, thoát virt, kết nối (lại) với hypervisor.
Một số câu lệnh phổ biến.
- Hiển thị các máy ảo đang chạy:
virsh # list Id Name State —————————————————- 3 centos7.0-1 running
- Tắt một máy ảo đang chạy:
virsh # shutdown centos7.0-1 Domain centos7.0-1 is being shutdown
virsh # list Id Name State —————————————————-
- Hiển thị tất cả các máy ảo (kể cả đang tắt):
virsh # list –all Id Name State —————————————————-
- centos7.0-1 shut off
- Bật máy ảo:
virsh # list –all Id Name State —————————————————-
- centos7.0-1 shut off ```
- Tạo snapshot cho máy ảo:
virsh # snapshot-create-as --domain centos7.0-1 --name "mysql-installed" Domain snapshot mysql-installed created virsh # snapshot-list centos7.0-1 Name Creation Time State ------------------------------------------------------------ mysql-installed 2019-09-03 00:38:10 -0400 running
3. virt-install
virt-install
là công cụ dòng lệnh dùng để đơn giản hóa quá trình tạo máy ảo (thay vì phải tạo máy ảo bằng file XML vớivirsh
).
3.1. Cài đặt virt-install
- Trên centos 7:
yum install virt-install
- Trên ubuntu 18.04:
apt install virtinst
3.2. Cài đặt máy ảo.
- Tạo ổ cứng ảo cho máy
ảo bằng lệnh
qemu-image`:qemu-img create -f qcow2 /var/lib/libvirt/images/centos2.qcow2 10G
Cú pháp tạo máy ảo với
virt-install
là :virt-install <option>
Ví dụ, lện tạo máy ảo:
virt-install \
--name centos7-2 \
--boot hd,cdrom \
--memory 2048 \
--disk /var/lib/libvirt/images/centos2.qcow2 \
--location '/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1804.iso' \
--vcpus sockets=1,cores=1,threads=2 \
--graphics none \
--console pty,target_type=serial \
--extra-args 'console=ttyS0,115200n8 serial'
- Sau khi tạo xong máy ảo sẽ xuất hiện giao diện cài đặt: