kvm安装

1、在宿主机上准备好yum(只需要本地镜像yum就可以)

2、查看CPU是否支持inter或AMD的虚拟技术

  1. # cat /proc/cpuinfo |grep -E "vmx|svm"

3、安装kvm

  1. # yum install qemu-kvm libvirt virt-install libvirt-python virt-manager virt-install libvirt-client virt-viewer

4、确认是否有装在kvm模块,没有装载可以使用modprobe kvm来装载

  1. # lsmod |grep kvm
  2. kvm_intel 170181 0
  3. kvm 554609 1 kvm_intel
  4. irqbypass 13503 1 kvm

5、启动并设置为开机自启动

  1. # systemctl start libvirtd
  2. # systemctl status libvirtd
  3. # systemctl enable libvirtd

启动报错排查

  1. [root@server ~]# systemctl start libvirtd
  2. Job for libvirtd.service failed because the control process exited with error code. See "systemctl status libvirtd.service" and "journalctl -xe" for details.
  3.  
  4. [root@server ~]# journalctl -xe
  5. -- Defined-By: systemd
  6. -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
  7. --
  8. -- Unit libvirtd.service has failed.
  9. --
  10. -- The result is failed.
  11. 1 :: server systemd[]: Unit libvirtd.service entered failed state.
  12. 1 :: server systemd[]: libvirtd.service failed.
  13. 1 :: server systemd[]: libvirtd.service holdoff time over, scheduling restart.
  14. 1 :: server systemd[]: start request repeated too quickly for libvirtd.service
  15. 1 :: server systemd[]: Failed to start Virtualization daemon.
  16. -- Subject: Unit libvirtd.service has failed
  17. -- Defined-By: systemd
  18. -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
  19. --
  20. -- Unit libvirtd.service has failed.
  21. --
  22. -- The result is failed.
  23. 1 :: server systemd[]: Unit libvirtd.service entered failed state.
  24. 1 :: server systemd[]: libvirtd.service failed.
  25.  
  26. 查看/var/log/messages日志发现:
  27. Jan :: server libvirtd: -- ::44.437+: : error : virModuleLoadFile: : 内部错误:Failed to load module '/usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so': /usr/lib64/libvirt/storage-backend/libvirt_storage_backend_rbd.so: undefined symbol: rbd_diff_iterate2
  28.  
  29. 解决办法:
  30. # cd /usr/lib64/libvirt/storage-backend
  31. # mv libvirt_storage_backend_rbd.so libvirt_storage_backend_rbd.so.back
  32.  
  33. 再次启动就ok

/var/log/messages日志报错信息:virModuleLoadFile:53

kvm安装虚拟机

图形安装

  1. --和xen一样的命令,打开虚拟机管理器
  1. # virt-manager

第一步、

安装方式:         --我这里选择第一个,使用iso直接安装

第二步、

安装路径:/data/CentOS-7-x86_64-DVD-1611.iso                  --写上iso的路径

第三步、

内存大小: 800M          -- 内存如果较小,安装时无法使用图形安装方式,只能使用文本安装方式

cpu个数:2                 --不能大于宿主机器的cpu核数

第四步、

硬盘大小:20G          --我这里定义20G大小;它的默认路径会在/var/lib/libvirt/images/kvm1.qcow2

第五步、

name:kvm1              --自定义一个虚拟机名称

网络现在只能选择default --这是一个nat网络(私有网络),桥接网络不能选,需要后面单独配置后才能选择

命令行安装

  1. # virt-install --hvm --name "kvm1" --memory 800 --vcpus 2 --disk=/var/lib/libvirt/images/kvm1.qcow2,size=20 -l /share/CentOS-7-x86_64-DVD-1611.iso --network bridge=virbr0

--hvm 指使用全虚拟化

