001KVM安装
Ubuntu
1.判断虚拟机是否支持虚拟化技术
grep -E 'svm |vmx' /proc/cpuinfo
2.安装kvm,virt管理工具
apt -y install qemu-kvm kvm
apt -y install virtinst python-libvirt virt-viewer
3.安装网桥设置,并增加br0虚拟网卡与以太网的网卡桥接
apt -y install bridge-utils
vi /etc/network/interfaces "修改配置文件,增加br0网桥"
4.创建虚拟机
virt-install --connect=qemu:///system --name centos7 --ram 1024 --vcpus=2 --os-type=linux --os-variant=ubuntuprecise --accelerate --hvm --disk path=/home/os/g1.img,size=6,bus=virtio --location /home/CentOS-7-x86_64-Minimal-1511.iso --extra-args='console=tty0 console=ttyS0' --network bridge=br0,model=virtio --graphics none
• --network bridge:br0 指定你需要访问的网桥(已在前面指定)
• --name vm1 虚拟机的名字
• --ram=1024 内存大小
• --vcpus=1 CPU个数
• --disk path=/home/os/g1.img,size=10 镜像文件的路径、大小(GB)
• --graphics none 不需要VNC窗口访问虚拟机,在虚拟机的串行端口中使用 文本
注意:--location /home/CentOS-7-x86_64-Minimal-1511.iso,CentOS-7-x86_64-Minimal-1511.iso这个镜像是之前已经传到虚拟机的,--disk path=/home/os/g1.img,/home/os 这个目录是已经创建好的。KVM在安装虚拟机的过程中是比较慢的,看到有假死的情况,多按几下回车。
Centos7
1.判断虚拟机是否支持虚拟化技术
grep -E 'svm |vmx' /proc/cpuinfo
2.安装kvm,virt管理工具
yum -y install qemu-kvm libvirt virt-install
3.安装网桥设置,并增加br0虚拟网卡与以太网的网卡桥接
yum -y install bridge-utils
vi /etc/sysconfig/neetwork-scripts/ifcfg-br0 "添加以下内容并配置br0网桥"
TYPE=Bridge
BOOTPROTO=dhcp
NAME=br0
DEVICE=br0
ONBOOT=yes
vi /etc/sysconfig/neetwork-scripts/ifcfg-eth0
在最后一行添加BRIDGE=br0
4.创建虚拟机
virt-install --connect=qemu:///system --name centos7 --ram 1024 --vcpus=2 --os-type=linux --os-variant=ubuntuprecise --accelerate --hvm --disk path=/home/os/g1.img,size=6,bus=virtio --location /home/CentOS-7-x86_64-Minimal-1511.iso --extra-args='console=tty0 console=ttyS0' --network bridge=br0,model=virtio --graphics none
• --network bridge:br0 指定你需要访问的网桥(已在前面指定)
• --name vm1 虚拟机的名字
• --ram=1024 内存大小
• --vcpus=1 CPU个数
• --disk path=/home/os/g1.img,size=10 镜像文件的路径、大小(GB)
• --graphics none 不需要VNC窗口访问虚拟机,在虚拟机的串行端口中使用 文本
注意:--location /home/CentOS-7-x86_64-Minimal-1511.iso,CentOS-7-x86_64-Minimal-1511.iso这个镜像是之前已经传到虚拟机的,--disk path=/home/os/g1.img,/home/os 这个目录是已经创建好的。KVM在安装虚拟机的过程中是比较慢的,看到有假死的情况,多按几下回车。
010 KVM 虚拟机使用
1.查看虚拟机列表
virsh list --all
2.显示虚拟机信息,虚拟机内存信息
virsh dominfo centos7
virsh dominfo centos7 | grep memory
3.查看虚拟机运行情况
virt-top
4.停止虚拟机
virsh shutdown centos7
5.开始虚拟机
virsh start centos7
6.设置虚拟机为自动开机
virsh autostart centos7
7.连接虚拟机终端
virsh console centos7
8.挂载虚拟机
virsh suspend centos7
9.克隆虚拟机
virt-clone --connect qemu:///system --original centos7 --name centos7-clone --file /home/os/centos7-clone.img
10.开启克隆虚拟机
virsh start centos7-clone
11.删除克隆的虚拟机
virsh shutdown centos7-clone
virsh undefine centos7-clone
rm /home/os/centos7-clone.img
011 修改KVM虚拟机配置
1.修改虚拟机内存
virsh setmem centos7 524288 "在不重启虚拟机的情况下,动态修改虚拟机内存"
virsh shutdown centos7
virsh edit centos7
修改完并保存配置文件
virsh create /etc/libvirt/qemu/centos7.xml
2.修改CPU个数,和修改内存的方法一样
virsh shutdown centos7
virsh edit centos7
修改完并保存配置文件
virsh create /etc/libvirt/qemu/centos7.xml
3.添加磁盘
dd if=/dev/zero of=/home/os/centos7-add.img bs=1k xount=10240
virsh edit centos7
添加以下内容并保存配置文件
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/home/os/centos7-add.img'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
virsh create /etc/libvirt/qemu/centos7.xml
进入虚拟机查看
fdisk -l
4.添加NAT网络
定义一个虚拟网络
virsh net-define /usr/share/libvirt/networks/default.xml
添加内容
<network>
<name>default</name>
<bridge name="virbr0" />
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254" />
</dhcp>
</ip>
</network>
设置为自动启动
virsh net-autostart default
启动网络
virsh net-start default
查看网络
brctl show
修改/etc/sysctl.conf中参数,允许ip转发
net.ipv4.ip_forward=1
修改虚拟机配置文件
virsh edit centos7
将桥接的网卡改成NAT网
桥接
<interface type='bridge'>
<mac address='52:54:00:7e:07:f6'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</interface>
NAT
<interface type='network'>
<mac address='52:54:00:4f:1b:07'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
修改完之后,保存退出。
virsh create /etc/libvirt/qemu/centos7.xml
100 KVM活动迁移虚拟机
迁移条件:三个虚拟机,一个源虚拟机,一个目标虚拟机,一个NFS共享存储虚拟机
1.三台虚拟机关闭SElinux和防火墙
vi /etc/selinux/config
修改SELINUX为disabled
SELINUX=disabled
iptables -F “清空所有规则”
2.NFS共享存储虚拟机安装NFS服务
yum -y install nfs-utils
3.创建并加载挂载目录
mkdir /home/images
vi /etc/exprots "打开配置文件"
添加
/home/images * (rw,sync,no_root_squash)
4.查看是否共享目录,并重启nfs服务
exportfs -av
systemctl enable rpcbind.service
systemctl enable nfs-server.service
systemctl start rpcbind.service
systemctl start nfs-server.service
5.源虚拟机和目标虚拟机安装nfs客户端
yum -y install nfs-common
6.查看是否能挂载共享目录
showmount -e NFS_ip "NFS_ip是NFS虚拟机的ip"
没有目录的话,清空防火墙规则iptables -F
,或者重启nfs服务systemxctl restart nfs
7.验证完之后,源虚拟机和目标虚拟机挂载共享目录,
mkdir /home/images
mount -t nfs NFS_ip:/home/images /home/images
8.查看是否挂载成功
mount
注意:第5-8步骤,为源虚拟机和目标虚拟机的挂载共享目录步骤,且步骤一样。
9.源虚拟机中创建基于NFS共享目录的虚拟机
virt-install --connect=qemu:///system --name centos7 --ram 512 --vcpus=1 --os-type=linux --os-variant=ubuntuprecise --accelerate --hvm --disk path=/home/images/source_centos7.img,size=6,bus=virtio --location /home/CentOS-7-x86_64-Minimal-1511.iso --extra-args='console=tty0 console=ttyS0' --network bridge=br0,model=virtio --graphics none
注意:CentOS-7-x86_64-Minimal-1511.iso这个镜像是之前已经传到虚拟机的。
10.查看虚拟机列表,要求要迁移的虚拟机是启动状态。 virsh list
11.动态迁移虚拟机
virsh migrate --verbose --live source_centos7 qemu+ssh://des_ip/system --unsafe
"des_ip"为目标虚拟机机的ip
12.迁移完之后,源虚拟机的虚拟机列表中迁移的虚拟机会消失,目标虚拟机的虚拟机列表中会增加一个正在运行的迁移的虚拟机,这样迁移就完成了。