QEMU-KVM虚拟机-部署和使用

1,559 阅读4分钟

参考资料

How to change the default Storage Pool from libvirt?

安装部署

  1. 下载MobaXTerm,通过ssh连接服务器
    ssh 10.0.10.202
    ljw
    ljw_123
  2. 确定系统环境
  3. 了解KVM
    1. baike.baidu.com/item/KVM%E8…
  4. 安装centos
    1. virt-install 参数一览:blog.csdn.net/cyuyan11223…
    2. 实际使用的命令:
//进入sudo模式
sudo -s


sudo virt-install -n ljw_centos7_1 --description "ljw_centos7_1" --os-type=linux --os-variant=rhel7 --ram=16384 --vcpus=2 --disk path=/opt/kvm_ljw_centos7.2_1.img,bus=virtio,size=80 --network bridge=br0 --accelerate --graphics=none --location=/home/www/CentOS-7-x86_64-DVD-1511.iso --extra-args="console=tty0 console=ttyS0,115200n8 edd=off" --console=pty
  1. sudo virt-install -n wzz_centos7 #指定虚拟机的名称
    --description "wzz_centos7"
    --os-type=linux --os-variant=centos7.0 #针对一类操作系统优化虚拟机配置(例如:‘linux’,‘windows’)
    --ram=16384 #客户端虚拟机分配的内存
    --vcpus=2 #客户端的vcpu个数
    --disk path=/opt/kvm_centos7_wzz.img,bus=virtio,size=500 使用不同选项作为磁盘使用安装介质
    --network bridge=br0 #连接客户机到主机网络
    --accelerate --graphics=none #KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。
    --location=/home/www/CentOS-7-x86_64-DVD-1810.iso #安装源,有本地、nfs、http、ftp几种,多用于ks网络安装
    --extra-args="console=tty0 console=ttyS0,115200n8 edd=off" #当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序
    --console=pty #不加载图形化界面
  2. 磁盘空间不足/设定虚拟机空间过大,修改为
  3. 选1
  4. 先查询虚拟机的分配的ip:
    ip addr
  5. 修改ip
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    按i进入输入模式
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=查询出的ip #静态IP
    GATEWAY=查询出的ip的第一个 #默认网关
    NETMASK=255.255.255.0 #子网掩码,表示局域网的大小
ip addr


IPADDR=10.0.10.
GATEWAY=10.0.10.1
NETMASK=255.255.255.0


service network restar

  1. 虚拟机安装、配置教程:blog.csdn.net/yulsh/artic…

虚拟机克隆

sudo virsh shutdown ljw_centos7_1
sudo virt-clone -o ljw_centos7_1 -n ljw_centos7_2 -f /opt/kvm_ljw_centos7.2_2.img
sudo virt-clone -o ljw_centos7_1 -n ljw_centos7_3 -f /opt/kvm_ljw_centos7.2_3.img

sudo virsh start ljw_centos7_1
sudo virsh start ljw_centos7_2
sudo virsh start ljw_centos7_3


sudo virsh resume ljw_centos7_1
sudo virsh resume ljw_centos7_2
sudo virsh resume ljw_centos7_3


sudo virsh list --al
  1. 二号机的ip地址:
  2. 三号机的ip地址:

快照与还原

kvm虚拟机快照备份

安装QEMU

关闭虚拟机

sudo virsh shutdown ljw_centos7_1 
sudo virsh shutdown ljw_centos7_2 
sudo virsh shutdown ljw_centos7_3

查看磁盘格式

sudo qemu-img info /opt/kvm_ljw_centos7.2_1.img

快照管理

# 新建快照
sudo virsh snapshot-create ljw_centos7_1
sudo virsh snapshot-create ljw_centos7_2
sudo virsh snapshot-create ljw_centos7_3
# 查看现存快照列表
sudo virsh snapshot-list ljw_centos7_1
sudo virsh snapshot-list ljw_centos7_2
sudo virsh snapshot-list ljw_centos7_3
# 查看当前快照状态
sudo virsh snapshot-current ljw_centos7_1