kvm主要的管理命令

  1. virsh help
  2. virsh help domain
  3. virsh help network
  4. virsh help monitor --因为参数很多,可以用象domain,network,monitor这种关键字,只查看与关键字有关的参数帮助
  5. ......
  1. # virsh list
  2. Id Name State
  3. ----------------------------------------------------
  4. 1 kvm1 running
  5.  
  6. # virsh list --all
  7. Id Name State
  8. ----------------------------------------------------
  9. 1 kvm1 running
  10. - kvm2 shut off

启动、关闭、重启相关

  1. # virsh start kvm1 --启动一个虚拟机
  2. # virsh shutdown kvm1 --正常关闭一个虚拟机(把服务都停掉,再关电源)
  3. # virsh reboot kvm1 --正常重启一个虚拟机,先shutdown再start
  1. # virsh destroy kvm1 --强制关闭一个虚拟机,类似断电,可以瞬间关闭虚拟机
  2.  
  3. # virsh reset kvm1 --相当于是先destroy,再start

保存、暂停相关

  1. # virsh save kvm1 /etc/libvirt/qemu/kvm1.save --把kvm1关闭,并把当前状态保存为一个文件
  2.  
  3. # virsh restore /etc/libvirt/qemu/kvm1.save --通过保存的文件,恢复当时save时的状态
  4.  
  5. # virsh suspend kvm1 --暂停kvm1的状态
  6.  
  7. # virsh resume kvm1 --由暂停切换为继续的状态

连接虚拟机相关

方法一:

  1. # virt-manager 打开管理器,双击你要连接的虚拟机

方法二:

  1. # virt-viewer kvm1 --连接一个已经启动的虚拟机,并使用图形查看

方法三:

  1. # ssh x.x.x.x --非图形方式就可以连,但需要虚拟机配置好ip

方法四:

非图形方式也可以使用console连(此方法不需要虚拟机配置ip都可以连),但需要配置授权

  1. # virsh console kvm1 --字符连接一个虚拟机,但是现在连接不了;因为需要一个串口的授权才可以;

授权做法:

  1. 1,在kvm1虚拟机里操作(注意不是在宿主机上操作)
  1. # grubby --update-kernel=ALL --args="console=ttyS0"
  2. # reboot
  1. 2,在宿主机virsh console kvm1连接使用
  1. 3,退出的方式
  1. exit只是退出登录的用户而已
  1. 要完全退出这个console连接,需要使用的是ctrl+ ] (也就是右中框号的这个键)

虚拟机相关的文件

以kvm1为例:

配置文件在:

  1. /etc/libvirt/qemu/kvm1.xml

磁盘文件默认在:

  1. /var/lib/libvirt/images/kvm1.qcow2

打开虚拟机配置文件的做法:

方法一:

  1. # vim /etc/libvirt/qemu/kvm1.xml

方法二:

  1. # virsh edit kvm1 --此方法默认是调用vi,所以没有颜色,你可以做个软链接,让访问vi实际链接到vim就可以了

命令删除一个虚拟机的做法(假设kvm3)

  1. # virsh destroy kvm3
  2.  
  3. # virsh undefine kvm3
  4.  
  5. # rm -rf /var/lib/libvirt/images/kvm3.img

kvm的克隆

--注意:克隆都需要源虚拟机器是关闭或者暂停状态

图形克隆

  • 先关闭kvm1或 virsh suspend kvm1暂停kvm1(使用virsh resume kvm1恢复)
  • virt-manager--》右键点kvm1--》选择clone-->修改克隆后的名字或其它参数--》点clone

文本克隆

1、拷贝配置文件和磁盘文件

  1. # cp /etc/libvirt/qemu/kvm1.xml /etc/libvirt/qemu/kvm3.xml
  2.  
  3. # cp /var/lib/libvirt/images/kvm1.qcow2 /var/lib/libvirt/images/kvm3.qcow2

