• kvm:日常使用


     常用命令

    创建新镜像:qemu-img create -f qcow2 /var/lib/libvirt/images/$1.img 100G  

    创建新镜像:qemu-img create -f qcow2 -o preallocation=metadata /var/lib/libvirt/images/$1.img 200G (真实大小)
    创建虚拟机:virt-install --name $1 --ram 4096 --vcpus=2 --disk path=/var/lib/libvirt/images/$1.img,size=100 --accelerate --cdrom /data/iso/ubuntu-14.04.5-server-amd64.iso --graphics vnc,listen=0.0.0.0
    基于老镜像创建镜像:qemu-img create -f qcow2 -b /var/lib/libvirt/images/old.img /var/lib/libvirt/images/new.img
    启动虚拟机:virsh start vmname
    关闭虚拟机:virsh shutdown vmname
    强制关闭虚拟机:virsh destroy vmname
    删除虚拟机:virsh undefine vmname
    查看虚拟机网卡:virsh domiflist vmname
    添加网卡:virsh attach-interface vmname --type bridge --source br1 --config
    删除网卡:virsh detach-interface vmname --type bridge --mac 52:54:00:14:86:cf
    克隆虚拟机:virt-clone -o old_vmname -n new_vmname -f /var/lib/libvirt/images/new_vmname.img
    创建快照:virsh snapshot-create-as vmname snapshot_name
    查看虚拟机快照:virsh snapshot-list vmname
    回滚快照:virsh snapshot-revert --domain vmname snapshot_name
    删除快照:virsh snapshot-delete vmname snapshot_name
    根据配置文件起虚拟机: virsh define /etc/libvirt/qemu/INIT-CASSANDRA-01.xml

    virsh edit vmname    动态修改kvm配置文件

    添加磁盘: 

    方法一:virsh attach-disk $kvmname  $镜像位置 vda --subdriver qcow2 --config --live

    方法二:

    1,创建磁盘:

    qemu-img create -f qcow2 /data/vm/huge.img 500G

    2,编写一个xml文件(disk.xml):

        <disk type='file' device='disk'>

          <driver name='qemu' type='qcow2' cache='none'/>

          <source file='/data/vm/huge.img'/>

          <target dev='vdb' bus='virtio'/>

        </disk>

     3,添加磁盘:

    virsh attach-device --persistent vm-name disk.xml

    安装新机器

    qemu-img create -f qcow2 /var/lib/libvirt/images/$1.img 100G

    virt-install --name $1 --ram 4096 --vcpus=2 --disk path=/var/lib/libvirt/images/$1.img,size=100 --accelerate --cdrom /data/iso/ubuntu-14.04.5-server-amd64.iso --graphics vnc,listen=0.0.0.0
    virsh domiflist vsftp #查看vsftp虚拟机的网卡信息
    virsh attach-interface vsftp --type bridge --source br1 --config #创建vsftp另一块网卡(注意网桥是两个不一样的)
    virsh detach-interface vsftp --type bridge --mac 52:54:00:14:86:cf #删除网卡
    ps -ef|grep $虚拟机名称 #查看vnc

    vnc连接,添加一块虚拟机网卡

    虚机网卡配置

    vim /etc/network/interfaces

    ubuntu网卡配置:

    root@ubuntu:/etc# cat /etc/network/interfaces
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    source /etc/network/interfaces.d/*
    # The loopback network interface
    auto lo
    iface lo inet loopback
    auto ens3
    iface ens3 inet static
    address 192.168.0.90
    netmask 255.255.255.0
    gateway 192.168.0.254
    dns-nameservers 192.168.0.25
    dns-search redmine
    auto ens6
    iface ens6 inet static
    address 10.0.18.90
    netmask 255.255.252.0
    # gateway 10.0.16.1
    network 10.0.16.0
    broadcast 10.0.19.255

    centos网卡配置

    [root@kvm3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    BOOTPROTO=none
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=192.168.0.53
    NETMASK=255.255.255.0
    [root@kvm3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

    rc.local添加命令
    route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.16.1

    报错 

    是因为配置文件中的os部分系统信息不正确导致,可以先virsh-install一台虚拟机,将os部分拷贝即可

    vmname.xml

     1 <domain type='kvm'>          ##描述hypervisor
     2   <name>centos7.0</name>        ##定义虚拟机整体信息
     3   <uuid>c2d264d3-5c61-4d2e-8678-b28673c1f64b</uuid>
     4   <memory unit='KiB'>1048576</memory>
     5   <currentMemory unit='KiB'>1048576</currentMemory>
     6   <vcpu placement='static'>1</vcpu>
     7   <os>                  ##系统信息
     8     <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
     9     <boot dev='hd'/>      ##开机从哪里启动
    10   </os>
    11   <features>          ##硬件资源特性
    12     <acpi/>
    13     <apic/>
    14   </features>
    15   <cpu mode='custom' match='exact'>
    16     <model fallback='allow'>Haswell-noTSX</model>
    17   </cpu>
    18   <clock offset='utc'>
    19     <timer name='rtc' tickpolicy='catchup'/>
    20     <timer name='pit' tickpolicy='delay'/>
    21     <timer name='hpet' present='no'/>
    22   </clock>
    23   <on_poweroff>destroy</on_poweroff>      ##突发事件处理
    24   <on_reboot>restart</on_reboot>
    25     <suspend-to-mem enabled='no'/>
    26     <suspend-to-disk enabled='no'/>
    27   </pm>
    28   <devices>                ##外设资源
    29     <emulator>/usr/libexec/qemu-kvm</emulator>
    30     <disk type='file' device='disk'>    ##描述虚拟磁盘image
    31       <driver name='qemu' type='qcow2'/>
    32       <source file='/var/lib/libvirt/images/centos7.0.qcow2'/>
    33       <target dev='vda' bus='virtio'/>
    34       <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    35     </disk>
    36     <controller type='usb' index='0' model='ich9-ehci1'>
    37       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
    38     </controller>
    39     <controller type='usb' index='0' model='ich9-uhci1'>
    40       <master startport='0'/>
    41     </controller>
    42     <controller type='usb' index='0' model='ich9-uhci2'>
    43       <master startport='2'/>
    44       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    45     </controller>
    46     <controller type='usb' index='0' model='ich9-uhci3'>
    47       <master startport='4'/>
    48       <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
    49     <controller type='virtio-serial' index='0'>
    50       <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    51     </controller>
    52     <interface type='bridge'>    ##虚拟网络,基于网桥
    53       <mac address='52:54:00:6a:1e:54'/>
    54       <source bridge='br0'/>
    55       <model type='virtio'/>
    56       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    57     </interface>
    58     <serial type='pty'>      ##串口信息可以不用更改
    59       <target port='0'/>
    60     </serial>
    61     <console type='pty'>
    62       <target type='serial' port='0'/>
    63     </console>
    64     <channel type='unix'>
    65       <target type='virtio' name='org.qemu.guest_agent.0'/>
    66       <address type='virtio-serial' controller='0' bus='0' port='1'/>
    67     </channel>
    68     <channel type='spicevmc'>
    69       <target type='virtio' name='com.redhat.spice.0'/>
    70       <address type='virtio-serial' controller='0' bus='0' port='2'/>
    71     </channel>
    72     <input type='tablet' bus='usb'/>
    73     <input type='mouse' bus='ps2'/>
    74     <input type='keyboard' bus='ps2'/>
    75     <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
    76     <sound model='ich6'>      ##从此往下的内容可以不用更改
    77       <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    78     </sound>
    79     <video>
    80       <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
    81       <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    82     </video>
    83     <redirdev bus='usb' type='spicevmc'>
    84     </redirdev>
    85     <redirdev bus='usb' type='spicevmc'>
    86     </redirdev>
    87     <memballoon model='virtio'>
    88       <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    89     </memballoon>
    90   </devices>
    91 </domain>

    第一行定义了虚拟机的名字。libvirt可以通过虚拟机的名字对虚拟机进行管理。在同一台物理机上,虚拟机的名字必须要保证唯一的。如果存在重名的情况,添加和创建虚拟机时,会失败。

    第二行定义的虚拟机的UUID。在同一台物理机上,UUID值也必须是唯一的,否则会出现冲突。

    第三四行描述虚拟机的内存信息,通常以KB为单位。

    第五行指明了分配的虚拟CPU的个数。

  • 相关阅读:
    SysEmailBatch 邮件
    控制数据源中某一列是否允许编辑 FormDataObject allowEdit
    设置表格字段背景色displayOption
    使用ExcelIo类操作读取excel文件
    Edit方法
    Box class
    Expressions in query ranges
    Set Class
    Map Class
    FTP from Axapta
  • 原文地址:https://www.cnblogs.com/ywxbbbbb/p/9568396.html
Copyright © 2020-2023  润新知