KVM 虚拟机

手工维护 KVM 虚拟机

宿主机环境

  1. 确保 cpu 支持虚拟化

    egrep ‘(vmx|svm)‘ --color=always /proc/cpuinfo
    
  2. 确保加载了必备模块
    lsmod | grep kvm
    

其输出应包括 kvm 与 kvm_intel ( 如使用 AMD cpu 则应为 kvm_amd ) 模块。如果没有加载,则通过下列命令手工加载:

modprobe kvm-intel

modprobe kvm-amd
  1. 安装必备软件包

    aptitude install qemu-kvm
    
  2. 如需管理功能,需额外安装 libvirt 工具包
    aptitude install libvirt-bin
    
  3. 如虚拟机需直连机房网络,应以桥接方式配置网络,安装相关工具包
    aptitude install bridge-utils
    

桥接网络配置

手工配置网桥

  1. 创建网桥

    brctl addbr br100
    
  2. 配置网桥
    ip addr
    ip ro
    
  3. 将宿主机内网网卡加入此网桥
    brctl addif br100 eth1
    

持久化网桥配置

  1. 编辑 /etc/network/interfaces

    # Set up interfaces manually, avoiding conflicts with, e.g., network manager
    iface eth1 inet manual
    
    # Bridge setup
    iface br100 inet static
        bridge_ports eth1
        address 172.17.4.123
        mask 255.255.240.0
    
  2. 重启网络服务
    service networking restart
    

安装虚拟机

创建磁盘文件

kvm-img create -f qcow2 virt-deb.qcow2 16G

安装系统到磁盘文件

在服务器执行

kvm -drive file=virt-deb.qcow2 -cdrom /path/to/boot-media.iso -boot d -m 512 -vnc :1

在本地安装 vnc 客户端,而后执行

vncviewer server.ip:1

连接后在本地 vnc 客户端的从窗口中操作,执行安装

创建配置文件,通过 virsh 管理虚拟机

配置文件为 xml 格式,文件名任意,其详细格式参考官方 配置文档

virsh 是 libvirt-bin 提供的命令行管理工具

从配置文件新增虚拟机,但不启动它

virsh define virt-deb.xml

从配置文件新增虚拟机,并启动它

virsh create virt-deb.xml

列出运行中的虚拟机

virsh list

列出所有虚拟机,包括未运行的

virsh list --all

删除未运行的虚拟机

virsh undefine virt-deb

启动虚拟机

virsh start virt-deb

关闭虚拟机(本条命令有可能失败,与虚拟机的电源管理策略等条件相关),其效果相当于按物理 pc 主机电源按键

virsh shutdown virt-deb

强制关闭虚拟机,其效果相当于拔掉物理 pc 电源线。需注意的是,当这台主机是由 virsh create 创建并启动时, 本命令会强制关机,并删除该虚拟机;当这台主机先使用 virsh define 创建,之后使用 virsh start 启动时, 本命令只会强制关机,不会删除该虚拟机。

virsh destroy virt-deb

附配置文件样例

<domain type=‘kvm‘>
    <name>virt-deb</name>
    <description>debian virtual machine</description>
    <memory unit=‘KiB‘>ram in KB</memory>
    <currentMemory unit=‘KiB‘>ram in KB</currentMemory>
    <vcpu placement=‘static‘>number of virtual cores</vcpu>
    <os>
        <type arch=‘x86_64‘ machine=‘pc-1.1‘>hvm</type>
        <boot dev=‘hd‘/>
    </os>
    <features>
        <acpi/>
        <apic/>
        <pae/>
    </features>
    <cpu mode=‘host-passthrough‘>
    </cpu>
    <clock offset=‘utc‘/>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>restart</on_crash>
    <devices>
        <emulator>/usr/bin/kvm</emulator>
        <disk type=‘file‘ device=‘disk‘ snapshot=‘external‘>
            <driver name=‘qemu‘ type=‘qcow2‘ cache=‘none‘/>
            <source file=‘/path/to/virt-deb.qcow2‘/>
            <target dev=‘vda‘ bus=‘virtio‘/>
        </disk>
        <disk type=‘file‘ device=‘cdrom‘>
            <driver name=‘qemu‘ type=‘raw‘/>
            <source file=‘/path/to/cdrom.iso‘/>
            <target dev=‘hda‘ bus=‘ide‘/>
            <readonly/>
        </disk>
        <interface type=‘bridge‘>
            <source bridge=‘br100‘/>
            <model type=‘virtio‘/>
        </interface>
        <input type=‘tablet‘ bus=‘usb‘/>
        <input type=‘mouse‘ bus=‘ps2‘/>
        <graphics type=‘vnc‘ autoport=‘yes‘ listen=‘0.0.0.0‘>
            <listen type=‘address‘ address=‘0.0.0.0‘/>
        </graphics>
        <video>
            <model type=‘vga‘ vram=‘65536‘ heads=‘1‘>
            </model>
        </video>
    </devices>
</domain>

配置虚拟机网络

虚拟机安装过程中使用 kvm 内置 dhcp 服务器获取动态 IP,之后通过宿主机 NAT 访问外部网络,因此 安装过程中并没有配置符合需求的网络。使用过程中需要通过桥接直连机房网络,并给虚拟机配备机房内网 IP。 此配置通过 vnc 完成。

先将虚拟机加入 libvirt 管理

virsh define virt-deb.xml

启动虚拟机

virsh start virt-deb

本机使用客户端连接,自动调配时,不同虚拟机其 vnc 端口一般从 5901 开始分配

vncviewer server.ip:5901

之后与普通服务器配置一致

