废话不多说直接开干:

kvm centos7(centos6大同小异)

宿主机安装centos7系统,配置好网络

关掉防火墙,关掉selinux

重启

查看cpu是否支持虚拟化:

grep -E --color '(vmx|svm)' /proc/cpuinfo


启用 KVM 模块


#modprobe kvm

功能区分 intel/amd 的启用:


#modprobe kvm-intel

# lsmod |grep kvm

kvm_intel              55496  0

kvm                   337772  1 kvm_intel

如果为centos6安装epel源:

rpm -ivh http://mirrors.ustc.edu.cn/fedora/epel//6/x86_64/epel-release-6-8.noarch.rpm

安装kvm软件:

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


启动service libvirtd start 如果报错:

KVM服务启动报错:version Base not defined in file libdevmapper.so.1.02 

解决办法:

yum upgrade device-mapper-libs -y

再次启动即可

关掉NetworkManager 

chkconfig NetworkManager off

service NetworkManager stop


创建网桥,将eth0 加入网桥br0

 virsh iface-bridge eth0 br0

 mkdir  /opt/img

 cd /opt/img

 创建qcow2格式磁盘文件

 qemu-img create -f qcow2 mon.qcow2 20G

 如果需要scp命令 安装:

 yum install openssh-clients

 安装vncserver

 yum install tigervnc tigervnc-server -y 

 

 创建虚拟机:1个cpu 内存1G  磁盘为SOD1.qcow2 加入网桥br0 --bridge=br0 --mac=54:51:00:0b:82:69 vnc端口为5933

virt-install --virt-type kvm --name centos7osd --ram 1024 --vcpus=1 --cdrom=/opt/CentOS-7-x86_64-DVD-1511.iso --disk path=/opt/img/SOD1.qcow2,format=qcow2 --bridge=br0 --mac=54:51:00:0b:82:69 --vnc --vncport=5933 --vnclisten=0.0.0.0 --os-type=linux

 之后连接vnc进行安装即可。

 虚拟机的克隆主要以xml为例(简单方便):

 复制磁盘文件:

 已安装ceph(安装了mon虚拟机,以xml文件克隆出admin虚拟机)为例:

 cp mon.qcow2 admin-mon.qcow2

 cd /etc/libvirt/qemu

 cp centos7mon.xml centos7admin.xml

vi centos7admin.xml

需要修改:虚拟机名称 ,uuid  mac地址 vnc端口 磁盘文件指向  

直接通过xml文件定义新的虚拟机:

 virsh define centos7admin.xml 

 完成之后可以通过virsh list --all 查看

 virsh start centos7admin 启动虚拟机(注意如果是制定了静态ip的需要启动完成之后修改ip地址)

 虚拟机快照:

 注意:只有qcow2的格式的磁盘支持虚拟机快照,virsh创建的快照不会损失数据

 接上面的例子:

 virsh snapshot-create-as centos7admin centos7admin-snapshot 

 virsh snapshot-create-as centos7mon centos7mon-snapshot

 查看快照:

 virsh snapshot-info centos7admin centos7admin-snapshot

 测试可以:

 virsh destroy centos7admin 然后恢复快照,检查数据

 恢复快照:

 snapshot-revert centos7admin centos7admin-snapshot