• virtualization 资源管理
– x个物理资源 –> y个逻辑资源
– 实现程度:完全、部分、硬件辅劣(CPU)
– KVM是 linux 内核的模块,它需要 CPU 的支持,采用硬件辅劣虚拟化技术 Intel-VT,AMD-V,内存的相关
如Intel的 EPT 和 AMD 的 RVI 技术
– QEMU 是一个虚拟化的仿真工具,通过 ioctl 不内核kvm 交互完成对硬件的虚拟化支持(系统设备仿真(QEMU))
– Libvirt 是一个对虚拟化管理的接口和工具,提供用户端程序 virsh ,virt-install, virt-manager, virt-view 与用户交互
预备平台环境 — redhat(操作系统) KVM(虚拟机平台)
– 一个 XML 文件(虚拟机配置声明文件)
– 位置 /etc/libvirt/qemu/
– 一个磁盘镜像文件(虚拟机的硬盘)
– 位置 /var/lib/libvirt/images/
• 必备软件
• qemu-kvm
– 为 kvm 提供底层仿真支持
• libvirt-daemon
– libvirtd 守护进程,管理虚拟机
• libvirt-client
– 用户端软件,提供客户端管理命令
• libvirt-daemon-driver-qemu
在真机上操作
yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
systemctl start libvirtd
systemctk enable libvirtd
cd /var/lib/libvirt/images
qemu-img create -f qcow2 .node.qcow2 5G
virsh net-start vbr 启动vbr虚拟网路
virsh net-autostart vbr 设置 vbr 虚拟网络开机自启动
ifconfig 验证
cd /etc/libvirt/qemu
vim node.xml
yum -y install vsftpd
vim /etc/vsftpd/vsftpd.conf
listen=YES
listen_ipv6=NO
systemctl restart vsftpd
mkdir /var/ftp/centos
mount /iso/CentOS-7-x86_64-DVD-1708.iso /var/ftp/centos/
vim /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=ftp://176.130.10.166/centos
enabled=1
gpgcheck=0
yum clean all
yum repolist
virt-manager 启动virt-manager
使用 virt-manager 软件选择新建虚拟机如图-1 所示:
选择安装方式如图-2 所示:
选择内存,cpu 和自定义存储如图-3 所示:
选择虚拟机名称和网络如图-4 所示:
选择分区和 KDUMP 如图-5 所示:
选择创建分区如图-6 所示:
选择 standard Partition 如图-7 所示:
创建一个根分区如图-8 所示:
在新建的虚拟机上操作
1)vim /etc/selinux/confing SELINUX=disabled 禁用selinux
2)yum -y remove NetworkManager-* firewalld-* python-firewall 卸载防火墙与NetworkManager
3) vim /etc/yum.repos.d/dvd.repo 配置yum源
[dvd]
name=dvd
baseurl=ftp://192.168.1.254/centos
enabled=1
gpgcheck=0
yum clean all
yum repolist
4) 把 /etc/yum.repos.d/dvd.repo 的 gpgcheck=0 改成 gpgcheck=1
lftp 192.168.1.254
cd centos
get RPM-GPG-KEY-CentOS-7
exit
rpm –import RPM-GPG-KEY-CentOS-7
yum -y install net-tools vim-enhanced bridge-utils psmisc 配置一些常用的软件
5) 配置网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=”eth0”
ONBOOT=”yes”
IPV6INIT=”no”
TYPE=”Ethernet”
BOOTPROTO =”dhcp”
systemctl restart network
6) vim /etc/sysconfig/network 禁用空路由
NOZEROCONF=”yes”
7) vim /etc/default/grub 添加console 配置
GRUB_CMDLINE_LINUX=”biosdevname=0 net.ifnames=0 console=ttyS0,115200n8”
GRUB_DISABLE_LINUX_UUID=”true”
GRUB_ENABLE_LINUX_LABEL=”true”
8)grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成grub.cfg
9) yum install -y cloud-utils-growpart 安装扩展分区软件
10) virt-sysprep -d centos7.0 //真机上面操作,centos7.0 为虚拟机名称
以上步骤实现了虚拟机模板制作(此模板主要是为后续搭建openstack提供虚拟机模板支持,但也可作为普通虚拟机的模板使用)