2、修改拷贝的配置文件

  1. # vim /etc/libvirt/qemu/kvm3.xml
  2.  
  3. <domain type='kvm'>
  4. <name>kvm3</name> --名字改成kvm3
  5. <uuid>811d69e8-b1d8-cfbf-684a-69f2e0af6b88</uuid> --uuid随便改几个数字
  6. <memory unit='KiB'>1048576</memory>
  7. <currentMemory unit='KiB'>1048576</currentMemory>
  8. <vcpu placement='static'>2</vcpu>
  9. <os>
  10. <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
  11. <boot dev='hd'/>
  12. </os>
  13. <features>
  14. <acpi/>
  15. <apic/>
  16. <pae/>
  17. </features>
  18. <clock offset='utc'/>
  19. <on_poweroff>destroy</on_poweroff>
  20. <on_reboot>restart</on_reboot>
  21. <on_crash>restart</on_crash>
  22. <devices>
  23. <emulator>/usr/libexec/qemu-kvm</emulator>
  24. <disk type='file' device='disk'>
  25. <driver name='qemu' type='raw' cache='none'/>
  26. <source file='/var/lib/libvirt/images/kvm3.qcow2'/> --磁盘路径改成kvm3.qcow2的路径
  27. <target dev='vda' bus='virtio'/>
  28. <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
  29. </disk>
  30. <disk type='block' device='cdrom'>
  31. <driver name='qemu' type='raw'/>
  32. <target dev='hdc' bus='ide'/>
  33. <readonly/>
  34. <address type='drive' controller='0' bus='1' target='0' unit='0'/>
  35. </disk>
  36. <controller type='usb' index='0'>
  37. <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
  38. </controller>
  39. <controller type='ide' index='0'>
  40. <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
  41. </controller>
  42. <interface type='bridge'>
  43. <mac address='52:54:00:5c:3a:2d'/> --网卡地址随便改下,只改后三位
  44. <source bridge='br0'/>
  45. <model type='virtio'/>
  46. <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  47. </interface>
  48. <serial type='pty'>
  49. <target port='0'/>
  50. </serial>
  51. <console type='pty'>
  52. <target type='serial' port='0'/>
  53. </console>
  54. <input type='tablet' bus='usb'/>
  55. <input type='mouse' bus='ps2'/>
  56. <graphics type='vnc' port='-1' autoport='yes'/>
  57. <sound model='ich6'>
  58. <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
  59. </sound>
  60. <video>
  61. <model type='cirrus' vram='9216' heads='1'/>
  62. <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
  63. </video>
  64. <memballoon model='virtio'>
  65. <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
  66. </memballoon>
  67. </devices>
  68. </domain>

3、保存后,使用virsh list --all查看不到的,需要define一下

  1. # virsh define /etc/libvirt/qemu/kvm3.xml
  1. # virsh list --all --再查就可以查看到kvm3
  2. Id Name State
  3. ----------------------------------------------------
  4. - kvm1 shut off
  5. - kvm1-clone shut off
  6. - kvm2 shut off
  7. - kvm3 shut off

4、再启动

  1. # virsh start kvm3 --可以启动克隆的机器了

命令克隆

  1. # virt-clone -o kvm1 -n kvm4 -f /var/lib/libvirt/images/kvm4.img
  2. Allocating kvm4.img 7% [- ] 34 MB/s | 957 MB 05:29 ETA

--把kvm1克隆成kvm4,指定磁盘路径为/var/lib/libvirt/images/kvm4.img;如果kvm1有多个硬盘,那么克隆时也要对应的克隆成多个路径

kvm网络管理

只查看与网络有关的帮助参数

  1. # virsh help network
  1. # virsh net-list --all
  2. Name State Autostart
  3. -----------------------------------------
  4. default active yes --这是一个NAT网络,私有网络
  1. # virsh net-info default
  2. Name default
  3. UUID 704eb1b7-3feb-4a38-8642-9c3fe2f023bb
  4. Active: yes
  5. Persistent: yes
  6. Autostart: yes
  7. Bridge: virbr0

default网段的配置文件的路径为:

  1. /etc/libvirt/qemu/networks/default.xml
  1. # virsh net-destroy default --停掉default网络,由virsh net-list --all去查看,状态变为inactive
  2. # virsh net-start default --启动default网络,状态变为active