# 配置文件
sudo ls /var/lib/libvirt/qemu/snapshot/ljw_centos7_1

sudo virsh start ljw_centos7_1 
sudo virsh start ljw_centos7_2 
sudo virsh start ljw_centos7_3

恢复

sudo virsh snapshot-revert ljw_centos7_1 1586400402
sudo virsh snapshot-revert ljw_centos7_2 1586400403
sudo virsh snapshot-revert ljw_centos7_3 1586400408
sudo virsh snapshot-current ljw_centos7_1

恢复后需要重新进行mysql的设定

删除快照

sudo virsh snapshot-delete ljw_centos7_1 1586252253
sudo virsh snapshot-delete ljw_centos7_2 1585037110
sudo virsh snapshot-delete ljw_centos7_3 1585037130

删除虚拟机

sudo virsh list --all
sudo virsh shutdown ljw_centos7_1 
sudo virsh shutdown ljw_centos7_2 
sudo virsh shutdown ljw_centos7_3


sudo virsh destroy ljw_centos7_3
sudo virsh undefine ljw_centos7_3
sudo updatedb
locate ljw_centos7_3
rm -rf /etc/libvirt/qemu/ljw_centos7_3.xml
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_3.log
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_3.log.1
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_3.log.2.gz
sudo rm -rf /opt/kvm_centos7_ljw_3.img

sudo virsh destroy ljw_centos7_2
sudo virsh undefine ljw_centos7_2
sudo updatedb
locate ljw_centos7_2
rm -rf /etc/libvirt/qemu/ljw_centos7_2.xml
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_2.log
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_2.log.1
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7_2.log.2.gz
sudo rm -rf /opt/kvm_centos7_ljw_2.img

sudo virsh destroy ljw_centos7_1
sudo virsh undefine ljw_centos7_1
sudo updatedb
locate ljw_centos7_1
rm -rf /etc/libvirt/qemu/ljw_centos7.xml
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7.log
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7.log.1
sudo rm -rf /var/log/libvirt/qemu/ljw_centos7.log.2.gz
sudo rm -rf /opt/kvm_centos7_ljw_1.img
sudo updatedb
locate ljw_centos7

虚拟机迁移

迁移前,镜像都保存在/opt目录下,目标是把它们转移到/home目录下。

sudo virsh pool-list

sudo virsh pool-info opt

sudo virsh pool-info images

修改配置路径

sudo virsh pool-edit images

迁移镜像文件

sudo mkdir /home/libvirt
cd /home/libvirt
sudo mkdir /home/libvirt/images
sudo mv /opt/kvm_ljw_centos7.2_1.img /opt/kvm_ljw_centos7.2_2.img /opt/kvm_ljw_centos7.2_3.img /home/libvirt/images/

sudo virsh pool-destroy images
sudo virsh pool-start images

激活镜像文件

source file='kvm_ljw_centos7.2_1.img'
source file='kvm_ljw_centos7.2_2.img'
source file='kvm_ljw_centos7.2_3.img'

sudo vi /etc/libvirt/qemu/ljw_centos7_1.xml

改为/home/libvirt/images/kvm_ljw_centos7.2_1.img

/home/libvirt/images/kvm_ljw_centos7.2_2.img

/home/libvirt/images/kvm_ljw_centos7.2_3.img

sudo virsh define /etc/libvirt/qemu/ljw_centos7_1.xml


sudo vi /etc/libvirt/qemu/ljw_centos7_2.xml
sudo virsh define /etc/libvirt/qemu/ljw_centos7_2.xml


sudo vi /etc/libvirt/qemu/ljw_centos7_3.xml
sudo virsh define /etc/libvirt/qemu/ljw_centos7_3.xm

启动

sudo virsh start ljw_centos7_1 
sudo virsh start ljw_centos7_2 
sudo virsh start ljw_centos7_3