虚拟化服务平台组成KVM/QEMU/LIBVIRTD
KVM:linux内核模块,提供底层命令
QEMU:仿真工具,完成对硬件虚拟化的支持。
LIBVIRT:虚拟化管理接口和工具。
2.虚拟机的组成–xml文件、磁盘镜像文件
xml文件(虚拟机的配置声明文件)—/etc/libvirt/qemu
磁盘镜像文件(虚拟机的硬盘)—/var/lib/libvirt/images
Libvirt管理工具命令
virsh基本操作
1)列出当前正在运行的虚拟机
[root@room9pc01 ~]# virsh list
2)查看虚拟机的信息
[root@room9pc01 ~]# virsh dominfo node1
3)启动虚拟机
[root@room9pc01 ~]# virsh start node1
4)重启虚拟机
[root@room9pc01 ~]# virsh reboot node1
5)强制关闭虚拟机
[root@room9pc01 ~]# virsh destroy node1
6)关闭虚拟机
[root@room9pc01 ~]# virsh shutdown node1
7)设置虚拟机开机自动运行
[root@room9pc01 ~]# virsh autostart node1
Virsh管理虚拟网络:
-net-list 查看虚拟网络
-net-define vbr.xml 创建虚拟网络
-net-undefine vbr 删除虚拟网络
-net-start vbr 启动虚拟网络
-net-destroy vbr 停止虚拟网络
-net-edit vbr 修改虚拟网络
-net-autostart vbr 设置vbr虚拟网络开机自启动
qemu-img基本操作管理
1)创建一个新的镜像盘文件
-qemu-img命令格式:qemu-img 命令 参数 块文件名称 大小
-create 创建一个磁盘
-convert 转换磁盘格式
-info 查看磁盘信息
-snapshot 管理磁盘快照
[root@room9pc01 ~]# qemu-img create -f qcow2 disk.qcow2 16G //qcow2为创建的格式
2)使用后端模板文件创建一个前端镜像盘文件()备注:-b使用后端模板文件
[root@room9pc01 ~]# qemu-img create -b disk.img -f qcow2 disk1.img 20G //前端盘文件必须比后端盘文件大
3)查看镜像文件的信息
[root@room9pc01 ~]# qemu-img info disk1.img
前端盘和后端盘的关系
二、创建模板虚拟机
1)创建一个名为vbr的虚拟网络
[root@room9pc01 ~]# vim /etc/libvirt/qemu/networks/vbr.xml
vbr //vbr为虚拟网络的名字
//ip为192.168.1.254
//ip范围是100-200
2)启动vbr虚拟网络并用ifconfig验证
[root@room9pc01 ~]# virsh net-define vbr.xml //定义vbr虚拟网络
[root@room9pc01 ~]# virsh net-start vbr //启动vbr虚拟网络
[root@room9pc01 ~]# ifconfig //ifconfig验证
3)设置vbr虚拟网络开机自启动
[root@room9pc01 ~]# virsh net-autostart vbr
4)创建xml文件
[root@room9pc01 nsd1806]# cat node.xml
node
2097152
2097152
2
hvm
destroy
restart
restart
/usr/libexec/qemu-kvm
5.创建后端盘文件,,上面已做讲解,在此不做赘述。
6.新建虚拟机:
1)用模板xml文件生成新的虚拟机配置文件
[root@room9pc01 ~]# cd /etc/libvirt/qemu/
[root@room9pc01 qemu]# cp node.xml nova01.xml
[root@room9pc01 qemu]# sed 's/node/nova01/' node.xml > /etc/libvirt/qemu/nova01.xml
2)根据模板后端盘文件创建新的虚拟机前端盘文件
[root@room9pc01 libvirt]# cd /var/lib/libvirt/images/
[root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 nova01.qcow2 50G
3)定义生成虚拟机
[root@room9pc01qemu]#virsh define /etc/libvirt/qemu/nova01.xml
[root@room9pc01 qemu]# virsh start nova01
4)创建模板机
真机搭建网络yum源头-选择文件-新建虚拟机–…
在这里插入图片描述
5)制作虚拟机模板
1.禁用selinux
2.卸载防火墙与NetworkManager
[root@localhost ~]# yum -y remove NetworkManager-* firewalld-* python-firewall
3.配置yum源
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=ftp://192.168.1.254/centos
enabled=1
gpgcheck=0
[root@localhost ~]# yum clean all
[root@localhost ~]# yum repolist
4.常用系统命令安装(安装之后重启虚拟机)
Yum install -y net-tools vim-enhanced bridge-utils psmisc
5.导入公钥(把/etc/yum.repos.d/dvd.repo的gpgcheck=0改成gpgcheck=1)
[root@localhost ~]# rpm --import ftp://192.168.4.254/contos/RPM-GPG-KEY-CentOs-7
6.配置网卡(配置之后ping外网,测试网络是否连通)
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
TYPE="Ethernet"
BOOTPROTO ="dhcp"
[root@localhost ~]# systemctl restart network
Ping www.baidu.com
7.禁用空路由
[root@localhost ~]# vim /etc/sysconfig/network
NOZEROCONF="yes
8.添加console配置(防止console连接虚拟机时卡死)
[root@localhost ~]# vim /etc/default/grub
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
9.重新生成grub.cfg
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
10.安装扩展分区软件
[root@localhost ~]# yum install -y cloud-utils-growpart
11.第一次开机自动扩容(语言必须为英语 LANG=C)
[root@localhost default]# vim /etc/fstab
/dev/vda1 / xfs defaults 0 0
[root@localhost ~]# /usr/bin/growpart /dev/vda 1 //分区扩容
[root@localhost ~]# /usr/sbin/xfs_growfs / //文件系统扩容
12.写一个快速配置网卡的脚本
[root@localhost ~]# vim eip
#!/bin/bash
cat </etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.$1"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.254"
EOF
13.关闭虚拟机后执行信息清理工作(清理之前先关闭虚拟机)
[root@room9pc01 ~]# virt-sysprep -d centos7.0
//真机上面操作,centos7.0为虚拟机名称
14.删除xml文件中的uuid、mac地址之后用undefine取消定义生成的xml文件
三、利用后端盘文件及xml文件快速生成新的虚拟机
1.根据后端盘创建前端盘
[root@room9pc01 ~]# qemu-img create -b muban.img -f qcow2 muban03.img 16G
2.创建虚拟机配置文件
[root@room9pc01 ~]# cd /etc/libvirt/qemu/
mv centos7.0.xml /etc/libvirt/qemu/muban03.xml
3.定义虚拟机,并启动
[root@room9pc01 ~]# virsh define muban03.xml
[root@room9pc01 ~]# [root@room9pc01 ~]# virsh start muban03
[root@room9pc01 ~]# Virsh console muban03