图形增加私有网络

virt-manager打开图形--》edit --》connections details --》 virtual networks--》点左下角的+号增加一个私有网络(选择名字,网络分配地址范围,dhcp的分配范围)

注意:这里最后一步有三种网络:

1、isolated 相当vmware的hostonly,没有NAT,也没有网关(完全和vmware的hostonly类型一样)

2、NAT 有网关,有NAT,可以通过宿主上外网(和vmware的NAT类型一样)

3、routed 也是相当于hostonly,在isolated的基础上就是加了一个网关(仍然是和vmware的hostonly一致,但多了一个网关)

把上面的步骤做完后,直接在宿主机用ifconfig或virsh net-list --all,就可以看到新加的网络了

手动增加私有网络

1、拷贝一个网络配置文件并编辑

  1. # cp /etc/libvirt/qemu/networks/default1.xml /etc/libvirt/qemu/networks/default2.xml
  1. # vim /etc/libvirt/qemu/networks/default2.xml
  2. <network>
  3. <name>default2</name> --修改名字为default2
  4. <uuid>243166ddb-e2fd-9983-1997-5e8efdc06c42</uuid> --uuid随便修改一下
  5. <bridge name='virbr2' stp='on' delay='0' /> --virbr1改成virbr2
  6. <mac address='52:54:00:AF:27:25'/> --MAC地址改一下,只改后面三位
  7. <ip address='192.168.101.1' netmask='255.255.255.0'> --IP改为101
  8. <dhcp>
  9. <range start='192.168.101.128' end='192.168.101.254' /> --dhcp地址范围也改成101
  10. </dhcp>
  11. </ip>
  12. </network>

2、定义一下,然后就可以使用virsh  net-list --all去查看,状态为inactive,autostart的状态为no

  1. # virsh net-define /etc/libvirt/qemu/networks/default2.xml

3、启动

  1. # virsh net-start default2

4、查看

  1. # ifconfig virbr2 |head -2 --查看就有了
  2. virbr2 Link encap:Ethernet HWaddr 52:54:00:AF:27:25
  3. inet addr:192.168.101.1 Bcast:192.168.101.255 Mask:255.255.255.0
  1. # ls /etc/libvirt/qemu/networks/autostart/
  2. default1.xml default.xml

5、设置为开机自动启动

  1. # virsh net-autostart default2
  2.  
  3. # ls /etc/libvirt/qemu/networks/autostart/ --这里就会多了default2.xml了,其实都是网络配置文件的软链接
  4. default1.xml default2.xml default.xml

刚加的网络配置文件都在下面的目录

  1. # ls /etc/libvirt/qemu/networks
  2. autostart default1.xml default2.xml default.xml

修改一个网络

1、编辑配置文件

  1. # vim /etc/libvirt/qemu/networks/default2.xml
  2.  
  3. <network>
  4. <name>default2</name>
  5. <uuid>243166ddb-e2fd-9982-1996-5e8efdc06c42</uuid>
  6. <forward dev='eth0' mode='route'>
  7. <interface dev='eth0'/>
  8. </forward>
  9. <bridge name='virbr2' stp='on' delay='0' />
  10. <mac address='52:54:00:AF:166:45'/>
  11. <ip address='192.168.102.1' netmask='255.255.255.0'> --我这里把以前的192.168.101.0IP范围都改成了192.168.102.0
  12. <dhcp>
  13. <range start='192.168.102.128' end='192.168.102.254' />
  14. </dhcp>
  15. </ip>
  16. </network>

保存后,使用ifconfig virbr1 查看,还是192.168.102.1, 没有改变

需要做下面三步:

2、定义一个网络,使你的修改被他知道

  1. # virsh net-define /etc/libvirt/qemu/networks/default2.xml --定义一个网络,使你的修改被他知道
  2. Network default2 defined from /etc/libvirt/qemu/networks/default3.xml

3、停一下这个网络

  1. # virsh net-destroy default2 --停一下这个网络
  2. Network default2 destroyed

