kvm常用操作(自用)
############################
安装:
查看CPU支持
grep ‘vmx|svm’ /proc/cpuinfo
安装qemu-kvm
dnf install qemu-kvm libvirt virt-manager virt-install bridge-utils -y
libvirtd服务
systemctl start libvirtd
systemctl enable libvirtd
############################
创建网桥
############################
创建存储池
mkdir /pool1
virsh pool-define-as pool1 dir --target /pool1 --source-path /pool1
启动存储池
virsh pool-start pool1
自动启动存储池
virsh pool-autostart pool1
停止存储池
virsh pool-delete pool1
virsh pool-destroy pool1
删除存储池
virsh pool-undefine pool1
查看存储池
virsh pool-list
############################
使用iso镜像安装虚拟机:
上传镜像到pool池
cp centos7.iso /pool1
############################
创建qcow2磁盘
qemu-img create -f qcow2 /pool1/sda.qcow2 20G
创建虚拟机
virt-install
–connect qemu:///system
–name centos7
–virt-type kvm
–os-type=linux
–os-variant rhel7.0
–memory 2048
–vcpus 1
–graphics vnc,listen=0.0.0.0 --autostart
–network bridge=br,model=virtio
–location /pool1/CentOS-7-x86_64-Minimal-2009.iso
–disk path=/pool1/sda.qcow2,format=qcow2,bus=scsi,size=20
–noautoconsole
–autostart
############################
添加console,使用virsh console连接虚拟机
在虚拟机中操作:
grubby --update-kernel=ALL --args=“console=ttyS0” && reboot
############################
停止虚拟机
virsh stop centos7
virsh destroy centos7
删除虚拟机
virsh undeine centos7 && rm -rf /pool1/sda.qcow2
############################
查看虚拟机网卡信息
virsh domiflist centos7
添加虚拟网卡(临时)
virsh attach-interface centos7 --type bridge --source br --model virtio
添加虚拟网卡(永久)
virsh attach-interface centos7 --type bridge --source br --model virtio --config --live
删除虚拟网卡(临时)
virsh detach-interface centos7 --type bridge --mac 52:54:00:85:82:03
删除虚拟网卡(永久)
virsh detach-interface centos7 --type bridge --mac 52:54:00:85:82:03 --config --live
############################
添加磁盘:
查看虚拟机磁盘信息
virsh domblklist centos7
创建磁盘
qemu-img create -f /pool1/qcow2 sdb.qcow2 20G
添加磁盘
virsh attach-disk centos7 /pool1/sdb.qcow2 sdb --subdriver qcow2
删除磁盘
virsh detach-disk centos7 --target sdb --live --config && rm /pool1/sdb.qcow2
动态调整磁盘大小
virsh blockresize centos7 /pool1/sdb.qcow2 30G
############################
虚拟机克隆:
关闭虚拟机
virsh destroy centos7
克隆虚拟机
virt-clone --original centos7 --name centos7-1 --file /pool1/centos7-1-sda.qcow2
############################
虚拟机导出:
关闭虚拟机
virsh destroy centos7
导出虚拟机
virsh dumpxml centos7 > backup/centos7
cp -f /pool1/sda.qcow2
############################
导入虚拟机
修改centos.xml:
修改虚拟机名称name
<name>centos</name>
修改uuid(用uuidgen生成)
<uuid>fd3535db-2558-43e9-b067-314f48211343</uuid>
修改对应磁盘位置
<source file=/root/centos-sda.qcow2/>
等等…
复制虚拟机xml文件和磁盘文件到相应的位置
定义虚拟机
virsh define /etc/libvirt/qemu/centos.xml
启动虚拟机
virsh start centos
############################
virsh迁移虚拟机(必须使用共享存储)
virsh migrate
############################
virsh连接其他节点虚拟机
修改/etc/sysconfig/libvirtd文件
LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS=“–listen”
修改/etc/libvirt/libvirtd.conf文件
listen_tls = 0
listen_tcp = 1
tls_port = “16514”
tcp_port = “16509”
listen_addr = “0.0.0.0”
auth_tcp = “none”
重启服务
service libvirtd restart
查看进程
ps aux | grep libvirtd
查看端口
netstat -apn | grep tcp
virsh管理连接其他节点
virsh -c qemu+tcp://192.168.0.1/system list --all