基于KVM建立虚拟机的步骤及总结说明

本文详细介绍了基于KVM在CentOS 5.5环境下建立虚拟机的步骤,包括操作系统安装、网络配置、虚拟机文件创建和虚拟机建立。重点讨论了网络配置、qemu-img命令创建虚拟磁盘文件以及virt-install和qemu-kvm命令的使用。文章强调了虚拟化技术的重要性,特别是KVM在IaaS中的角色,并指出各种虚拟化工具的实现机制和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、前言

        目前正在涉足云计算IaaS工作,虚拟化是IaaS的重要部分,因此这段时间对各个虚拟机化技术和工具进行研究,研究的目的不仅仅是为了会使用这个工具,而是通过研究了解技术的实现机制和原理,即知其然也要知其所以然,本文主要算是本人进入这个技术领域的入门的开始,在记录自己的进展的同时,希望对有类似追求的同仁有所帮助。为了更明晰各个步骤,安装步骤不采用图形方式。

         KVM(不是键盘、显示器、鼠标)是一个基于Linux内核的虚拟化工具,具体的原理正在研究。

         闲话少说,言归正传:

2、试验环境

硬件:Dell PowerEdge 2CPU 8G MEM

操作系统:Centos 5.5

hypervisor:kvm(Kenerl-based virtulization machine)

3、安装步骤

3.1 操作系统安装

这个步骤就不多说了,需要注意的是在安装过程中,选择定制功能,在Virtualization下选择kvm,因为在centos5.5下,虚拟化默认支持xen,安装完成后,建立虚拟化所需要的包如kvm、kvm-qemu、libvirt、python等,会自动安装。

安装完成后,可以使用virsh命令检查一下虚拟化环境是否正常,具体命令如下:

virsh -c qemu:///system list

如果显示一个空列表,说明运行正常。

注:virsh命令是libvirt库提供的一个命令行工具,可以用来管理虚拟机。libvirt是什么?呵呵,这个可是个重要的东东,我将专门用一篇文章进行说明。

3.2 网络配置

操作系统安装完成支持虚拟化相关包后,会自动建立一个名称为virbr0的虚拟网桥,在多网卡情况下,此网桥默认与eth1网卡绑定。为了向虚拟机提供联网功能,KVM使用virbr0作为默认网络设备,因此在实际应用中,需要将virbr0与连接到实际网络的网卡绑定,例如我的是eth0。

具体方法是修改/etc/sysconfig/network-scripts目录下的网卡配置文件,如绑定etho,则修改ifcfg-eth0 和ifcfg-virbr0

   修改后的配置文件内容如下:

   1)ifcfg-eth0

      DEVICE=eth0
      ONBOOT=yes
      BRIDGE=virbr0
      BOOTPROTO=dhcp
      TYPE=Ethernet

   2)ifcfg-virbr0
     
      DEVICE=virbr0
      TYPE=Bridge
      ONBOOT=yes
      DELAY=0
      BOOTPROTO=none
      IPADDR=10.100.0.3
      NETMASK=255.255.255.0
      GATEWAY=10.100.0.254     

    修改完成后,重新启动网络服务:service network restart
   默认的virbr0设置保存在/etc/libvirt/qemu/networks目录下,里面有一个default.xml文件,里面是virbr0的默认配置。

注:虚拟网桥由bridge-utils包中的brctl工具建立,这个包在安装虚拟化相关的包后自动安装, 使用brctl addbr 网桥名称可以增加网桥,使用brctl show显示已有网桥

3.3 建立虚拟机使用的文件

服务器上建立虚拟机的机制与在PC机上使用VMware Workstation、VirtualBox建立虚拟机类似,每个虚拟机均使用一个物理文件保存其安装的系统,模拟成磁盘,用来安装guest 操作系统,此文件可以先建好并格式化为一个专门的虚拟化文件格式(如qcow2),也可以在建立虚拟机的过程中指定,由虚拟机构建程序自动生成。

虚拟机使用的文件可以先以qemu-img命令先建好,也可以在通过使用virt-manager 、 virt-install建立虚拟机时建立,下面是使用qemu-img的语法:

   qemu-img create -f qcow2 win7.img 20G     <---建立一个格式为qcow2、大小为20G的文件
  
   建立完成后,显示:Formatting 'win7.img', fmt=qcow2, size=20971520 kB

   可以使用下面的命令检查文件格式:
   
A、file win7.img
Win7.img: x86 boot sector; partition 1: ID=0x7, active, starthead 32, startsector 2048, 204800 sectors; partition 2: ID=0x7, starthead 223, startsector 206848, 40751104 sectors
B、qemu-img info win7.img
      image: VM-Win7-1.img
      file format: raw
      virtual size: 20G (20971520000 bytes)
      disk size: 20G
备注:虚拟文件的格式有许多种,将在独立的文章中说明和分析。

3.4 建立虚拟机

完成上述的准备后,可以建立虚拟机了,这里使用virt-install命令完成本项工作。命令如下:

virt-install --name VM-Win7-2 \ 
           &nb
创建KVM虚拟机是在Ubuntu上进行虚拟化的一种常见做法。以下是详细的步骤指南: ### 安装必要的软件包 首先需要安装`qemu-kvm`、`libvirt-daemon-system`以及`virt-manager`等工具。 ```bash sudo apt update sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst cpu-checker -y ``` 你可以通过运行 `virsh --version` 来验证是否成功安装了Libvirt,并检查其版本信息;而命令 `egrep '(vmx|svm)' /proc/cpuinfo` 可以帮助确认CPU是否支持硬件辅助虚拟化功能。 对于图形界面管理来说,可以安装`virt-manager`: ```bash sudo apt-get install virt-manager ``` ### 配置网络桥接(可选) 为了让虚拟机能直接访问外部网络而不是仅限于宿主机内部网段,通常会配置一个Linux Bridge作为默认的网络设备。 编辑 `/etc/netplan/01-netcfg.yaml`(路径视具体情况可能有所差异) 文件加入bridge设置如: ```yaml network: version: 2 ethernets: enp3s0: {} bridges: br0: interfaces: [enp3s0] dhcp4: true ``` 然后应用更改: ```bash sudo netplan apply ``` ### 创建新的KVM虚机实例 现在打开Virt Manager应用程序(`virt-manager`),按照向导指引完成新Guest OS镜像的选择及基本资源配置即可启动新的KVM虚拟环境。 若偏好命令行操作,则可以用`virt-install`指令来快速部署,例如下面这个例子将从指定位置下载并安装CentOS ISO文件到名为"testvm"的新虚拟机中: ```bash virt-install \ --name testvm \ --memory 2048 \ --vcpus=2 \ --disk path=/var/lib/libvirt/images/testvm.qcow2,bus=virtio,size=20 \ --os-type linux \ --os-variant centos7.0 \ --graphics vnc,listen=0.0.0.0 \ --location 'http://mirror.centos.org/centos-7/os/x86_64/' \ --extra-args "console=ttyS0 ks=http://example.com/kickstart.cfg" ``` 以上就是基于Ubuntu系统环境下建立KVM虚拟化的基础教程啦! --
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值