[虚拟化]连载No1之KVM配置安装+手工快速克隆

虚拟化:系统虚拟化是将底层物理设备与上层操作系统、软件分离的一种去耦合技术,在一台物理机器上逻辑的划分出多台机器
常用技术:VMare,Xen,KVM,LXC,Docker

----KVM安装
1、检测Cpu检测KVM
内核KVM模块完成的是让你上层用户空间的虚拟化软件里面的kernel指令被cpu读到
egrep -c '(vmx|svm)' /proc/cpuinfo
支持虚拟化(命令行结果大于0表示支持)

2、查看kvm
lsmod | grep kvm
显示结果
[root@localhost ~]# lsmod | grep kvm
kvm_intel             162153  0 
kvm                   525259  1 kvm_intel

3、激活
modprobe kvm
modprobe kvm-intel
bug: modprobe kvm-intel
   modprobe: ERROR: could not insert 'kvm_intel': Operation not supported
 出现此错误就需要进入电脑bois>CPU Configuration>Inter Virtualization Teach 修改为Enabled

4、安装KVM管理工具:
#yum remove qemu-kvm virt-manager libvirt libvirt-python python-virtinst   bridge-utils
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
# qemu-kvm: KVM模块 ,用户空间的虚拟化软件,相当于vmare
# pyhon-virtinst: 包含python模块和工具(virt-install,virt-clone和virt-image),
# 用于安装和克隆虚拟机使用libvirt。 它完全支持paravirtulized客人和客人虚拟客人。 
# 支持的虚拟机管理程序是Xen,qemu(QEMU)和kvm
# libvirt: 虚拟管理模块
# virt-manager: 图形界面管理虚拟机
# libguestfs* : virt-cat等命令的支持软件包

5、libvirt:是一个守护进程,需要手工开启
  Service iptables stop
  chkconfig iptables off
   service libvirtd restart
   chkconfig libvirtd on
   # 重启宿主机,以便加载 kvm 模块 reboot

 6、创建虚拟机
    a、创建虚拟磁盘文件夹 mkdir /kvmtest/
    b、创建虚拟磁盘
       qemu-img create -f qcow2 /kvmtest/centos-7.qcow2 100G  
    c、安装
 virt-install --virt-type kvm --name centos-7.0 --ram 1024 \
--vcpus 1 \
--cdrom=/home/softs/CentOS-7-x86_64-DVD-1511.iso \
--disk /kvmtest/centos-7.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel6

--name  指定虚拟机的名称
--ram 指定Virtual Machine 
--disk的内存量path = xxx,size = xxx 
'path ='⇒指定虚拟机
size ='⇒指定虚拟机的磁盘数量
--vcpus 指定虚拟CPU 
--os-type 指定GuestOS 的类型
--os-variant 指定GuestOS的类型 - 可能确认列表中使用以下命令osinfo-query os 
--network 指定虚拟机的网络类型
--graphics 指定图形的类型。如果设置为“无”,则意味着非图形。 
--console 指定控制台类型
--location 指定安装的位置,其中from 
--extra-args 指定在内核中设置的参数

------常用命令
通过virsh查看libvirt命令行
  list:显示运行状态
  list-all: 显示所有
  start centos-7 : 启动虚拟机
  dumpxml  1查看配置 graphics type='vnc' port='5900' 

连接虚拟机
virsh console centos72
或者下载VNC-Viewer-6.17.1113-MacOSX-x86_64
访问 192.168.0.153:5900 (153为宿主机ip,5900为虚拟机1 vnc.port配置的端口) 
截图一 虚拟化05-01vnc-view安装图

配置网络
1、配置网卡 vim /etc/sysconfig/network-scripts/ifcfg-eth0
 重启后网段与宿主机不是一个网络的,因为是nat地址装换方式
 此时宿主机多了两个地址接口
  virbr0(桥接器,内核中的一个功能模块) 和 vnet0、vnet1 (地址转换映射)
bug: 重启虚拟机失败,需要安装守护进程(进入虚拟机)  yum install acpid -y

虚拟机构成: 磁盘+配置文件
新虚拟机手工复制:
1、模拟vmare虚拟机快速克隆 (xml配置+一个磁盘文件)
   a、查看虚拟机centos-7xml配置、和磁盘
     宿主机 cat /etc/libvirt/qemu/centos-7.0.xml
            /kvmtest/centos-7.qcow2
   b、复制为新虚拟机
      复制磁盘文件  cp /kvmtest/centos-7.qcow2 /kvmtest/centos-7-new.qcow2
      复制配置文件 cp /etc/libvirt/qemu/centos-7.0.xml /etc/libvirt/qemu/centos-7.0-new.xml
      修改配置文件 vim  centos-7.0-new.xml
          一、虚拟机名称修改: <name>centos-7.0</name> 修改为 <name>centos-7.0-new</name>
          二、<uuid>是唯一id,要删除,让libvirt自动生成
          三、修改磁盘文件地址引用地址为  <source file='/kvmtest/centos-7-new.qcow2'/>
          四、删除mac地址,自动生成  <mac address='52:54:00:c8:1c:d1'/>
          五、导入为虚拟机  virsh > define /etc/libvirt/qemu/centos-7.0-new.xml
          六、启动虚拟机

          七、ifconfig 有 eth0和io就正常,没有就需要删除 rm -f /etc/udev/rules.d/70-persistent-net.rules



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源14

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值