虚拟化之KVM

一、KVM虚拟化介绍

1、虚拟化

指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。

2、kvm

KVM(Kernel-based Virtual Machine)基于内核的虚拟机
虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案,KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 线程。这使得 KMV 能够使用 Linux 内核的已有功能。
KVM使用QEMU进行硬件的模拟,使用libvirt作为管理接口

二、KVM安装虚拟机

1、软件及服务

virt-install 安装虚拟机软件
virt-manager 图形化界面管理
libvirt* 为虚拟化做统一接口

2、安装过程

实验环境

server 192.168.200.12

[root@server ~]# egrep "svm|vmx" /proc/cpuinfo  
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
[root@server ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

检查cpu对虚拟化的是否支持,内核是否加载虚拟化模块
如果没有,在虚拟机设置处理器中打开虚拟化引擎

image.png
[root@server ~]# yum -y install virt-install virt-manager libvirt*
[root@server ~]# systemctl start libvirtd 
[root@server ~]# systemctl enable libvirtd      
[root@server ~]# systemctl status libvirtd       
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-02-07 17:28:24 CST; 10min ago
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 23156 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           ├─10291 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/...
           ├─10292 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/...
           └─23156 /usr/sbin/libvirtd

Feb 07 17:28:24 server systemd[1]: Starting Virtualization daemon...
Feb 07 17:28:24 server systemd[1]: Started Virtualization daemon.
Feb 07 17:28:25 server dnsmasq[10291]: read /etc/hosts - 2 addresses
Feb 07 17:28:25 server dnsmasq[10291]: read /var/lib/libvirt/dnsmasq/defa...s
Feb 07 17:28:25 server dnsmasq-dhcp[10291]: read /var/lib/libvirt/dnsmasq...e
Hint: Some lines were ellipsized, use -l to show in full.

安装软件,打开服务

[root@server ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/test1.qcow2 5G
Formatting '/var/lib/libvirt/images/test1.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@server images]# rz
rz waiting to receive.
 zmodem trl+C ȡ
  100%  940032 KB 23500 KB/s 00:00:40       0 Errors-1810.iso...
[root@server images]# ls
CentOS-7-x86_64-Minimal-1810.iso  test1.qcow2
[root@server images]# virt-install \
> --virt-type kvm \
> --name test1 \
> --vcpus=1 \
> --ram 1024 \
> --cdrom=/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1810.iso \
> --disk path=/var/lib/libvirt/images/test1.qcow2 \
> --network network=default \
> --graphics vnc,listen=0.0.0.0,port=5901 

创建磁盘,上传镜像,创建虚拟机
virt-install
--virt-type kvm 虚拟化类型kvm
--name test1 虚拟机名字
--vcpus=1 虚拟机cpu
--ram 1024 虚拟机内存
--cdrom=/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-1810.iso 虚拟机镜像路径
--disk path=/var/lib/libvirt/images/test1.qcow2 虚拟机磁盘路径
--network network=default 虚拟机网络,默认为NAT
--graphics vnc,listen=0.0.0.0,port=5901 vnc管理监听地址与端口

三、KVM管理虚拟机

1、libvirtd

Libvirtd是目前使用最广泛的对kvm虚拟机进行管理的工具和api。Libvirtd是一个Domain进程可以被本地virsh调用,也可以被远端的virsh调用,libvirtd调用kvm-qemu控制虚拟机。
libvirtd由几个不同的部分组成,其中包括应用程序编程接口(API)库,一个守护进程(libvirtd)和一个默认的命令行工具(virsh),libvirtd守护进程负责对虚拟机的管理,因此要确保这个进程的运行。

2、virt-manager管理

virt-manager是一套强大的虚拟机桌面管理工具,提供了对虚拟机的开机,挂起,重启,网络,内存,CPU,磁盘,迁移等
[root@server images]# virt-manager

image.png

3、virsh管理

virsh是由libvirt提供的管理工具,配合虚拟机xml文件基本可以完成对虚拟机的所有操作
利用virsh实现跨主机管理

实验环境 192.168.200.13

[root@localhost ~]# vi /etc/libvirt/libvirt.conf
uri_aliases = [
  "kvm=qemu+ssh://192.168.200.12/system",
]
[root@localhost ~]# ssh-keygen
[root@localhost ~]# ssh-copy-id root@192.168.200.12
[root@localhost ~]# virsh -c kvm
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh # 

4、vnc管理

VNC (Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件,由著名的 AT&T的欧洲研究实验室开发的。VNC 是在基于UNIX和Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。

[root@server images]# vncviewer :5901
image.png

5、console管理

通过console口在宿主机直接接管虚拟机

[root@server ~]# vi /etc/default/grub   
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb q
uiet console=ttyS0"
[root@server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
[root@server ~]# reboot
[root@server ~]# virsh start test1
[root@server ~]# virsh console test1

6、xml文件

每一个虚拟机都有一个以.xml结尾定义文件,其中定义了所有虚拟机的虚拟化配置,默认路径为/etc/libvirt/qemu/xxx.xml

四、KVM CPU

1、基本概念

  • 对于虚拟化而言,一个vm在宿主机上就是一个进程
  • 而虚拟机的cpu就是这个进程下的一个线程

2、定义CPU

<vcpu placement='static'>1</vcpu> 最大cpu为1,当前cpu为1
<vcpu placement='static' current='1'>3</vcpu> 最大cpu为3,当前cpu为1

3、CPU增加

将虚拟机一个cpu增加至三个

[root@server ~]# vim /etc/libvirt/qemu/test1.xml 
<vcpu placement='static' current='3'>4</vcpu>
[root@server ~]# virsh destroy test1
Domain test1 destroyed
[root@server ~]# systemctl restart libvirtd
[root@server ~]# virsh start test1  
Domain test1 started

验证

[root@server ~]# ssh root@192.168.122.131 "cat /proc/cpuinfo | grep processor"
root@192.168.122.131's password: 
processor       : 0
processor       : 1
processor       : 2       

4、CPU模式

  • 默认 默认为在虚拟机性能最好的cpu
  • host-passthrougt 具有和宿主机相同的cpu,为了实现虚拟化嵌套
  • host-model 和宿主机最接近的cpu

五、KVM MEM

1、基础概念

host physical memory 是服务器的cpu,最真实的cpu
guest physical memory 是宿主机的cpu
guest virtual memory 是虚拟机的cpu

2、定义MEN

<memory unit='KiB'>4194304</memory> 最大cpu为4G
<currentMemory unit='KiB'>1048576</currentMemory> 当前cpu为1G

3、balloon

KVM的内存气球技术使得可以在虚拟机中按照需要调整的内存大小,提升内存的利用率。使用的时候,默认情况是需要安装virt balloon的驱动,内核开启CONFIG_VIRTIO_BALLOON。CentOS7默认已经开启了此选项,并且也安装了virtballoon驱动。

查看当前气球大小

[root@server ~]# virsh qemu-monitor-command test1 --hmp --cmd info balloon 
balloon: actual=1024

增加气球容量

virsh qemu-monitor-command test1 --hmp --cmd  balloon 2048 

验证

[root@server ~]# ssh root@192.168.122.131 "free -m"
root@192.168.122.131's password: 
              total        used        free      shared  buff/cache   available
Mem:           1741         122        1424           8         194        1385
Swap:           511           0         511

4、内存增加

将1G内存增加至3G

[root@server ~]# vim /etc/libvirt/qemu/test1.xml 
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>3145728</currentMemory>
[root@server ~]# virsh destroy test1
Domain test1 destroyed
[root@server ~]# systemctl restart libvirtd
[root@server ~]# virsh start test1
Domain test1 started

验证

[root@server ~]# ssh root@192.168.122.131 "free -m"
root@192.168.122.131's password: 
              total        used        free      shared  buff/cache   available
Mem:           2765         115        2456           8         192        2417
Swap:           511           0         511

5、内存超分配

  • 内存置换
  • 内存共享
  • 内存气泡

六、KVM 存储

1、概念

  • 存储池:为vm提供磁盘的存储空间
  • 存储卷:虚拟机磁盘

2、类型

  • 文件系统
  • 块设备


    image.png

3、创建池(文件系统)

根据模板文件修改池定义文件,创建池

[root@server ~]# virsh pool-list
 Name                 State      Autostart 
-------------------------------------------11
 images               active     yes       

[root@server ~]# virsh pool-dumpxml images > /root/pool_xml
[root@server ~]# vim pool_xml 
<pool type='dir'>
  <name>pool</name>
  <target>
    <path>/pool/</path>
    <permissions>
      <mode>0711</mode>
      <owner>0</owner>
      <group>0</group>
      <label>system_u:object_r:virt_image_t:s0</label>
    </permissions>
  </target>
</pool>
[root@server ~]# mkdir /pool/
[root@server ~]# virsh pool-define /root/pool_xml 
Pool pool defined from /root/pool_xml
[root@server ~]# virsh pool-list --all            
 Name                 State      Autostart 
-------------------------------------------
 images               active     yes       
 pool                 inactive   no        
[root@server ~]# virsh pool-start pool
Pool pool started
[root@server ~]# virsh pool-autostart pool
Pool pool marked as autostarted
[root@server ~]# virsh pool-list
 Name                 State      Autostart 
-------------------------------------------
 images               active     yes       
 pool                 active     yes    

验证

[root@server pool]# qemu-img  create -f qcow2 local.qcow2 2G
Formatting 'local.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off
[root@server pool]# virsh attach-disk test1 /pool/local.qcow2 vdb --subdriver=qcow2    
Disk attached successfully
[root@server ~]# virsh domblklist test1
Target     Source
------------------------------------------------
vda        /var/lib/libvirt/images/test1.qcow2
vdb        /pool/local.qcow2

virsh detach-disk test1 vdc 移除磁盘
virsh detach-disk test1 vdc --config 移除磁盘配置文件

4、后端存储和前端存储

这里的后端存储并不是块设备或者文件系统提供虚拟机持续化的存储。而是依靠装有系统的磁盘来创建虚拟机。这个虚拟机的磁盘文件被称为前端存储,装有系统的磁盘被称为后端存储。前端存储依靠后端存储,相当于创建了一个快照软链接,在创建虚拟机的时候使用后端存储做只读文件。运用这种方式可以很快的创建虚拟机。

[root@server images]# qemu-img create -f qcow2 -b test1.qcow2 vm1.qcow2
Formatting 'vm1.qcow2', fmt=qcow2 size=5368709120 backing_file='test1.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off

使用vm1.qcow2创建虚拟机相当于链接快照,完全依赖于test1.qcow2这个装有系统的磁盘

5,磁盘格式转换

将qcow2的格式转发为vmdk

[root@server images]# qemu-img create -f qcow2 test.qcow2 1G
Formatting 'test.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@server images]# qemu-img convert -O vmdk -f qcow2 test.qcow2 test.vmdk

检查

[root@server images]# qemu-img info test.vmdk 
image: test.vmdk
file format: vmdk
virtual size: 1.0G (1073741824 bytes)
disk size: 12K
cluster_size: 65536
Format specific information:
    cid: 1293804866
    parent cid: 4294967295
    create type: monolithicSparse
    extents:
        [0]:
            virtual size: 1073741824
            filename: test.vmdk
            cluster size: 65536
            format: 
[root@server images]# qemu-img check test.vmdk 
No errors were found on the image.

七、kvm网络

1、bridge

linux bridge

创建linuxbridge br0

[root@server ~]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@server network-scripts]# vim ifcfg-br0 
TYPE=Bridge
BOOTPROTO=none
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.200.12
NETMASK=255.255.255.0
GATEWAY=192.168.200.1
DNS1=114.114.114.114
[root@server network-scripts]# vim ifcfg-ens33 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=ens33
BRIDGE=br0
[root@server ~]# systemctl restart network
[root@server ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c29c90241       no              ens33
virbr0          8000.525400ba4019       yes             virbr0-nic
                                                        vnet0

验证

[root@server images]# vim boot
virt-install --virt-type kvm --name test2 --vcpus=1 --ram 1024 --cdrom=/var/lib/libvirt
/images/CentOS-7-x86_64-Minimal-1810.iso --disk path=/var/lib/libvirt/images/test2.qcow
2 --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5902
[root@server images]# qemu-img create -f qcow2 test2.qcow2 5G
Formatting 'test2.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@server images]# source boot
[root@server images]# virsh domiflist test2
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet1      bridge     br0        virtio      52:54:00:34:5d:62

[root@server images]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c29c90241       no              ens33
                                                        vnet1
virbr0          8000.525400ba4019       yes             virbr0-nic
                                                        vnet0
openvswitch

创建openvswitch br1

[root@server ~]# yum -y install *openvswitch*
[root@server ~]# systemctl start openvswitch && systemctl enable openvswitch
Created symlink from /etc/systemd/system/multi-user.target.wants/openvswitch.service to /usr/lib/systemd/system/openvswitch.service.
[root@server ~]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# cp ifcfg-ens33 ifcfg-br1
[root@server network-scripts]# vim ifcfg-br1
TYPE=OVSBridge
BOOTPROTO=none
NAME=br1
DEVICE=br1
ONBOOT=yes
DEVICETYPE=ovs
IPADDR=192.168.200.12
NETMASK=255.255.255.0
GATEWAY=192.168.200.1
DNS1=114.114.114.114
[root@server network-scripts]# vim ifcfg-ens33 
TYPE=OVSPort
ONBOOT=yes
NAME=ens33
DEVICE=ens33
DEVICETYPE=ovs
OVS_BRIDGE=br1
[root@server ~]# systemctl restart network
[root@server ~]# ovs-vsctl show
0e9dac98-09c6-411c-b621-5e160e515b16
    Bridge "br1"
        Port "ens33"
            Interface "ens33"
        Port "br1"
            Interface "br1"
                type: internal
    ovs_version: "2.5.0"

验证

[root@server ~]# vim /etc/libvirt/qemu/test2.xml 
 <interface type='bridge'>
      <mac address='52:54:00:34:5d:62'/>
      <source bridge='br1'/>
      <virtualport type='openvswitch' />
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
[root@server ~]# virsh domiflist test2           
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br1        virtio      52:54:00:34:5d:62

[root@server ~]# ovs-vsctl show
0e9dac98-09c6-411c-b621-5e160e515b16
    Bridge "br1"
        Port "vnet0"
            Interface "vnet0"
        Port "ens33"
            Interface "ens33"
        Port "br1"
            Interface "br1"
                type: internal
    ovs_version: "2.5.0"

2、NAT

在kvm中已经默认存在nat网络

[root@server ~]# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes
[root@server ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400ba4019       yes             virbr0-nic

自定义nat网络 virbr1

[root@server ~]# virsh net-dumpxml default > /root/nat
[root@server ~]# vim nat 
<network>
  <name>nat</name>
  <uuid>bc1b000b-7db8-4def-b272-5100bc5bfc88</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:ba:40:19'/>
  <ip address='192.168.188.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.188.2' end='192.168.188.254'/>
    </dhcp>
  </ip>
</network>
[root@server ~]# virsh net-define /root/nat 
Network nat defined from /root/nat
[root@server ~]# virsh net-list --all
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes
 nat                  inactive   no            yes

[root@server ~]# virsh net-start nat
Network nat started

[root@server ~]# virsh net-autostart nat
Network nat marked as autostarted

[root@server ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400ba4019       yes             virbr0-nic
virbr1          8000.525400ba4019       yes             virbr1-nic
[root@server ~]# ifconfig virbr1
virbr1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.188.1  netmask 255.255.255.0  broadcast 192.168.188.255
        ether 52:54:00:ba:40:19  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

验证

[root@server images]# vim boot 
virt-install --virt-type kvm --name test3 --vcpus=1 --ram 1024 --cdrom=/var/lib/libvi
rt/images/CentOS-7-x86_64-Minimal-1810.iso --disk path=/var/lib/libvirt/images/test3.
qcow2 --network network=nat --graphics vnc,listen=0.0.0.0,port=5903
[root@server images]# qemu-img create -f qcow2 test3.qcow2 5G
Formatting 'test3.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@server images]# source boot 
[root@server ~]# virsh domiflist test2
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      bridge     br1        virtio      52:54:00:34:5d:62

[root@server ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400ba4019       yes             virbr0-nic
virbr1          8000.525400ba4019       yes             virbr1-nic
                                                        vnet1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 虚拟化技术概览KVM简介KVM的管理操作 一、虚拟化技术概览 (一)虚拟化技术类型: 主机虚拟化:xen, kvm...
    哈喽别样阅读 1,809评论 0 5
  • 目录 一、安装 1.1、先确认CPU是否支持虚拟化 intel的CPU虚拟化技术是vmx,AMD的CPU是svm:...
    CaiGuangyin阅读 536评论 0 0
  • 一.虚拟化技术的介绍 (1)虚拟化技术类型: 1.主机虚拟化:xen,kvm.virtualbox.openv2....
    楠人帮阅读 1,963评论 0 5
  • 一、虚拟化分类 1、虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机...
    WickJohn阅读 2,147评论 0 3
  • (1)首先通过命令 virt-manager 启动图形界面:点下面的图标创建虚机 (2)给虚机命名为 kvm1,这...
    WickJohn阅读 1,560评论 0 0