92 lines
2.7 KiB
Plaintext
Executable File
92 lines
2.7 KiB
Plaintext
Executable File
-- virsh usefull commands
|
|
-------------------------
|
|
# create new domain
|
|
virt-install \
|
|
--graphics vnc,listen=0.0.0.0 \
|
|
--name=mandalore \
|
|
--vcpus=2 \
|
|
--memory=4096 \
|
|
--network bridge=br0 \
|
|
--network bridge=br0 \
|
|
--cdrom=/mnt/yavin4/kit/CentOS/CentOS-8.2.2004-x86_64-minimal.iso \
|
|
--disk /datastore/mandalore/hdd_01.img,size=6 \
|
|
--os-variant=centos8
|
|
|
|
# get OS Variant
|
|
osinfo-query os
|
|
|
|
# destroy a domain
|
|
virsh destroy mandalore
|
|
|
|
# delete VM and underlying storage
|
|
virsh undefine mandalore --remove-all-storage
|
|
|
|
|
|
# adding disk to VM
|
|
# on Dom0 create the disk (RAW format in exemple)
|
|
qemu-img create -f raw /datastore/mandalore/app_01.img 8G
|
|
# change the owner of the image ad permissions
|
|
chown qemu:qemu /datastore/mandalore/app_01.img
|
|
chmod 600 /datastore/mandalore/app_01.img
|
|
# on DomU list block devices
|
|
lsblk
|
|
# or to have the sorted list of block devices
|
|
fdisk -l | grep '^Disk /dev/vd[a-z]'
|
|
# pick the next available device, ex: vdb
|
|
# return to Dom0 and attach the disk
|
|
virsh attach-disk mandalore /datastore/mandalore/app_01.img vdb --driver qemu --subdriver raw --targetbus virtio --persistent
|
|
# to list the disk of a domain, execute from Dom0:
|
|
virsh domblklist seedmachine --details
|
|
|
|
# to detach a disk
|
|
virsh detach-disk mandalore vdb --persistent
|
|
|
|
|
|
# to list the network interfaces of a domain, execute from Dom0:
|
|
virsh domiflist mandalore
|
|
# add network interface
|
|
virsh attach-interface --domain vortex-db01 --type bridge --source br0 --model virtio --persistent
|
|
# remove network interface
|
|
virsh detach-interface --domain ylesia-db01 --mac 52:54:00:8f:40:3c --type bridge
|
|
|
|
|
|
# dump domain XML config file
|
|
virsh dumpxml mandalore
|
|
|
|
# define domain from XML config file
|
|
virsh define --file /mnt/yavin4/tmp/seedmachine.xml
|
|
|
|
|
|
# list all defined pool on Dom0
|
|
virsh pool-list --all
|
|
|
|
# deleting a pool
|
|
virsh pool-destroy atrisia1
|
|
virsh pool-undefine atrisia1
|
|
|
|
# import (define) VM from XML file
|
|
virsh define /mnt/yavin4/data/d.backup_vm/KVM_seed/Centos8_2020-10-25/seedmachine.xml
|
|
|
|
# clone VM
|
|
virt-clone \
|
|
--original mandalore \
|
|
--name ossus \
|
|
--file /datastore/ossus/hdd_01.img \
|
|
--file /datastore/ossus/app_01.img
|
|
|
|
# KVM BUG: error: internal error: unknown feature amd-sev-es
|
|
Workaround:
|
|
mkdir -p /etc/qemu/firmware
|
|
touch /etc/qemu/firmware/50-edk2-ovmf-cc.json
|
|
|
|
# Install KVM on CentOS8
|
|
https://www.cyberciti.biz/faq/how-to-install-kvm-on-centos-8-headless-server/
|
|
|
|
# Online unicast MAC adress generator for network interface
|
|
https://www.hellion.org.uk/cgi-bin/randmac.pl
|
|
|
|
# Static MAC Generator for KVM
|
|
# from http://blog.zencoffee.org/2016/06/static-mac-generator-kvm/
|
|
MAC=$(date +%s | md5sum | head -c 6 | sed -e 's/\([0-9A-Fa-f]\{2\}\)/\1:/g' -e 's/\(.*\):$/\1/' | sed -e 's/^/52:54:00:/')
|
|
echo $MAC
|