KVM和VNC

  • Post author:
  • Post category:其他




KVM

  • KVM
  • KVM:前身就是qemu,(全虚拟化的软件CPU、IO、内存),主要负责:虚拟化CPU、和内存。通过/dev/kvm访问内核实现虚拟化
  • QEMU:虚拟化I/O(通过硬件辅助virtio)实现虚拟化。
  • 工具集


安装KVM
  • 查看是否支持虚拟化
cat /proc/cpuinfo
#查看flags是否有SVM或VMX
cat /proc/cpuinfo|grep svm
cat /proc/cpuinfo|grep vmx
  • 如果没有则开启虚拟化

关闭虚拟机打开设置,在处理器中开启虚拟机

  • 开启虚拟化之后
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#添加BRIDGE=bro
ifconfig
#查看网卡的详细信息
vi /etc/sysconfig/network-scripts/ifcfg-bro
TYPE=Bridge #类型为桥接
DEVICE=bro  
IPADDR=192.168.233.144 #ens33的IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.233.2 #网关,点击虚拟机工具栏的编辑,点击虚拟网络编辑器,选中VMnet8,点击下方NAT设置,查看网关
DNS1=114.114.114.114 
ONBOOT=yes
BOOTPROTO=static
  • 配置结束
service network restart
brctl show
#如下显示则成功

image

  • 安装软件
yum -y install libcanberra-gtk2 qemu-kvm.x84_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi-1.7.0-5.e16.x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst

yum -y install qemu-kvm python-virtinst virt-manager virt-top virt-viewer libvirt libvirt-client virt-install bridge-utils

image

lsmod | grep kvm
#如下显示则成功

image

  • 存储数据池

添加硬盘创建存储池

virsh pool-list --all #显示所有存储池
virsh pool-info 存储池名 #显示存储池的详细信息
virsh pool-autostart 存储池名 #设置存储池自动启动
virsh pool-start 存储池名 #开启存储池
  • 配置KVM
systemctl start libvirtd
virt-manager#打开虚拟系统管理器
  • 创建虚拟机
  • 上传镜像文件,保存至镜像存储池,这里用的是新添加的磁盘/dev/sdc1
  • 创建数据存储库,这里用的是新添加的磁盘/dev/sdd1
virt-manager
#按照步骤创建虚拟机,并对其进行管理
  • 命令行创建虚拟机

创建虚拟机磁盘分配6G

qemu-img create -o preallocation=metadata -f qcow2 /sdd1/database/winxp.qcow2 6G

安装虚拟机

virt-install --name centos71 --vcpus 1 --virt-type kvm --ram 1024 --location=/sdc1/images/iso/CentOS-7-x86_64-DVD-1804.iso --disk path=/sdd1/database/winxp.qcow2 --network bridge=bro --graphics none --extra-args='console=ttyS0' --force



安装配置VNC

  • 更改模式
systemctl get-default #查看模式
#命令行模式:multi-user.target
#图形界面模式:graphical.target
systemctl set-default graphical.target #更改为图形界面模式

yum update #更新软件,不知道需不需要
  • 安装软件
yum groupinstall "GNOME Desktop" "X Window System" "Desktop"  
yum -y install tigervnc-server tigervnc vnc vnc-server
  • 配置VNC
vim /usr/lib/systemd/system/vncserver@.service 
#修改如下内容
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

vncpasswd #修改密码 ,最后选择n
systemctl daemon-reload
systemctl start vncserver@:1.service #开启服务
systemctl enable vncserver@:1.service# 配置开机自启
ss -ntl
#如下5901端口开启表示成功。

image



操作命令

  • virsh shutdown winxp //关闭虚拟机
  • virsh start winxp //启动虚拟机
  • virsh destroy winxp //停止虚拟机(关闭后状态仍然是运行,停止才会删除,关闭状态)
  • virsh suspend winxp //挂起、暂停
  • virsh resume winxp //恢复
  • virsh autostart winxp //开机自运行
  • virsh dumpxml 虚拟机名称 > 路径


删除KVM虚拟机
  • virsh undefine winxp #取消定义
  • virsh destroy winxp //先关闭再删除,或者先删除再关闭,一样能删除
  • virsh undefine winxp
  • virsh list –all //查看虚拟机状态


克隆-(centos7.4版本已经没有以下命令了)
  • virsh list –all
  • virt-clone -o 源虚拟机名称 -n 克隆后的虚拟机名称 -f 克隆后的虚拟机磁盘镜像路径
  • virsh start 克隆后的虚拟机名称


virt-install管理虚拟机


克隆KVM虚拟机
  • virsh susspend VM7
  • virt-clone –connect qemu:///system –original VM7 –name VM8 –file XXXX
  • virsh resume VM7
  • virsh start VM8


快照
  • virsh snapshot-create centos7u4-node #创建快照
  • virsh snapshot-revert centos7u4-node XXXXX #恢复快照后面加快照号
  • virsh snapshot-list centos7u4-node #查看虚拟机centos7u4的快照



版权声明:本文为qq_42747099原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。