『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用
快照和克隆是VMware中两个非常实用的功能。上一篇文章已经说过了快照。
1、什么是克隆
在VMware软件中,克隆和快照功能很相像,但又不同。一个虚拟机的克隆就是原始虚拟机全部状态的一个拷贝,或者说一个镜像。
克隆的过程并不影响原始虚拟机,克隆的操作一但完成,克隆的虚拟机就可以脱离原始虚拟机独立存在,而且克隆出来的虚拟机和原始虚拟机中的操作是相对独立的,不相互影响。
克隆过程中,VMware会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突的原因。
2、克隆的两种类型
VMware支持两种类型的克隆: 完整克隆、链接克隆。
(1)完整克隆
一个完整克隆是和原始虚拟机完全独立的一个拷贝,它不和原始虚拟机共享任何资源。 可以脱离原始虚拟机独立使用。
(2)链接克隆
一个链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却大大缩短了创建克隆虚拟机的时间,同时还节省了宝贵的物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。
3、克隆操作
当我需要多个虚拟机进行实验的时候。没有必要在重新安装多个Linux系统,直接使用克隆就行。
步骤一:克隆虚拟机
操作:虚拟机—>管理—>克隆。

步骤二:进行克隆导向
(1)进入克隆导向,下一步。

(2)选择克隆状态。
你可以选择克隆虚拟机的当前状态,可以选择一个快照状态进行克隆。
我们选择克隆虚拟机当前状态到一个新的虚拟机。

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

- 链接克隆
优势是,克隆出来的虚拟机占用资源很少,随着系统的不断使用,所占用的空间会不断增加,但是也比完整克隆所占空间少很多。
劣势是,需要源虚拟机一直存在,如果源虚拟机被删除,从这个源虚拟机克隆出来的链接克隆就都不能用了。 - 完整克隆
是克隆出一个所占空间和源虚拟机一样大小的虚拟机,所占空间很大。但是源虚拟机删除了,不影响该虚拟机克隆出来的虚拟机。 - 总结:自己的实验环境,推荐用链接克隆就可以。
(4)填写克隆虚拟机的名称和存储位置,完成虚拟机的创建。

注意:克隆出来的虚拟机和源虚拟机,不管哪种方式克隆,两台虚拟机是完全独立的。
3、快照与克隆的区别
| 总结 | 快照 | 克隆 |
|---|---|---|
| 创建时间 | 不限 | 虚拟机关机时才可以 |
| 创建数量 | 不限 | 不限 |
| 占用磁盘空间 | 由创建的数量决定,较小 | 由创建的数量决定,完整克隆较大 |
| 用途 | 保存虚拟机某一时刻状态 | 分发创建的虚拟机 |
| 是否独立 | 不能脱离原始虚拟机独立运行 | 链接克隆:部分脱离,完整克隆:完全脱离 |
| 能否同时使用 | 不能 | 克隆的虚拟机可以和原始虚拟机同时使用 |
| 是否网络使用 | 不能 | 生成和原始虚拟机不同的MAC地址和UUID,网络中可以同时使用 |
4、镜像的管理
无论是快照还是克隆,都是对虚拟机的一个状态生成了一个镜像。不同的是这个镜像是作为虚拟机的一部分存在还是作为独立的部分存在。
总之,我们可以通过VMware创建多个镜像,用以保存虚拟机不同时期的状态。
这么多的镜像我们如何管理呢?
VMware提供了一个管理镜像和快照的快照管理器。
在快照管理器中,快照树形象的显示出当前多个快照的层次结构。单击管理其中任何一个镜像,都可以为这个镜像起一个形象的名字,写一些必要的注释,还能够删除快照,也能够基于选中的快照创建出一份新的克隆。
有了快照管理器,快照的管理也就容易了。下图是快照管理器截图。

