1.查看是否支持虚拟化

2.安装需要的软件
# yum install -y qemu-kvm qemu-kvm-tools libvirt virt-install
==============》
yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-pythonpython-virtinst
或yum groupinstall KVM

3.启动libviret

4. 用qemu创建虚拟硬盘
#qemu-img create -f raw /opt/centos.raw 10G

5. 用virt-install创建虚拟机
# virt-install --name dyf-vm3 --virt-type kvm --ram 1024 --cdrom=/opt/cent7x86.iso --disk path=/opt/centos.raw3 --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
kvm名称 iso镜像位置 上一步创建的虚拟硬盘位置




6. 创建后在/etc/libvirt/qemu目录下有对应的xml文件,这个xml就是虚拟机的定义

7.vnc连接:

8.连接后进入安装linux 操作系统页面


9.其他命令:
virsh list –all显示所有虚拟机
云计算概述:
什么是云计算:资源使用和交付模式。
虚拟化:一种具体的技术,用来将物理机虚拟成为多个相互独立的虚拟机。
云计算不等于虚拟化。使用了虚拟化的技术做支撑。
IAAS 基础设施即服务
PAAS
SAAS
私有云 公有云 混合云
KVM。 服务器虚拟化 桌面虚拟化 应用虚拟化
硬件虚拟化。Intel vt-x/EPT AMD AMD-v /RVI
libvirt libvrit API库 + libvirtd datemon + 用户工具(virsh)
xen kvm esxi qemu virtualbox
virsh shutdown start undefine list edit
libvrit xml
KVM管理:
#CPU热添加,总数不能超过最大CPU。
<vcpu placement='auto' current='1'>4</vcpu>
virsh setvcpus CentOS-7.1-x86_64 2 --live
virsh setvcpus CentOS-7.1-x86_64 3 --live
virsh setvcpus CentOS-7.1-x86_64 1 --live
virsh edit CentOS-7.1-x86_64
#内存热膨胀和压缩,总数不能超过最大内存
<memory unit='KiB'>4048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
查看
virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd info balloon
设置
virsh qemu-monitor-command CentOS-7.1-x86_64 --hmp --cmd balloon
#硬盘:
全镜像模式 稀疏模式
raw qcow2
qemu-img
#网卡,手动设置为桥接
[root@oldboy opt]# brctl addbr br0
[root@oldboy opt]# brctl show
[root@oldboy ~]# brctl addif br0 eth0 && ip addr del dev eth0 10.0.0.111/24 && ifconfig br0 10.0.0.111/24 up && route add default gw 10.0.0.2 && iptables -F
#CPU优化 vt-x
taskset 绑定KVM进程到固定的CPU,减少Cache Miss
CPU node core 一样。L2 L3 一个单独的node上是共享的。
#内存优化
寻址-EPT
KSM 内存合并 相同内存合并 ksmd
大页内存 khugepaged 把连续的4k内存合并成为2M
1.宿主机虚拟内存 -> 宿主机物理内存
虚拟机的虚拟内存 -> 虚拟机的物理内存
影子页表
宿主机虚拟内存 -> 宿主机物理内存
#I/O CDN公司必问
Virtio virio-net virtio-blk 半虚拟化
#scheudler
[root@oldboy ~]# dmesg | grep -i scheduler
[ 0.775193] io scheduler noop registered
[ 0.775195] io scheduler deadline registered (default)
[ 0.775396] io scheduler cfq registered
[root@oldboy ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
[root@oldboy ~]# echo cfq > /sys/block/sda/queue/scheduler
[root@oldboy ~]# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
永久修改 加入内核参数 elevator=noop
镜像制作:
1.分区的时候,只分一个/分区。
2.删除虚拟机网卡的UUID MAC
3.安装基础软件包 net-tools lrzsz screen tree vim wget
KVM管理平台:
OpenStack
CloudStack cloud.com公司-》Ctrix-》Apache基金会-》Java
OpenNebula
oVirt RHEV开源实现 Fedora Centos RHEL
管理端+客户端组成。oVrit Engine oVirt主机/节点
vCenter ESXi
http://www.ovirt.org/Download
yum localinstall http://resources.ovirt.org/pub/yum-repo/ovirt-release36.rpm
yum install -y ovirt-engine
yum install -y ovirt-engine-setup-plugin-allinone
开源邮箱
09年 iRedmail
10年 extmail
10年 Zimbra 开源版本。
现在:腾讯企业邮箱。
作业:
1.ovirt体验
2.OpenStack环境准备
1.CentOS 7.1系统2台。每台2G内存。
linux-node1.oldboyedu.com 192.168.56.11 网卡NAT eth0
linux-node2.oldboyedu.com 192.168.56.12 网卡NAT eth0
2.域名解析:
/etc/hosts
192.168.56.11 linux-node1 linux-node1.oldboyedu.com
192.168.56.12 linux-node2 linux-node2.oldboyedu.com
3.硬盘50G。
4.Tightvnc view VNC客户端。
5.安装包:周三的时候给大家。
3.什么是?
什么是RestAPI
什么是SOA
什么是消息队列
什么是对象存储
CentOSOA 7.1 OpenStack L版