初始化系统

  1. 配置主机名

    vi /etc/hostname
    
    hostname -F /etc/hostname
    
  2. 安装 lsb-release puppet 软件包
    aptitude install puppet lsb-release
    
  3. 配置 puppet ,启用 pluginsync
    vi /etc/puppet/puppet.conf
    

在 [main] 段添加

pluginsync = true
  1. 执行配置同步,进行初始化

    puppet agent -t
    
  2.  
时间: 2024-11-09 19:08:54

KVM 虚拟机的相关文章

KVM虚拟化笔记(十四)------kvm虚拟机动态迁移

相比kvm虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文以共享存储进行动态迁移 KVM动态迁移目前有两种,一种是基于共享存储的动态迁移,一种是基于基于数据块的动态迁移,需要qemu-kvm-0.12.2以上版本支持,OEL6.3版本是qemu-kvm-0.12.1.2,其它发行版可能有支持 由于资源有限,现在还没有实

KVM虚拟化笔记(六)------kvm虚拟机的克隆

kvm虚拟机的克隆分为两种情况:kvm主机本机虚拟机直接克隆和通过复制配置文件与磁盘文件的虚拟机复制克隆.接下来我们一一进行测试: (一)kvm主机虚拟机的直接克隆 1,查看虚拟机的配置文件和磁盘文件: [[email protected] qemu]# cat /etc/libvirt/qemu/hadoop1.xml  <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE  OVERWRITT

KVM虚拟化笔记(七)------kvm虚拟机时间配置

由于在虚拟化环境中,虚拟机在长时间的运行过程中,时间会变慢,通常的做法是配置ntpdate定时与时间服务器进行时间同步的计划任务.Kvm虚拟机默认采用的是UTC时间,需要进行专门的修改,还有考虑时间同步的问题,具体步骤如下: 1,kvm虚拟机修改时间配置文件 kvm虚拟机采用utc时间,需要先修改配置文件使用kvm虚拟机的时间与虚拟主机同步. [[email protected] qemu]# virsh edit hadoop3 最后重启下虚拟机 2. 关于kvm虚拟机时间问题解决思路 (1)

KVM虚拟化笔记(四)------kvm虚拟机日常管理

一,查看KVM虚拟机配置文件及运行状态 1,KVM虚拟机默认的配置文件路径:/etc/libvirt/qemu/ 而autostart目录是配置kvm虚拟机开机自启动的目录. [[email protected] qemu]# cd /etc/libvirt/qemu [[email protected] qemu]# ll total 24 drwxr-xr-x 2 root root 4096 Feb  2 15:03 autostart      ###开机自启动目录   -rw-----

KVM 虚拟机基本管理及常用命令

KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [[email protected] qemu]# pwd /etc/libvirt/qemu [[email protected] qemu]# ll total 12 -rw------- 1 root root 3863 Nov 6 17:26 CentOS6.5.xml -rw------- 1 root root 3771 Nov 7 00:57 CentOS6u7.xml -rw------- 1 roo

python的kvm虚拟机状态值监控

python获取kvm虚拟机状态值 测试代码,其中只包含了基本的信息,所有的信息都是通过libvirt的api来获取的. import libvirt import memcache import os import time from xml.etree import ElementTree as ET mc = memcache.Client(['192.168.0.112:11211']) while True: conn = libvirt.open('qemu:///system')

linux系统下kvm虚拟机的安装

一 KVM虚拟机简介 KVM是kernel-based Virtual Machine的简称,目前已成为学术界的主流VMM之一.KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术) 是基于硬件的完全虚拟化.KVM的安装和使用相对于XEN来说十分的简单和方便,并且功能强大,比较适用于高性能计算服务的云计算环境中作为IAAS层的虚拟化部署工作 不得不提的是甲骨文公司的VirtualBox也很强大,各方面与KVM可以相媲美,但是现在不开源比较昂贵一般的云计算平台很少使用.至于完全虚拟

烂泥:KVM虚拟机克隆

本文首发于烂泥行天下. 上一篇文章介绍了有关KVM虚拟机快照的创建与恢复,这篇文章我们来介绍有关KVM虚拟机克隆. KVM虚拟机的克隆,我们可以分以下几步: 1. 使用virt-clone命令进行克隆 2. 通过virsh edit命令修改克隆后虚拟机的VNC连接端口 3. 配置克隆后虚拟机的网卡 KVM虚拟机的克隆,我们可以使用virt-clone命令进行.有关virt-clone命令的使用,我们可以通过帮助文档进行查看,如下图: 强烈建议,在克隆虚拟机之前,原来的虚拟机一定要处于关机状态.

KVM虚拟机的安装和日常管理

公司为了节约成本,需要把一部分业务迁到虚拟化平台上,今天把虚拟机装了出来,记一下笔记 1.物理机的系统安装(硬盘为300G+300G): centos6.5 64位,不安装桌面环境,默认运行级别为3 分区: /boot 128M swap 8G / 20G /data1  第一块硬盘剩余空间 /data2  第二块硬盘全部空间 采用最小化安装+以下软件包: BaseSystem -- Base Development-- Development tools 要配置好dns 确定系统时间与北京时间

KVM虚拟机安装管理——qemu-kvm方式

KVM (kernel-based virtual machine,内核虚拟机),是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,虚拟化效率高.管理简便. 1)系统环境  操作系统 CentOS release 6.3 内核版本 2.6.32-279.el6.x86_64 服务器型号 Dell  R410 基本配置 32G内存.8核CPU.4T硬盘 2)安装KVM软件,加载内核模块 2.1)安装kvm 内核模块