在实际开发中我们经常会遇到很多预料之外的bug可能对操作系统有一定影响,从虚拟机作用来看可以帮助我们测试开发程序并避免重新安装某些软件,同时这是一个独立的环境保密性较高利于保护开发资料。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。一般情况下我们的电脑只能运行一个操作系统,可能会因为工作或者学习的需要,我们希望使用其它的操作系统,但是不可能将自己 windows 操作系统更换成其它操作系统,在这种情况下就可以使用虚拟机来解决这个问题,在同一台电脑同时运行多个操作系统。
虚拟机软件会从电脑资源中分出一部分的CPU、内存、硬盘存储…等等,然后虚拟机软件把这些资源整合,组成了一台 “虚拟的电脑” 。在虚拟机上可以随意的运行其它操作系统,随意使用并不会对电脑正常系统产生影响,可以根据要求,随意分配内存。虚拟机系统和电脑所谓的“真机”环境是隔离的,用虚拟机操作,更随意,不用担心损坏系统而需要重做系统,即使虚拟机崩了,也不会对电脑自身造成影响,可以将虚拟出来的操作系统看作是另外一台电脑使用。
目前常见的虚拟机软件分别是 VMware 和 Virtualbox 。
官网:https://www.vmware.com/
VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMware采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。
主要特性:使用Unity来集成客户机与宿主机,更加强大的VM录制与回放功能,支持智能卡和相关读卡器,增强型ACE,改进型3D图形支持
主要功能:不需要分区或重开机就能在同一台PC上使用两种以上的操作系统。完全隔离并且保护不同OS的操作环境以及所有安装在OS上面的应用软件和资料。不同的OS之间还能互动操作,包括网络、周边、文件分享以及复制粘贴功能。有复原(Undo)功能。能够设定并且随时修改操作系统的操作环境,如:内存、磁碟空
间、周边设备等等。热迁移,高可用性
。
官网: https://www.virtualbox.org/
是一款开源虚拟机软件。VirtualBox 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 释出 VirtualBox,并提供二进制版本及 OSE 版本的代码。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。已由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部分。
VirtualBox号称是最强的免费虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。它简单易用,可虚拟的系统包括Windows(从Windows 3.1到Windows 10、Windows Server 2012,所有的Windows系统都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统。使用者可以在VirtualBox上安装并且运行上述的这些操作系统。 与同性质的VMware及Virtual PC比较下,VirtualBox独到之处包括远端桌面协定(RDP)、iSCSI及USB的支持,VirtualBox在客户端操作系统上已可以支持USB 3.0的硬件装置,不过要安装 VirtualBox Extension Pack。
主要特性:免费、开源、轻量高效、多国语言 (含中文),任何人都可以借助它轻松在一台电脑上同时运行多个不同的操作系统!如在 macOS 上虚拟运行 Win10、在Win7 上安装 CentOS、在Win8上虚拟 XP、在 Ubuntu 上跑 Win 8 等等,完全可以满足大家工作、学习、开发甚至是玩游戏等需求。
主要功能:VirtualBox提供了一个组功能,使用户可以单独组织和控制虚拟机。除了基本组之外,任何VM也可以在多个组中,并且组可以嵌套在层次结构中,即组的组。通常,可以对组执行的操作与可应用于各个虚拟机的操作相同,即启动,暂停,重置,关闭(保存状态,发送关机,关机),丢弃保存状态,在文件系统中显示,排序。
官网:https://www.centos.org/
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS完全开源
硬件需求
CentOS对硬件配置的要求相对较低。就CentOS7而言,目前再用的大部分PC都能安装。
当前CentOS最新版本为CentOS8,主流版本为CentOS7和CentOS6,仍然有部分老机器采用CentOS5及更低版本的CentOS。CentOS8基于Fedora 28和内核版本4.18、CentOS7则使用了3.10版本的Linux内核。CentOS6使用2.6版本的内核
目前Docker、OpenStack等主流云计算软件在CentOS6上的兼容性不太好,CentOS8具有混合云时代的所有强大的新特性和增强功能
CentOS ISO类型
DVD ISO:标准安装版
Everything ISO:对完整版安装盘的软件进行补充,集成所有软件
Minimal ISO:安装一个非常基本的系统,具有一个功能系统所需的最少的软件包
有时候我们希望在每个节点对虚拟机进行备份,预防系统出现问题不至于重头再来,这里备份的方式有两种,一种是克隆,一种是快照。
对某一个特定文件系统在某一个特定时间内的一个具有只读属性的镜像。当你需要重复的返回到某一系统状态,又不想创建多个虚拟机的时候,就可以使用快照功能。
一个虚拟机的克隆就是原始虚拟机全部状态的一个拷贝,或者说一个镜像。克隆的过程并不影响原始虚拟机,克隆的操作一但完成,克隆的虚拟机就可以脱离原始虚拟机独立存在,而且在克隆的虚拟机中和原始虚拟机中的操作是相对独立的,不相互影响。克隆过程中,VMware会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突。 VMware支持两种类型的克隆: 完整克隆、链接克隆
点击 产品下载
我们要下载的是 VMware 里面的虚拟机软件,在搜索框中输入 vmware Workstation Pro ,就能看到不同版本的 Vmware虚拟机软件,选择你想要下载的版本,比如说我就选择最新版本 vmware workstation pro 16 ,点击搜索
接下来点击 DOWNLOAD NOW
在这里我们需要注意的是,这里它会给我一个默认的安装地址,是安装到 C 盘的,你可以选择你想要安装的路径,点击 更改 后即可选择目录,别放在带有中文或者特殊字符的目录下,我就把它放到之前创建的 VMware-workstation 文件夹中,其余步骤点击下一步即可
安装完成
为了验证虚拟机是否安装成功,可以通过以下步骤查看,点击更多网络适配器选项
如果在网络连接窗口中看到这两个连接设备就说明虚拟机安装成功了
打开官网,这里选择 CentOS Linux 版
进入以下页面之后,点击箭头所指的地方
就会展示 CentOS-Linux 的镜像列表,找一个镜像去下载 CentOS
首先 创建新的虚拟机
配置类型的话就选择 典型(推荐) 然后 下一步
选择 稍后安装操作系统(s)
客户机操作系统勾选 Linux(L) ,版本选择你 iso镜像文件 对应的版本,我这里就是 CentOS 7 64位 了,再点击 下一步
这里需要给你的虚拟机起个名字,它默认是下载到 C 盘的,这里建议不要放在 C 盘下
指定磁盘容量,默认是 20GB,勾选 将虚拟磁盘拆分成多个文件(M) ,点击 下一步
点击 自定义硬件©…
点击 新 CD/DVD(IDE) ,右边会出现 设备状态 和 连接 的一些配置,在 连接 配置下勾选 使用 ISO 映像文件(M),点击 游览 ,选择你之前下载好的 CentOS 7 映像文件 ,再 关闭 该硬件窗口
这时你就能在 VMware Workstation 的主页面看到你刚刚新建好的虚拟机了!
选择语言,此处选择中文,安装过程中界面显示是中文
软件选择项选择最小安装,其他的根据提示完成即可
设置ROOT密码,统一设置为123456
等待安装完成重启即可
关闭虚拟机
VMware虚拟机–编辑–虚拟网络编辑器–选择NAT模式–NAT设置–网关IP(192.168.67.2)
右键VMnet8虚拟网卡–属性–网络–Internet协议版本4(TCP/IPv4)
此处要使用手动设置IP,此处IP和之前看到网关地址需一致
把IP地址设置为192.168.67.110
网关和之前看到网关地址保持一致192.168.67.2
将虚拟机文件夹复制三份,并分别为node01,node02,node03
重新生成Mac地址,在虚拟机关机的情况下右键–设置–硬件-网络适配器-NAT模式–高级–Mac地址–生成
启动3台虚拟机,设置IP地址,修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改如下:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.67.110
NETMASK=255.255.255.0
GATEWAY=192.168.67.2
DNS1=8.8.8.8
DNS2=114.114.114.114
systemctl restart network
验证是否网络通畅
ping Baidu.com
电脑如何开启虚拟化?
现在大部分电脑都是默认支持虚拟化的,但是有些电脑是不是,这个时候就需要开启 电脑的虚拟化
大概过程就是:
开启 / 重启 电脑时打开 BIOS (不同的电脑开启 BIOS 的方式可能不同)
找到 Virtualization 配置,将其设置为 【Enabled】,并且保存
重启 电脑