• virsh 操作kvm虚拟机


    #查看你的硬件是否支持虚拟化。命令:

    [root@VM_166_143 data]#egrep '(vmx|svm)' /proc/cpuinfo
    

    #安装基础包

    [root@VM_166_143 data]#yum -y install kvm libvirt bridge-utils acpid

    #启动依赖服务及加载模块

    [root@VM_166_143 data]#sed -i '/modprobe kvm/d' /etc/rc.d/rc.local
    [root@VM_166_143 data]#echo "modprobe kvm" >>/etc/rc.d/rc.local
    [root@VM_166_143 data]#/etc/init.d/libvirtd start
    [root@VM_166_143 data]#/etc/init.d/acpid start 
    #检查是否加载虚拟模块
    [root@VM_166_143 data]#lsmod |grep kvm
    kvm_intel              55496  0
    kvm                   337772  1 kvm_intel
    

    #网桥管理命令查看

    #配置网桥
    [root@VM_166_143 data]# brctl show
    bridge name	bridge id		STP enabled	interfaces
    virbr0		8000.525400671d5e	yes		virbr0-nic
    [root@VM_166_143 data]# virsh iface-bridge eth0 br0
    Created bridge br0 with attached device eth0
    Bridge interface br0 started
    [root@VM_166_143 data]# brctl show
    bridge name	bridge id		STP enabled	interfaces
    br0		8000.000c298a5fb4	yes		eth0
    virbr0		8000.525400671d5e	yes		virbr0-nic
    [root@VM_166_143 data]# ifconfig
    br0       Link encap:Ethernet  HWaddr 00:0C:29:8A:5F:B4  
              inet addr:192.168.166.143  Bcast:192.168.166.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe8a:5fb4/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:32 errors:0 dropped:0 overruns:0 frame:0
              TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:2698 (2.6 KiB)  TX bytes:3518 (3.4 KiB)
    
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:8A:5F:B4  
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:21519 errors:0 dropped:0 overruns:0 frame:0
              TX packets:10302 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:29679394 (28.3 MiB)  TX bytes:1309503 (1.2 MiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:4 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:212 (212.0 b)  TX bytes:212 (212.0 b)
    
    virbr0    Link encap:Ethernet  HWaddr 52:54:00:67:1D:5E  
              inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    

    #创建软链接,并创建虚拟机存放目录

    [root@VM_166_143 data]# ln -sv  /usr/libexec/qemu-kvm  /usr/bin/qemu-kvm
    `/usr/bin/qemu-kvm' -> `/usr/libexec/qemu-kvm'
    [root@VM_166_143 data]# mkdir -p /data/kvm/
    [root@VM_166_143 data]# cd /data/kvm
    [root@VM_166_143 data]# mkdir test;cd test
    

    #创建虚拟机磁盘文件

    [root@VM_166_143 test]# qemu-img create -o preallocation=metadata -f qcow2 linux.qcow2 50G
    

    #创建xml模板文件

    [root@VM_166_143 data]# cat test.xml
    <domain type="kvm">
      <name>ebc32bcb-f29a-4450-bb48-b947669a06a8</name>
      <uuid>ebc32bcb-f29a-4450-bb48-b947669a06a8</uuid>
      <memory>1048576</memory>
      <vcpu>1</vcpu>          
      <os>
        <type arch="x86_64" machine="pc">hvm</type>
        <boot dev="hd"></boot>
      </os>
      <features>
        <acpi></acpi>
        <apic></apic>
        <pae></pae>
      </features>
      <clock offset="localtime"></clock>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>destroy</on_crash>
      <devices>
        <emulator>/usr/libexec/qemu-kvm</emulator>
        <disk type="file" device="disk"> 
          <driver name="qemu" type="qcow2"></driver>
          <source file="/data/kvm/test/linux.qcow2"></source>
          <target dev="hda" bus="ide"></target>
        </disk>
        <interface type="bridge">
          <source bridge="br0"></source>
        </interface>
        <input type ="tablet" bus="usb"></input>
        <input type="mouse" bus="ps2"></input>
        <graphics type="vnc" port="-1" listen="0.0.0.0" keymap="en-us"></graphics>
        <serial type="pty">
         <target port="0"></target>
        </serial>
        <console type="pty">
          <target type="serial" port="0"></target>
        </console>
      </devices>
    </domain>
    

      

    #创建虚拟机,不建议使用virsh create,停机后,virsh list --all查看不到虚拟机信息,推荐使用virsh define+virsh start命令

    [root@VM_166_143 data]# virsh create test.xml  
    或者
    [root@VM_166_143 data]# virsh define test.xml  
    [root@VM_166_143 data]# virsh start test.xml
    

    #常用命令  

    #关闭虚拟机
    virsh shutdown demo
    
    #取消定义虚拟机
    virsh undefine demo
    
    #重启虚拟机
    virsh reboot demo
    
    #强制关闭虚拟机
    virsh destroy demo
    
    #列出所有虚拟机
    virsh list --all
    
    #在属主机进入虚拟机console
    virsh console demo
    退出虚拟机回到HOST按组合键:
    Ctrl+]

    #虚拟机模板必配的设置

    #删除模板的网卡信息,使其可以制作模板
    sed -i '/HWADDR/d;/UUID/d'  /etc/sysconfig/network-scripts/ifcfg-eth0
    rm -f /etc/udev/rules.d/70-persistent-net.rules
    
    #虚拟机修改,解决主机virsh console连接不上问题
    echo "ttyS0" >> /etc/securetty
    sed -i 's/quiet console=ttyS0/quiet/g;s/quiet/quiet console=ttyS0/g' /etc/grub.conf 
    sed -i '/respawn/d' /etc/inittab 
    echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >>/etc/inittab 
    

    #常见问题

    问题1
    #Escape character is ^] 
    #error: internal error cannot find character device (null)
    解决方法:
    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Host_Configuration_and_Guest_Installation_Guide/App_Domain_Console.html
    
    问题2 
    [root@VM5137 data]# virsh iface-bridge eth0 br0
    Created bridge br0 with attached device eth0
    error: Failed to start bridge interface br0
    error: internal error failed to create (start) interface br0: failed to execute external program - Running 'ifup eth0' failed with exit code 4: Error: Connection activation failed: Master connection not found or invalid
    Active connection state: activating
    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
    解决方法:
    service NetworkManager stop
    chkconfig NetworkManager off
    

      

     

      

      

      

      

      

      

      

  • 相关阅读:
    spin lock自旋锁 双链表操作(多线程安全)(Ring0)
    Interlocked单向链式栈
    自旋锁(Spin Lock)
    可等待定时器(获取系统时间)
    APC注入(Ring3)
    IOCP IO完成端口
    异步设备IO OVERLAPPED结构(设备内核对象 事件内核对象 可提醒IO)
    读写锁 SRWLOCK
    shell查看进程
    linux dmesg命令
  • 原文地址:https://www.cnblogs.com/dbcloud/p/6426080.html
Copyright © 2020-2023  润新知