kvm虚拟化简介

宿主机:内存4G+ 纯净的系统CentOS-7

1:什么是虚拟化?
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率

虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

2:为什么要用虚拟化?
512G 内存,4路 8核16线程 cpu,12* PCI-E 1T的SSD;ntp服务,资源浪费,10 tomcat多实例,6个数据库,2个Hadoop

既不想资源浪费,服务的安全隔离性,虚拟化

场景1:同一台物理机运行多个php版本
场景2:机房的迁移,解决了硬件和系统的依赖
场景3:openstack环境,软件发布体检
场景4:开发环境和测试环境,使用虚拟化
场景5:业务的快速部署

虚拟化:提高了资源的利用率,服务的安全性隔离,解决了系统和硬件之间的依赖

3:kvm虚拟化软件的安装

yum install libvirt* virt-* qemu-kvm* -y

KVM:Kernel-based Virtual Machine

libvirt 作用:虚拟机的管理软件
virt virt-install virt-clone 作用:虚拟机的安装和克隆
qemu-kvm qemu-img 作用:复制管理虚拟机的磁盘

虚拟化软件:
qemu 软件纯模拟全虚拟化软件,特别慢!
xen(半) 性能特别好,需要使用专门修改之后的内核
KVM 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核

4:安装一台kvm虚拟机
分发软件TightVNC或者VNC Viewer 4.exe

systemctl start libvirtd.service
systemctl status libvirtd.service

建议虚拟机内存不要低于1024M,否则安装系统特别慢!
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

raw:10G 不支持做快照,性能好
qcow2: 支持快照

5:kvm虚拟机的virsh日常管理和配置
列表list
开机start
关机shutdown
拔电源关机destroy

导出配置dumpxml 例子:virsh dumpxml centos7 >centos7-off.xml

删除undefine 推荐:先destroy,在undefine

导入配置define

修改配置edit(自带语法检查)

重命名domrename (低版本不支持)

挂起suspend
恢复resume

查询vnc端口号vncdisplay

6:kvm虚拟机开机启动和console登录

开机启动autostart,前提:systemctl enable libvirtd;
取消开机启动autostart --disable

centos7的kvm虚拟机:
grubby --update-kernel=ALL --args=“console=ttyS0,115200n8”
reboot

7:kvm虚拟机虚拟磁盘格式转换和快照管理
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

raw:裸格式,占用空间比较大,不支持快照功能,性能较好,
qcow2:cow (copy on write)占用空间小,支持快照,性能比raw差一点

qemu-img info test.qcow2
创建一块qcow2格式的虚拟硬盘:qemu-img create -f qcow2 test.qcow2 2G

raw转qcow2:qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2
convert [-f fmt] [-O output_fmt] filename output_filename

virsh edit centos7:





创建快照virsh snapshot-create centos7
查看快照virsh snapshot-list centos7

还原快照virsh snapshot-revert centos7 --snapshotname 1516574134
删除快照virsh snapshot-delete centos7 --snapshotname 1516636570

8:kvm虚拟机克隆
virt-clone --auto-clone -o centos7(完整克隆)

kvm链接克隆

9:kvm虚拟机的桥接网络
1:virsh iface-bridge eth0 br0

2:virsh edit centos7

<interface type='bridge'>
  <mac address='52:54:00:55:aa:fa'/>
  <source bridge='br0'/>

在宿主机上,重启虚拟机生效

3:修改kvm虚拟机的ip
echo ‘TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.111
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=223.5.5.5’ >/etc/sysconfig/network-scripts/ifcfg-eth0
4.验证

10:kvm虚拟机在线热添加硬盘
qemu-img create -f qcow2 add01.qcow2 5G
virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2
virsh detach-disk centos7 vdb

虚拟机磁盘扩容:
在kvm虚拟机,卸载
virsh detach-disk centos7 vdb
qemu-img resize /data/centos7-add01.qcow2 +5G
virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2

在虚拟机中:xfs_growfs /dev/vdb

根分区扩容:
1)在宿主机上关闭虚拟机并调整虚拟机磁盘大小
qemu-img resize oldboy.qcow2 +10G

2)虚拟机中fdisk重新分区
fdisk /dev/vda

3)重启之后,执行xfs_growfs /dev/vda1,
如果虚拟机磁盘文件系统是ext4:resize2fs /dev/vda1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值