一、基础知识简介
虚拟化可以虚拟出来多个操作系统:每个操作系统之间是相互独立的,所以每个操作系统上所跑的应用自然是相互不影响的。
1、 kvm的虚拟化特性
1)嵌入到linxu正式kernel(提高了兼容性)
2)代码级资源调用(提高性能)
3)虚拟机就是一个进程(内存易于管理)
4)直接支持NUMA技术(提高扩展性)
5)虽然被Redhat收购了,但是依然保持着开源发展模式,社区活跃
6)更好的商业支持及服务保障
7)Centos7较Centos6默认支持cpu热添加,内存的热添加,大页内存默认都是开启的
2、虚拟机基本操作学习
生成kvm虚拟机:virt-install
查看在运行的虚拟机:virsh list
查看所有虚拟机:virsh list –all
查看kvm虚拟机配置文件:virsh dumpxml name
启动kvm虚拟机:virsh start name
正常关机:virsh shutdown name
非正常关机(相当于物理机直接拔掉电源):virsh destroy name
删除:virsh undefine name(彻底删除,如果想找回需要备份/etc/libvirt/qemu的xml文件)
根据配置文件定义虚拟机:virsh define file-name.xml
挂起,终止:virsh suspend name
恢复挂起状态:virsh resumed name
二、实战步骤
实验环境:centos7
1、实验大纲图
2、安装以下包
yum -y install libvirt-daemon-kvm qemu-kvm virt-manager libvirt
systemctl restart libvirtd 重启服务
3、创建http-fpm网桥
cd /etc/libvirt/qemu/networks/
cp default.xml httpfpm.xmlvim httpfpm.xml
virsh net-define /etc/libvirt/qemu/networks/httpfpm.xml virsh net-start httpfpmvirsh net-autostart httpfpm
4、创建php-mysql网桥
cp httpfpm.xml phpmysql.xml
virsh net-define /etc/libvirt/qemu/networks/phpmysql.xml 自定义virsh net-start phpmysql 启动virsh net-autostart phpmysql 自启动
5、创建物理桥
nmcli connection add type bridge con-name br0 ifname br0
nmcli connection modify br0 ipv4.method manual ipv4.addresses 172.18.254.39/16 ipv4.gateway 172.18.0.1 ipv4.dns 172.18.0.1
nmcli c s 查看方案及网卡信息
nmcli connection up br0
再次查看
nmcli connection add type bridge-slave ifname ens33 master br0nmcli connection up bridge-slave-ens33
再次查看
以上问题的解决方案:重启 reboot
6、创建虚拟磁盘文件
mkdir -pv /virtualmachines/centos7_baseqemu-img create -f qcow2 -o size=80G,preallocation=metadata,compat=1.1 /virtualmachines/centos7_base/centos7.img
7、挂载,或下载到本机
mount 172.18.0.1:/var/ftp/pub /mnt/
8、安装centos7过程
virt-manager
9、配置模板机
ip a s
10、使用console连接centos7需要配置grub
vim /etc/default/grub
grub2-mkconfig > /boot/grub2/grub.cfg
11、复制httpd模板机
mkdir -pv /virtualmachines/{httpd,php,mysql}
(具体情况具体分析。。。)
cd /etc/libvirt/qemu/
cp centos7.5.xml httpd.xmlvim httpd.xml
virsh define httpd.xmlvirsh autostart httpdvirsh start httpd
配置php的文件
配置mysql的文件
12、配置三台虚拟机的网卡信息
PHP:
MYSQL:
HTTPD:
三、搭建LAMP
1、httpd虚拟机配置
vim /etc/httpd/conf/httpd.conf
2、php虚拟机配置
首先删除原本测试用的htdocmulu
将phpmysamin压缩包解压
做一个超链接 连接到htdocs
php配置完毕
3、mysql虚拟机配置
4、测试