4、再启动这个网络

  1. # virsh net-start default2 --再启这个网络
  2. Network default2 started

ifconfig virbr2查看,成功修改成192.168.102.1

上面的第一步和第二步可以统一成一步来做:

  1. # virsh net-edit default2 --使用这个命令打开,修改,然后就直接net-destroy和net-start,不需要去net-define

删除一个网络

图形删除一个网络

virt-manager打开图形--》edit --》connections details --》 virtual networks--》选择你要删除的网络,然后左下角,先停,再删除就可以了

命令删除一个网络

  1. # virsh net-destroy default2 --停掉要删除的网络,用virsh net-list --all命令去查就变成了inactive状态
  2.  
  3. # virsh net-undefine default2  --这下就删除了这个网络定义了,并且物理上的配置文件也没了

增加一个桥接网络

把物理网卡enp2s0桥接到br0(这个名字是自己定义的)

1、在宿主机上创建一个桥接网络

  1. # systemctl stop NetworkManager
  2. # systemctl status NetworkManager
  3. # systemctl disable NetworkManager
  1. # vim /etc/sysconfig/network-scripts/ifcfg-br0 --此文件不存在,br0这个名字是自定义的
  2. DEVICE=br0 --名字对应好
  3. TYPE=Bridge --这里的Birdge,B要大写,后面的irdge要小写
  4. BOOTPROTO=static
  5. IPADDR=172.16.13.X
  6. NETMASK=255.255.255.0
  7. GATEWAY=172.16.13.254
  8. DNS1=114.114.114.114
  9. ONBOOT=yes

2、把一个物理网卡加到一个桥接网络里,这里是把enp2s0加到br0

  1. # vim /etc/sysconfig/network-scripts/ifcfg-enp2s0 --原物理网卡enp2s0里的配置只留下这三句就可以了
  2. DEVICE="enp2s0"
  3. ONBOOT="yes"
  4. BRIDGE=br0

3、重启网络

  1. /etc/init.d/network restart 或者 systemctl restart network

在宿主机上ifconfig 查看就会有br0这个网卡,有IP;而原enp2s0网卡没有IP;这是正常的

修改虚拟机的网卡连接

图形修改

virt-manager打开图形,双击你要修改的虚拟机--》点击左上的一个!号(centos7里看到的是一个像灯泡一样的符号)按钮show virtual hardware detail-->>找个网卡,修改成你想要改的网络

命令修改

  1. # virsh edit kvm3
  2.  
  3. <interface type='network'>
  4. <mac address='52:54:00:07:8d:e5'/>
  5. <source network='default'/>
  6. <model type='virtio'/>
  7. <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  8. </interface>
  9.  
  10. 改成下面的样子
  11.  
  12. <interface type='bridge'> --network改成了bridge
  13. <mac address='52:54:00:07:8d:e5'/>
  14. <source bridge='br0'/> --network改成了bridge;default改成了br0
  15. <model type='virtio'/>
  16. <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  17. </interface>
  1. # virsh shutdown kvm1
  2.  
  3. # virsh start kvm1 --重启后,虚拟机就是桥接网络

kvm磁盘管理

图形添加硬盘设备

virt-manager--》 双击打开kvm4--》点左上角的灯泡符号show virtual hardware details --》点左下角add devices 直接添加,并写上相关参数就可以(注意参数,device type都选择virtio,不需要重启虚拟机,可以直接生效,并且磁盘名叫vda,vdb,vdc...;如果你第一次加硬盘选择IDE disk,需要重启,并且磁盘名叫sda,sdb,sdc...)

注意:用图形方式在线删除磁盘后,还要去物理上把它的磁盘xxx.qcow2文件给rm掉

命令添加硬盘设备

