1. 所谓虚拟机,就是一台虚拟的机器,他是一款软件,用来执行一系列虚拟计算机指令,虚拟机我们可以分为两大
块,一个叫系统虚拟机,还有一大块是程序虚拟机,系统虚拟机是什么概念呢,程序虚拟机又是什么概念呢,比如系统
虚拟机,比如大名鼎鼎的Visual Box, Vmare这两款都是咱们比较主流的系统级虚拟机, VBox可能用的少,但是
Vmare我现在就在用,你去阿里买它的云服务,它不是一个真正的物理机,都是虚拟化出来的,它不是真正的物理机
他后端挂了一堆物理机,他前端给你的是虚拟化出来的,我要买个4核的CPU,配置16G内存,2T的固态硬盘,还有带宽,
你买这些东西,根据你自己的需要去买,我想买4核就买4核,想买8核就买8核,内存我想买16G就买16G的,甚至64G的
这些东西都是根据客户需求动态的调整的,我买你的服务都是动态去调整,你想想物理节点能行吗,物理节点内存
固定的,你CPU4核再加4核,不可能能加上,把CPU拆开,内存16G的现在想换32G的,你把电脑拆开,再加内存,也就是
我们开源的厂商,开源的厂商有这种开源的框架,比较流行的就是openstacks,kvm虚拟化的方向,收费的就是vmare
可能你用的是个人版的,自己玩的Vmare,当然商用的肯定是特别稳定,这是基于系统级别的虚拟化,我们可以通过
简单的配置去把多个服务器,我们可以简单的通过一些配置,就相当于配置一些参数,这个就是一个虚拟化的一个
产品,虚拟1G内存,单核处理器,20G的硬盘,网络适配器模式可以选桥接模式,Vmare一共有几种模式
桥接模式什么概念,我的虚拟机和本地,我们两个肯定是在同一个网段,网关也好,DNS也好,肯定都是一致的,只不过
是我们两个的IP不一样,但是网段肯定是在一个网段的,这样我们就可以通过本地区访问远程的,我的虚拟机,并且
桥模式的打开的还是那块网卡,一般使用桥接或者 host-only,如果使用 NAT,根据不同的模式选择不同的连接
方式,底层的通信是不一样的, hostonly表示虚拟机可以和本地拼通,虚拟的4个是没有网络的,不能访问外网,
也就是hostonly仅主机,仅仅虚拟机之间能够连接通,跟我自己的主机主节点也能连通,但是主机能访问了无所谓,
hostonly就是虚拟化出来的不能访问外网,还有一种模式叫NAT,用于共享主机的IP地址, NAT网络地址转换
Network Address Translation,主机可以访问虚拟机,举个场景吧,比如说静态ip 192.168.1.*,比如在家里
做一个集群,我举个例子比如家里的ip是 192.168.1.100,可能一开始桥接的模式,本地是windows,===>
192.168.1.21/22/23 三个节点,来一个zookeeper集群,总之是一个集群,21,22,23三个节点,相互之间能够访问
并且外网访问,然后本机也可以和虚拟机连通,这回我又去公司了,假如我们公司提供的不是1网段的,比如
192.168.2.85 网段的,比如说在公司,好不容易昨天网上搭建环境做了一个实验,搭建好了一个集群,上班的时候
就像用一个集群去做压力测试,学习API看一下,你原先1网段的东西,和你现在2网段的东西肯定连不上了,因为你
之前的桥接模式是连不上的,这个时候你就需要我们的NAT模式,网络转换的模式,你要配置vmnet8这块网卡,
才能用21,22,23,然后虚拟机需要选择NAT模式才行,也就实现虚拟机,在家里部署一次,然后到公司是2网段了,
我只需要用NAT模式就行了,虚拟网络编辑器,发现默认提供三种方式,wmnet0是桥接,vmnet1是hostonly,
vmnet8是NAT模式的,net0是桥,但是在这之前有几个事在这里要设置,首先子网IP是什么意思,是在你自己虚拟
网络上的IP,比如你都是119网段的,我的虚拟机都是119.1,119.2,119.3,你规划一下你的子网是什么,
如果你虚拟机已经配好了,网关应该是和你搭建好的虚拟机一致的,我网关是2的话,你所有的虚拟节点,将本地的
IP地址分配给虚拟机,我想分配多少个,这个你自己去设,你可接受的IP是有限的,比如你的机器想换nat模式的话
刚才我们扯的都是系统虚拟机,现在我们来扯一下程序虚拟机,最典型的就是JAVA虚拟机,就是JVM,
一个是面向操作系统的,一个是面向程序的,我们很多这种脚本的语言,python,ruby,其他的groovy一堆,
都可以往JVM上扔,包括JVM可以跨平台,我在其他的平台上都可以去跑,在JAVA虚拟机中执行的指令就是我们
成为JAVA字节码指令,无论是系统虚拟机还是程序虚拟机,在上面运行的软件都被限制于虚拟机提供的资源中,
当今的JAVA已经有很多的虚拟机,当然JAVA虚拟机也有很多款,比较古老的就是SUN出品的,
你可以通过 java -version 命令可以查看到都是 HotSpot 的虚拟机
现在都是这种,HotSpot都被Oracle收入旗下,大有整合的趋势,还有BEA的Rocket.Oracle现在就是干整合这个事