码迷,mamicode.com
首页 > 其他好文 > 详细

KVM 虚拟机

时间:2015-04-09 19:20:33      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

手工维护 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.  

KVM 虚拟机

标签:

原文地址:http://www.cnblogs.com/276815076/p/4410389.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!