『学了就忘』Linux基础 — 10、VMware虚拟机中克隆的使用的更多相关文章
- 『学了就忘』Linux基础 — 9、虚拟机中快照的使用
目录 1.快照的含义 2.快照的使用 步骤一:创建拍摄快照 步骤二:填写快照信息并创建 步骤三:查看快照 步骤四:操作快照 3.管理虚拟机小技巧 4.关于快照说明 快照和克隆是VMware中两个非常实 ...
- 『学了就忘』Linux基础 — 8、虚拟机网络模式说明
目录 1.虚拟机网卡 2.网络连接模式对应工作的网卡 3.桥接模式说明 4.补充说明 这篇主要总结一下虚拟机网络配置中桥接模式.NAT模式和仅主机模式的区别. 打开VMware,选中虚拟机,点击网络适 ...
- 『学了就忘』Linux基础 — 6、VMware虚拟机安装Linux系统(超详细)
目录 1.打开VMware虚拟机软件 2.选择Linux系统的ISO安装镜像 3.开启虚拟机安装系统 (1)进入Linux系统安装界面 (2)硬件检测 (3)检测光盘 (4)欢迎界面 (5)选择语言 ...
- 『学了就忘』Linux基础 — 7、补充:安装Linxu系统时设置硬盘挂载说明
目录 (1)新建一个/home分区 (2)再创建一个/boot分区. (3)创建一个swap分区 (4)最后剩余的空间全部分给根目录 (5)总结 上一篇在VMwar虚拟机中安装Linux操作系统中ht ...
- 『学了就忘』Linux基础命令 — 38、Linux中光盘的挂载
目录 步骤一:创建一个空目录 步骤二:找到光盘的设备文件名称 步骤三:挂载光盘 步骤四:访问关盘中的数据 步骤五:卸载挂载点 问题:挂载点为什么要使用空目录 提示:关于Linux系统中光盘的挂载,我们 ...
- 『学了就忘』Linux基础命令 — 25、文件基本权限的管理
目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...
- 『学了就忘』Linux基础 — 1、UNIX系统介绍
目录 (一)UNIX系统介绍 1.UNIX系统发展历史 2.UNIX 主要发行版本 (二)GNU计划 1.GNU计划介绍 2.为何Stallman会发起这个GNU计划呢? 3.GNU的通用公共许可证: ...
- 『学了就忘』Linux基础 — 5、使用VMware创建虚拟机
目录 1.在VMware中创建虚拟机 (1)点击[创建新的虚拟机]. (2)选择系统安装方式 (3)选择客户机操作系统 (4)自定义虚拟机的名称和安装位置. (5)指定系统硬盘容量 (6)完成创建 2 ...
- 『学了就忘』Linux基础 — 11、通过setup工具配置Linux系统IP地址
目录 1.setup命令介绍 2.使用setup命令配置IP (1)执行setup命令 (2)进入图形化配置界面 (3)选择配置IP还是DNS (4)选择要配置的网卡 (5)进入IP地址配置页面 (6 ...
随机推荐
- "指针"和"引用"大对比
相同点: 都能够直接引用对象,并对对象进行操作. 不同点: 指针 引用 指针类型的变量能够保存一个对象的地址 引用是一个对象的别名 可以为空nil,可以不初始化 不可以为空nil,必须初始化 当设计一 ...
- c# 扩展方法奇思妙用基础篇九:Expression 扩展
http://www.cnblogs.com/ldp615/archive/2011/09/15/expression-extension-methods.html .net 中创建 Expressi ...
- Electron-vue项目使用 Inno Setup 创建安装包
1.安装 Inno Setup 官网:https://jrsoftware.org/isinfo.php 2.打开 Inno Setup ,点击如下图Compli32.exe(首次安装默认打开) 3. ...
- 网络前置任务(Pretext task)和下游任务(downstream tasks)
Pretext task 可以理解为是一种为达到特定训练任务而设计的间接任务. 比如,要训练一个网络来对 ImageNet 分类,可以表达为 $f_{\theta}(x): x \rightarrow ...
- CodeForce-811C Vladik and Memorable Trip(动态规划)
Vladik and Memorable Trip CodeForces - 811C 有一个长度为 n 的数列,其中第 i 项为 ai. 现在需要你从这个数列中选出一些互不相交的区间,并且保证整个数 ...
- python字典时间日期
字典时间日期 学习完本篇,你将会深入掌握 字典操作. 1.如何新建一个字典 2.如何正序以及反序访问字典 3.如何更新字典元素 4.如何删除字典 日期时间操作 1.如何打印一个2021-9-20 17 ...
- Rust之旅 02.通过例子学习自定义类型
本期文章接上期继续讲述Rust语言中的数据类型,Rust自定义数据类型主要是通过下面这两个关键字来创建: 结构体( struct ): 定义一个结构体(structure) 枚举( enum ): 定 ...
- Java学习之随堂笔记系列——day04
今日内容1.break和continue关键字以及循环嵌套 1.1 break和continue的区别? continue表示跳过当前循环,继续执行下一次循环break表示结束整个 ...
- command ' cl.exe' failed: No such file or directory解决办法
1.安装C ++编译器 https://pan.baidu.com/s/1D1-tM-mWO4TVLdTrh3k1GA 提取码:ym67 2.找到安装文件夹:Visual C++ Build T ...
- JavaScript 获取html元素
1.通过ID获取: document.getElementById("idname"); 2.通过class.tagname获取: var wcyclass = document. ...