快照和克隆是VMware中两个非常实用的功能。上一篇文章已经说过了快照。

1、什么是克隆

在VMware软件中,克隆和快照功能很相像,但又不同。一个虚拟机的克隆就是原始虚拟机全部状态的一个拷贝,或者说一个镜像。

克隆的过程并不影响原始虚拟机,克隆的操作一但完成,克隆的虚拟机就可以脱离原始虚拟机独立存在,而且克隆出来的虚拟机和原始虚拟机中的操作是相对独立的,不相互影响。

克隆过程中,VMware会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突的原因。

2、克隆的两种类型

VMware支持两种类型的克隆: 完整克隆、链接克隆。

(1)完整克隆

一个完整克隆是和原始虚拟机完全独立的一个拷贝,它不和原始虚拟机共享任何资源。 可以脱离原始虚拟机独立使用。

(2)链接克隆

一个链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却大大缩短了创建克隆虚拟机的时间,同时还节省了宝贵的物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。

3、克隆操作

当我需要多个虚拟机进行实验的时候。没有必要在重新安装多个Linux系统,直接使用克隆就行。

步骤一:克隆虚拟机

操作:虚拟机—>管理—>克隆。

步骤二:进行克隆导向

(1)进入克隆导向,下一步。

(2)选择克隆状态。

你可以选择克隆虚拟机的当前状态,可以选择一个快照状态进行克隆。

我们选择克隆虚拟机当前状态到一个新的虚拟机。

(3)选择创建链接克隆还是完整克隆。

  • 链接克隆

    优势是,克隆出来的虚拟机占用资源很少,随着系统的不断使用,所占用的空间会不断增加,但是也比完整克隆所占空间少很多。

    劣势是,需要源虚拟机一直存在,如果源虚拟机被删除,从这个源虚拟机克隆出来的链接克隆就都不能用了。
  • 完整克隆

    是克隆出一个所占空间和源虚拟机一样大小的虚拟机,所占空间很大。但是源虚拟机删除了,不影响该虚拟机克隆出来的虚拟机。
  • 总结:自己的实验环境,推荐用链接克隆就可以。

(4)填写克隆虚拟机的名称和存储位置,完成虚拟机的创建。

注意:克隆出来的虚拟机和源虚拟机,不管哪种方式克隆,两台虚拟机是完全独立的。

3、快照与克隆的区别

总结 快照 克隆
创建时间 不限 虚拟机关机时才可以
创建数量 不限 不限
占用磁盘空间 由创建的数量决定,较小 由创建的数量决定,完整克隆较大
用途 保存虚拟机某一时刻状态 分发创建的虚拟机
是否独立 不能脱离原始虚拟机独立运行 链接克隆:部分脱离,完整克隆:完全脱离
能否同时使用 不能 克隆的虚拟机可以和原始虚拟机同时使用
是否网络使用 不能 生成和原始虚拟机不同的MAC地址和UUID,网络中可以同时使用

4、镜像的管理

无论是快照还是克隆,都是对虚拟机的一个状态生成了一个镜像。不同的是这个镜像是作为虚拟机的一部分存在还是作为独立的部分存在。

总之,我们可以通过VMware创建多个镜像,用以保存虚拟机不同时期的状态。

这么多的镜像我们如何管理呢?

VMware提供了一个管理镜像和快照的快照管理器。

在快照管理器中,快照树形象的显示出当前多个快照的层次结构。单击管理其中任何一个镜像,都可以为这个镜像起一个形象的名字,写一些必要的注释,还能够删除快照,也能够基于选中的快照创建出一份新的克隆。

有了快照管理器,快照的管理也就容易了。下图是快照管理器截图。

参考:https://www.cnblogs.com/zxz1987/p/6480833.html

