虚拟化介绍
- VMware Workstation就是虚拟化
- 虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源
- 关键词Hypervisor(VMM) 虚拟机管理器
- 虚拟化技术分为全虚拟化和半虚拟化
早期的CPU硬件不支持虚拟化,虚拟机上的操作系统(guestos)要想使用cpu资源,需要通过VMM来翻译指令,这个过程比较耗费资源,这种虚拟化技术叫做全虚拟化(VMware Workstation)
半虚拟化技术通过修改guestos内核,让guestos可以直接使用CPU资源,而不需要翻译指令了,从而节省了资源,但修改内核比较鸡肋(XEN)
后续cpu厂商直接支持虚拟化,不需要通过VMM翻译指令了,无所谓半虚拟化和全虚拟化
- 参考 http://www.cnblogs.com/xusongwei/archive/2012/07/30/2615592.html http://itoedr.lofter.com/post/1472ba_69c62fa
常见虚拟化软件
- VMware系列
VMware workstation、VMware vsphere(VMware esxi)、VMware Fusion(Mac) - Xen 开源 半虚拟化
XenServer 商业,厂商Ctirx,基于Xen的 - KVM 开源 基于linux内核模块
- Hyper-V 商业,厂商微软
- Openvz 开源 基于linux 虚拟机和宿主机共用一个内核
- VirtualBox 开源 Sun公司开发 Oracle收购Sun
- http://developer.huawei.com/ict/forum/thread-23385-1-1.html
虚拟化架构
- 参考 http://developer.huawei.com/ict/forum/thread-23385-1-1.html
KVM介绍
- KVM是以色列初创公司Qumranet开发,2008年9月RedHat公司收购了Qumranet
- KVM是Linux内核的一个模块,它把Linux内核变成了一个Hypervisor
- KVM是完全开源的,RedHat基于KVM的虚拟化解决方案叫做RHEV
- KVM在Linux操作系统里面以进程的形式出现,由标准的Linux调度程序进行调度,这使得KVM能够使用Linux内核的已有功能
只有一个KVM内核模块还不能实现虚拟化的全部功能,就好比操作系统只有内核还不能成为一个完整的操作系统一样 - QEMU是一个开源的虚拟化软件,纯软件,可以虚拟化所以的硬件,性能不强
- KVM基于QEMU开发了一个能够运行在用户空间的工具QEMU-KVM
- 磁盘、网络设备等都是通过QEMU-KVM这个工具模拟出来的
- KVM和QEMU-KVM通信是通过/dev/kvm实现的
- libvirt是用来管理KVM虚拟机的API,其命令为virsh
KVM架构图
Centos7上安装KVM
- 前提是CPU支持虚拟化
- 虚拟机设置内存2G,增加一个50G的虚拟磁盘,处理器2核,虚拟化引擎两个虚拟化相关的选项打上对勾
- 修改后可以做一个快照,安装使用KVM有什么问题,可以利用快照恢复
- 关闭iptables或者firewalld
- 关闭selinux
- 格式化新磁盘,挂载到/kvm_data
<root@linux0 ~>$ fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c71d6
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 41943039 18668544 83 Linux
磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
<root@linux0 ~>$ mkfs.xfs /dev/sdb
meta-data=/dev/sdb isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
<root@linux0 ~>$ fdisk -l
磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c71d6
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris
/dev/sda3 4605952 41943039 18668544 83 Linux
磁盘 /dev/sdb:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
<root@linux0 ~>$ mkdir /kvm_data
<root@linux0 ~>$ mount /dev/sdb /kvm_data #挂载;
<root@linux0 ~>$ vim /etc/fstab #修改配置文件;
<root@linux0 ~>$ cat /etc/fstab |tail -1 #增加一行;
/dev/sdb /kvm_data xfs defaults 0 0
- 下载一个centos7的镜像文件
<root@linux0 ~>$ ls /kvm_data/ #下载一个镜像到系统里;
CentOS-7-x86_64-DVD-1810.iso
- 检查cpu参数是否支持虚拟化
grep -Ei ‘vmx|svm’ /proc/cpuinfo
<root@linux0 ~>$ grep -Ei 'vmx|svm' /proc/cpuinfo #有这些信息才能使用kvm;
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss 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 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt arat spec_ctrl intel_stibp flush_l1d arch_capabilities
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss 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 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt arat spec_ctrl intel_stibp flush_l1d arch_capabilities
- 安装kvm
<root@linux0 ~>$ yum install -y virt-* libvirt bridge-utils qemu-img #安装kvm;
配置网卡并安装centos7
- 配置网卡,增加桥接网卡
设置一个br0网卡,TYPE为Bridge,IP地址设置为ens33的ip
<root@linux0 /etc/sysconfig/network-scripts>$ cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
<root@linux0 /etc/sysconfig/network-scripts>$ cat ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.3.16
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
DNS1=192.168.3.16
<root@linux0 ~>$ systemctl restart network
<root@linux0 ~>$ ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.16 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::20c:29ff:febd:e903 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bd:e9:03 txqueuelen 1000 (Ethernet)
RX packets 105 bytes 9100 (8.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 848 (848.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:bd:e9:03 txqueuelen 1000 (Ethernet)
RX packets 313 bytes 40662 (39.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 920 (920.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- 检查KVM模块是否加载
<root@linux0 ~>$ lsmod|grep kvm
kvm_intel 183621 0
kvm 586948 1 kvm_intel
irqbypass 13503 1 kvm
- 启动libvirtd服务
systemctl start libvirtd
- brctl show可以看到两个网卡br0和virbr0
<root@linux0 ~>$ brctl show #查看虚拟机网卡的两个模式;安装过程需要选择;
bridge name bridge id STP enabled interfaces
br0 8000.000c29bde903 no ens33 #bridge
virbr0 8000.525400ccfe5d yes virbr0-nic #nat
- 命令行安装centos7
<root@linux0 ~>$ virt-install --name=vir01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/kvm_data/CentOS-7-x86_64-DVD-1810.iso --disk path=/kvm_data/vir01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
里面一些选择跟vmware安装linux是一样的,分区是自动的;
虚拟机管理
<root@linux0 ~>$ virsh list --all #查看初始状态;
Id 名称 状态
----------------------------------------------------
- vir01 关闭
<root@linux0 ~>$ virsh start vir01 #启动虚拟机;
域 vir01 已开始
<root@linux0 ~>$ virsh list --all
Id 名称 状态
----------------------------------------------------
3 vir01 running
<root@linux0 ~>$ virsh shutdown vir01 #关闭虚拟机;
域 vir01 被关闭
<root@linux0 ~>$ virsh console vir01 #进入虚拟机;
连接到域 vir01
换码符为 ^] #退出方式;
CentOS Linux 7 (Core)
Kernel 3.10.0-957.el7.x86_64 on an x86_64 #按一下回车,输入密码;
[root@vir01 ~]# dhclient
[root@vir01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:75:b7:cf brd ff:ff:ff:ff:ff:ff
inet 192.168.3.31/24 brd 192.168.3.255 scope global dynamic eth0 #获得了宿主机同级IP,可以连网;安装时选择了br0;
valid_lft 86398sec preferred_lft 86398sec
[root@vir01 ~]# free -h #内存跟安装设置一样;
total used free shared buff/cache available
Mem: 479M 88M 272M 6.6M 117M 247M
Swap: 1.0G 0B 1.0G
[root@vir01 ~]# cat /proc/cpuinfo |grep processor #1核,多少核心多少行;
processor : 0
[root@vir01 ~]# df -h #磁盘10G;安装命令里设定;
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 8.0G 997M 7.1G 13% /
devtmpfs 486M 0 486M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 6.7M 489M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/vda1 1014M 126M 889M 13% /boot
tmpfs 48M 0 48M 0% /run/user/0
[root@vir01 ~]# virsh destroy vir01 #强制关闭;
[root@vir01 ~]# virsh undefine vir01 #删除登记,即删除配置文件,不能再被list;
<root@linux0 ~>$ ls /etc/libvirt/qemu/ #xml就是配置文件;
networks vir01.xml
<root@linux0 ~>$ virsh suspend vir01
域 vir01 被挂起
<root@linux0 ~>$ virsh resume vir01
域 vir01 被重新恢复
克隆
virt-clone --original vir01 --name vir02 --file /kvm_data/vir02.img #clone命令;
virsh list --all #可以查看到多了一个虚拟机;
快照管理
<root@linux0 ~>$ virsh snapshot-create vir01 #创建快照;
已生成域快照 1582378677
<root@linux0 ~>$ qemu-img info /kvm_data/vir01.img #查看快照信息;
image: /kvm_data/vir01.img
file format: qcow2 #可以做快照的格式,raw格式不能做快照;
virtual size: 10G (10737418240 bytes)
disk size: 1.3G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1582378677 0 2020-02-22 21:37:57 00:00:00.000
Format specific information:
compat: 1.1
lazy refcounts: true
<root@linux0 ~>$ du -sh /kvm_data/* #qcow2格式文件实际大小;
4.3G /kvm_data/CentOS-7-x86_64-DVD-1810.iso
1.4G /kvm_data/vir01.img
1.4G /kvm_data/vir02.img
<root@linux0 ~>$ ls -lh !$ #
ls -lh /kvm_data/*
-rw-r--r-- 1 qemu qemu 4.3G 8月 6 2019 /kvm_data/CentOS-7-x86_64-DVD-1810.iso
-rw------- 1 root root 11G 2月 22 21:37 /kvm_data/vir01.img #源显示更大;
-rw------- 1 root root 1.4G 2月 22 21:37 /kvm_data/vir02.img
<root@linux0 ~>$ virsh snapshot-list vir01 #查看所有快照;
名称 生成时间 状态
------------------------------------------------------------
1582378677 2020-02-22 21:37:57 +0800 shutoff
<root@linux0 ~>$ virsh snapshot-current vir01 |grep name |head -1 #目前在用的快照;
<name>1582378677</name>
<root@linux0 ~>$ ls /var/lib/libvirt/qemu/snapshot/vir01/ #每个快照都有一个配置文件;
1582378677.xml
virsh snapshot-revert vir01 1582378677; #使用快照恢复;
virsh snapshot-delete vir01 1582378677; #删除快照;
磁盘格式
<root@linux0 ~>$ qemu-img create -f raw /kvm_data/vir02.img 2G #创建一个raw的磁盘文件;
Formatting '/kvm_data/vir02.img', fmt=raw size=2147483648
<root@linux0 ~>$ ls /kvm_data/
CentOS-7-x86_64-DVD-1810.iso vir01.img vir02.img
<root@linux0 ~>$ qemu-img info /kvm_data/vir02.img
image: /kvm_data/vir02.img
file format: raw
virtual size: 2.0G (2147483648 bytes)
disk size: 0
<root@linux0 ~>$ qemu-img convert -O qcow2 /kvm_data/vir02.img /kvm_data/vir02-2.img #将raw文件换成qcow2格式;-O目标格式,会生成一个新文件;
<root@linux0 ~>$ qemu-img info /kvm_data/vir02-2.img
image: /kvm_data/vir02-2.img
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 644K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
<root@linux0 ~>$ du -sh /kvm_data/*
1.4G /kvm_data/vir01.img
644K /kvm_data/vir02-2.img #文件大小统一;
36K /kvm_data/vir02.img
<root@linux0 ~>$ ll -lh !$
ll -lh /kvm_data/*
-rw------- 1 root root 11G 2月 22 21:37 /kvm_data/vir01.img
-rw-r--r-- 1 root root 640K 2月 22 22:13 /kvm_data/vir02-2.img
-rw------- 1 qemu qemu 2.0G 2月 22 22:07 /kvm_data/vir02.img
<root@linux0 ~>$ qemu-img convert -O raw /kvm_data/vir01.img /kvm_data/vir01-2.img #将qcow2格式转为raw格式;
- 使用raw这个文件启动系统
<root@linux0 /kvm_data>$ virsh edit vir01 #编缉配置文件;
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/> #修改成raw;
<source file='/kvm_data/vir01-2.img'/> #修改文件路径;
<root@linux0 /kvm_data>$ ll
总用量 7228912
-rw-r--r-- 1 qemu qemu 4588568576 8月 6 2019 CentOS-7-x86_64-DVD-1810.iso
-rw-r--r-- 1 qemu qemu 10737418240 2月 22 22:24 vir01-2.img #使用中属主属组,原来是root;
- raw 启动的虚拟机会比 QCOW2 启动的虚拟机 I/O 效率更高一些(25%)
- qcow2是一种当下比较主流的虚拟化磁盘格式,具有占用空间小,支持加密,支持压缩,支持快照的特点
磁盘扩容 - raw格式
<root@linux0 /kvm_data>$ qemu-img resize vir01-2.img +2G
Image resized.
<root@linux0 /kvm_data>$ qemu-img info vir01-2.img
image: vir01-2.img
file format: raw
virtual size: 12G (12884901888 bytes)
disk size: 1.3G
<root@linux0 /kvm_data>$ virsh shutdown vir01 #virsh重启后resize才会更新;
域 vir01 被关闭
<root@linux0 /kvm_data>$ virsh start vir01
域 vir01 已开始
<root@linux0 /kvm_data>$ virsh console vir01
[root@vir01 ~]# fdisk -l #更新后的大小; 原来是普通分区,需要重新分区使用;LVM可以扩充逻辑卷;
Disk /dev/vda: 12.9 GB, 12884901888 bytes, 25165824 sectors
<root@linux0 /kvm_data>$ qemu-img create -f raw virext.raw 5G #新建一个raw 文件;
Formatting 'virext.raw', fmt=raw size=5368709120
<root@linux0 /kvm_data>$ virsh edit vir01 #修改配置文件;
没有更改域 vir01 XML 配置。
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/kvm_data/vir01-2.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='disk'> #在上面一段增加一段,使用磁盘virext.raw;
<driver name='qemu' type='raw'/>
<source file='/kvm_data/virext.raw'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> #slot需要在这个文件里不能重复;
</disk>
[root@vir01 ~]# fdisk -l |grep vdb
Disk /dev/vdb: 5368 MB, 5368709120 bytes, 10485760 sectors #增加了一个磁盘;
磁盘扩容 - qcow2
<root@linux0 /kvm_data>$ qemu-img resize vir01.img +2G
qemu-img: Can't resize an image which has snapshots
qemu-img: This image does not support resize #删除所有快照后才可以resize, 另外img文件要在绑定配置文件的情况下,不然删除快照的操作只完成一半,不能resize;
#增加一块磁盘的操作和添加到虚拟机中的操作跟上面类似;
qemu-img create -f qcow2 /kvm_data/aminglinux01_2.img 5G
调整CPU、内存、网卡
- 调整cpu, 内存;
<root@linux0 /kvm_data>$ virsh dominfo vir01
Id: 9
名称: vir01
UUID: aa71bf54-3c8c-4d92-9838-e134367552bc
OS 类型: hvm
状态: running
CPU: 1
CPU 时间: 36.9s
最大内存: 1048576 KiB
使用的内存: 524288 KiB
持久: 是
自动启动: 禁用
管理的保存: 否
安全性模式: none
安全性 DOI: 0
<root@linux0 /kvm_data>$ virsh edit vir01 #修改配置文件可修改cpu和内存,需要重启;
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>824288</currentMemory>
<vcpu placement='static'>2</vcpu>
<root@linux0 /kvm_data>$ virsh setmem vir01 800m #动态调整内存;不用重启;
<root@linux0 /kvm_data>$ virsh dominfo vir01 |grep KiB
最大内存: 1048576 KiB
使用的内存: 819200 KiB
<root@linux0 /kvm_data>$ virsh setvcpus vir01 2 #动态调整vcpus;
<root@linux0 /kvm_data>$ virsh dumpxml vir01 > /etc/libvirt/qemu/vir01.xml #将动态调整保存到配置文件;
<root@linux0 /kvm_data>$ vim /etc/libvirt/qemu/vir01.xml #需要使用vim查看,edit查看没改变;
- 添加网卡
<root@linux0 /kvm_data>$ virsh attach-interface vir01 --type bridge --source virbr0 #附加nat网卡;
成功附加接口
<root@linux0 /kvm_data>$ virsh attach-interface vir01 --type bridge --source br0 #附加桥接网卡;
成功附加接口
<root@linux0 /kvm_data>$ virsh domiflist vir01 #查看网卡情况;
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet1 bridge br0 virtio 52:54:00:75:b7:cf
vnet2 bridge virbr0 rtl8139 52:54:00:95:23:05
vnet3 bridge br0 rtl8139 52:54:00:09:84:e2
[root@vir01 ~]# ip addr |grep "inet " #虚拟机网卡情况;
inet 127.0.0.1/8 scope host lo
inet 192.168.3.34/24 brd 192.168.3.255 scope global dynamic eth0
inet 192.168.122.103/24 brd 192.168.122.255 scope global noprefixroute dynamic ens9
inet 192.168.3.33/24 brd 192.168.3.255 scope global noprefixroute dynamic ens10
- 要保存网卡设置需要使用dump命令;
迁移虚拟机
- 需要迁移虚拟磁盘文件
- 迁移配置文件
- 迁移到非机地不需要改名字,路径按回原来设置,可直接启动;
- 迁移到本机,需要修改domname: aminglinux03, uuid
- 定义新虚拟机
<root@linux0 /kvm_data>$ virsh domblklist vir01 #查看虚拟机的磁盘文件;
目标 源
------------------------------------------------
vda /kvm_data/vir01.img
hda -
<root@linux0 /kvm_data>$ virsh define /etc/libvirt/qemu/vir01.xml
CPU核心与分配
- 举例宿主机CPU双核四线程2.2mhz,指一个CPU,两个核心,四线程是使用HT超线程技术提升核心多任务处理能力,一般一个核心一个线程(线程是操作系统进行资源(包括CPU,内存,磁盘IO)分配的最小单位),HT模拟出两个逻辑核心,即有两个核心四个线程,差不多相当于可以同时做四件事情;
- 四个线程并不等于四个核心,只是一种技术,提高了CPU的利用率;
- 每个核心的主频是2.2,是代表其单核时计算能力的一个指标,一般主频高能力强;
- 虚拟机设置核心数时,应该不超过2核,因为主机就只是两核,超过了提示影响性能;
- 4核CPU,每个虚拟机都是单核,那虚拟机应该是不多于4个;
- 8G的内存,每个虚拟机都是1G,那最多应该是可以有8个虚拟机;
- 综合上面两条,那1核1G的虚拟机,只能是四个;(指同时使用,并使用率也不低的情况)
- 当然某一个虚拟机可以加多点内存;或者减少一个虚拟机,提升某一个的性能;
- 实验之初是1G1核的虚拟机,因为要在虚拟的linux上使用kvm再虚拟出机器,所以把最初的虚拟机提升到2核2G加了50G硬盘;这样才能在这个虚拟机上分出1核512G的虚拟机(一开始资源太少,就没法分了);