1、使用dd命令创建一个磁盘文件

  1. # dd if=/dev/zero of=/var/lib/libvirt/images/kvm4-2.img bs=1M count=1 seek=4000000
  2. --seek是指跳过多少个BS块,这里就是产生一个4T大小的文件(实际大小只1M
  1. # qemu-img info /var/lib/libvirt/images/kvm4-2.img
  2. image: /var/lib/libvirt/images/kvm4-2.img
  3. file format: raw --格式为raw(这是老版本的默认格式,新版本是qcow2格式)
  4. virtual size: 3.8T (4194305048576 bytes)
  5. disk size: 1.0M
  1. # cd /var/lib/libvirt/images/
  2. # qemu-img convert -f raw -O qcow2 kvm4-2.img kvm4-2.qcow2 --把kvm4-2.img文件转换成一个新文件kvm4-2.qcow2(格式也转换成qcow2)
  3. # rm kvm4-2.img -rf --原来的这个文件不用了就可以删除掉了
  1. # qemu-img info /var/lib/libvirt/images/kvm4-2.qcow2
  2. image: /var/lib/libvirt/images/kvm4-2.qcow2
  3. file format: qcow2 --转化后的新文件格式就为qcow2格式了
  4. virtual size: 3.8T (4194305048576 bytes)
  5. disk size: 256K
  6. cluster_size: 65536
  7. Format specific information:
  8. compat: 1.1
  9. lazy refcounts: false

2、编辑虚拟机的配置文件

  1. # virsh edit kvm4
  2. <devices>与</devices>之间加上下面的一段,也可以把其它磁盘的配置定义拷贝一段进行修改
  3.  
  4. <disk type='file' device='disk'>
  5. <driver name='qemu' type='qcow2' /> --格式为qcow2
  6. <source file='/var/lib/libvirt/images/kvm4-2.qcow2'/> --路径名称改成kvm4-2.qcow2
  7. <target dev='vdb' bus='virtio'/> --新加的硬盘,就叫vdb
  8. <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> --slot也改一下,我这里是把0x07改成0x09(只要这个编号没有被重复占用就可以)
  9. </disk>

3、重启虚拟机后(有可能reboot还不行,需要force off再启动),登录使用fdisk就能查看到这个4T大小的硬盘了

迁移磁盘目录

比如宿主机的/var目录空间不够,想把磁盘文件改到气他目录(如/data/kvm/目录)

  1. # virsh destroy kvm1 --先停掉kvm1
  2.  
  3. # mv /var/lib/libvirt/images/kvm1.qcow2 /data/kvm/
  4.  
  5. # virsh edit kvm1
  6. ......
  7. <disk type='file' device='disk'>
  8. <driver name='qemu' type='qcow2' />
  9. <source file='/data/kvm/kvm1.qcow2'/> --把这个路径改成mv后的新路径
  10. <target dev='vda' bus='virtio'/>
  11. <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
  12. </disk>
  13. ......
  14.  
  15. # virsh start kvm1

Linux-KVM虚拟化的更多相关文章

  1. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  2. Linux中安装配置KVM虚拟化

    KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...

  3. [原] KVM 虚拟化原理探究(1)— overview

    KVM 虚拟化原理探究- overview 标签(空格分隔): KVM 写在前面的话 本文不介绍kvm和qemu的基本安装操作,希望读者具有一定的KVM实践经验.同时希望借此系列博客,能够对KVM底层 ...

  4. [原] KVM 虚拟化原理探究(6)— 块设备IO虚拟化

    KVM 虚拟化原理探究(6)- 块设备IO虚拟化 标签(空格分隔): KVM [toc] 块设备IO虚拟化简介 上一篇文章讲到了网络IO虚拟化,作为另外一个重要的虚拟化资源,块设备IO的虚拟化也是同样 ...

  5. [原] KVM 虚拟化原理探究(5)— 网络IO虚拟化

    KVM 虚拟化原理探究(5)- 网络IO虚拟化 标签(空格分隔): KVM IO 虚拟化简介 前面的文章介绍了KVM的启动过程,CPU虚拟化,内存虚拟化原理.作为一个完整的风诺依曼计算机系统,必然有输 ...

  6. [原] KVM 虚拟化原理探究(3)— CPU 虚拟化

    KVM 虚拟化原理探究(3)- CPU 虚拟化 标签(空格分隔): KVM [TOC] CPU 虚拟化简介 上一篇文章笼统的介绍了一个虚拟机的诞生过程,从demo中也可以看到,运行一个虚拟机再也不需要 ...

  7. [原] KVM 虚拟化原理探究(2)— QEMU启动过程

    KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...

  8. kvm虚拟化平台搭建入门

    KVM虚拟化有两种网络模式:1)Bridge网桥模式2)NAT网络地址转换模式Bridge方式适用于服务器主机的虚拟化.NAT方式适用于桌面主机的虚拟化. 环境: 本次实验要开启VMWare中对应Ce ...

  9. linux网络虚拟化

    图解几个与Linux网络虚拟化相关的虚拟网卡-VETH/MACVLAN/MACVTAP/IPVLAN http://smilejay.com/2012/08/qemu-kvm-networking-m ...

  10. KVM虚拟化技术

    KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...