『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用的更多相关文章

  1. 『学了就忘』Linux基础 — 9、虚拟机中快照的使用

    目录 1.快照的含义 2.快照的使用 步骤一:创建拍摄快照 步骤二:填写快照信息并创建 步骤三:查看快照 步骤四:操作快照 3.管理虚拟机小技巧 4.关于快照说明 快照和克隆是VMware中两个非常实 ...

  2. 『学了就忘』Linux基础 — 8、虚拟机网络模式说明

    目录 1.虚拟机网卡 2.网络连接模式对应工作的网卡 3.桥接模式说明 4.补充说明 这篇主要总结一下虚拟机网络配置中桥接模式.NAT模式和仅主机模式的区别. 打开VMware,选中虚拟机,点击网络适 ...

  3. 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)

    目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...

  4. 『学了就忘』Linux基础 — 7、补充:安装Linxu系统时设置硬盘挂载说明

    目录 (1)新建一个/home分区 (2)再创建一个/boot分区. (3)创建一个swap分区 (4)最后剩余的空间全部分给根目录 (5)总结 上一篇在VMwar虚拟机中安装Linux操作系统中ht ...

  5. 『学了就忘』Linux基础命令 — 38、Linux中光盘的挂载

    目录 步骤一:创建一个空目录 步骤二:找到光盘的设备文件名称 步骤三:挂载光盘 步骤四:访问关盘中的数据 步骤五:卸载挂载点 问题:挂载点为什么要使用空目录 提示:关于Linux系统中光盘的挂载,我们 ...

  6. 『学了就忘』Linux基础命令 — 25、文件基本权限的管理

    目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...

  7. 『学了就忘』Linux基础 — 1、UNIX系统介绍

    目录 (一)UNIX系统介绍 1.UNIX系统发展历史 2.UNIX 主要发行版本 (二)GNU计划 1.GNU计划介绍 2.为何Stallman会发起这个GNU计划呢? 3.GNU的通用公共许可证: ...

  8. 『学了就忘』Linux基础 — 5、使用VMware创建虚拟机

    目录 1.在VMware中创建虚拟机 (1)点击[创建新的虚拟机]. (2)选择系统安装方式 (3)选择客户机操作系统 (4)自定义虚拟机的名称和安装位置. (5)指定系统硬盘容量 (6)完成创建 2 ...

  9. 『学了就忘』Linux基础 — 11、通过setup工具配置Linux系统IP地址

    目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6 ...

随机推荐

  1. Python国内镜像源及报错解决方法

    国内镜像源: 阿里云:https://mirrors.aliyun.com/pypi/simple/ 清华:https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科技 ...

  2. Tars | 第8篇 TarsJava Subset最终代码的执行流程与原理分析

    目录 前言 1. SubsetConf配置项的结构 1.1 SubsetConf 1.2 RatioConfig 1.3 KeyConfig 1.4 KeyRoute 1.5 SubsetConf的结 ...

  3. jsPlumb开发流程设计器

    前言 jsPlumb是一款开源软件,但jsPlumb toolkit是收费的. 本文主要使用jsPlumb实现一些简单的流程设计功能. 基础学习 首先引入jsplumb.min.js. <scr ...

  4. Vue3.x全家桶+vite+TS-构建Vue3基本框架

    目录 一.搭建基础项目 1.vite创建项目 3.运行项目 2.环境变量设置介绍 vite配置多环境打包 二.配置Router 1.安装路由 2.配置路由 3.引入 三.配置Vuex 1.安装vuex ...

  5. 第一次用AngularJS

    1.创建指令的4种方式(ECMA) var appModule = angular.module('app', []); appModule.directive('hello', function() ...

  6. PHP的Mcrypt加密扩展知识了解

    今天我们来学习的是 PHP 中的一个过时的扩展 Mcrypt .在 PHP7 之前,这个扩展是随 PHP 安装包一起内置发布的,但是现在新版本的 PHP 中已经没有了,需要使用这个扩展的话我们需要单独 ...

  7. 让tp6显示详细的错误信息及行号

    方法一:默认情况下Ttp6不会显示错误信息,在开发环境下想要查看错误信息需要将Config目录下的app.php文件的show_error_msg改成true 但是这样显示的信息也不够完整, 要看到更 ...

  8. Park-2018论文

    太阳射电图:Solar magnetograms, EUV images, GOES X-ray flux data. Magnetograms:    http://solar-center.sta ...

  9. 怎么使用chrome浏览器查看内存是否有泄漏

    一:什么是内存泄漏 javaScript会在创建变量时分配内存并且在不适用变量时会自动的释放内存,这个释放内存的过程极为垃圾回收,程序运行需要内存,只要程序提出要求操作系统或者运行时就必须提供内存,对 ...

  10. js模块化开发 AMD CMD Commonjs

    在es6全面实行开来之前  js实现模块开发方案有: 1.AMD 异步模块开发定义  依赖前置,requireJs应用了这一规范 require([module], callback); 加载完后回调 ...