随机推荐

  1. Java虚拟机判定对象存活算法

    1.引用计数算法 描述:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器值为0的对象就是不可能再被使用的. 特点:实现简单,判定效率高. ...

  2. 软件开发:网站&视频&书籍&文章推荐(不断更新)

    利用书籍进行系统学习,凭借博客/新闻等资料开阔眼界,辅之以代码及项目实战,并勤加以总结,方可进步. 常用网站: 找英文电子书网站:gen.lib.rus.ec 和 www.jiumodiary.com ...

  3. nginx系列7:处理HTTP请求的11个阶段

    处理HTTP请求的11个阶段 如下图: 序号 阶段 指令 备注 1 POST_READ realip 获取客户端真实IP 2 SERVER_REWRITE rewrite 3 FIND_CONFIG ...

  4. Java设计模式---ChainOfResponsibility责任链模式

    参考于 : 大话设计模式 马士兵设计模式视频 代码参考于马士兵设计模式视频 写在开头:职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系 图来自大话设计模式,下面我的代 ...

  5. Asp.Net 将HTML中通过dom-to-image.js标签div内的内容转化为图片保存到本地

    由于客户的需求,将js写出来的一个统计能够保存到本地.作为码奴的我只能慢慢搬砖咯!一开始使用的是html2canvas.js.功能是可以实现,但是有缺陷.话不多说开始搞! 1.引入几个JS库 ①:jq ...

  6. zList一个块状链表算法可以申请和释放同种对象指针,对于大数据量比直接new少需要差不多一半内存

    zList是一个C++的块状内存链表,特点: 1.对于某种类别需要申请大量指针,zList是一个很好的帮手,它能比new少很多内存. 2.它对内存进行整体管理,可以将数据和文件快速互操作 3.和vec ...

  7. 生鲜配送管理系统_升鲜宝V2.0 供应商协同系统设计思想及设计效果展现(一)

    生鲜配送管理系统[升鲜宝]V2.0 供应商协同系统小程序设计思想及操作说明(一)     生鲜供应链企业,最重要的二个方面,其中一个是客户服务(销售订单)    另外一个就是供应商的管控,只有做好了这 ...

  8. Simulink 产品说明

    Simulink 产品说明 仿真和基于模型的设计 Simulink® 是一个模块图环境,用于多域仿真以及基于模型的设计.它支持系统级设计.仿真.自动代码生成以及嵌入式系统的连续测试和验证.Simuli ...

  9. dede首页、列表页调用非缩略图

    在include/extend.func.php末尾添加 function firstimg($str_pic) { $str_sub=substr($str_pic,0,-7).strrchr($s ...

  10. 简单易懂的单元测试框架-gtest(二)

    简介     事件机制用于在案例运行前后添加一些操作(相当于挂钩函数).目前,gtest提供了三种等级的事件,分别: 全局级,所有案例执行的前后 TestSuite级,某一个案例集的前后 TestCa ...