VMware跨电脑移动Linux虚拟机
环境:VMware-Workstation-12-Pro,Windows-10,CentOS-6.9-x86_64,Xshell5
概况
vmware自带的快照,克隆功能,都可以实现备份虚拟机的功能,以备日后出故障后恢复。但现在
我们希望实现这样一种需求:全新安装CentOS6.9系统,并做好各种优化,然后把该系统压缩成一
压缩包,以后任何时刻虚拟机有故障时,只需解压此压缩包,双击里面的.vmx文件,即可打开
我们曾经备份好的虚拟机,当然此压缩包也可以放到U盘,移动到其它电脑中使用。
总体来说非常简单,只要进入到虚拟机的安装目录,把所有文件打包压缩一下即可,只是后续使用
时,有些网络上的配置,需要重新设置一下。
全新安装Linux虚拟机常用优化
在vmware中安装虚拟机基本就两个地方需要着重设置,分区和网络。
分区配置
分区采用如下方案即可
swap 768M
/boot 200M
/ 剩余所有
网络配置
网络设置部分是重中之重,设置有误,很容易出现,移植后的虚拟机,无法访问互联网,无法连
接Xshell等故障,那么移植也就失败了,这里我们选择静态IP地址+NAT的上网方案。
vmware虚拟网络编辑器中的设置如下

NAT设置里的内容如下

简单解释下上述设置什么意思。我们可以这样想象,假如我们现在刚组好一套房子,墙壁上提供
一个网口,大致分为如下几个步骤:
- 交钱给房东,把墙上的网口激活。
- 买2根网线,1个路由器,用一根网线把路由器和墙壁上的网口相连。
- 用另一根网线,把笔记本和路由器相连。
- 开始访问互联网。
以上步骤有所简化,不用细究。
现在如果我们打开windows命令行输入ipconfig就可以看到我们的网络参数,其中比较重要
的几项内容如下:
- 默认网关,这就是我们路由器的IP地址,别人和我们通信时,先找到我们的路由器,然后再
进一步找到,我们的计算机。 - IP地址,就是我们自己机器的本地编号。
- 子网掩码,这是用来识别哪些机器与我们时同一个局域网,在家庭网络情况中,就是插在同
一个路由器上的机器,比如子网掩码是255.255.255.0,就代表只要是前3段地址和我们
的IP一样,就是一个局域网内的。
由以上分析可见,物理机要想上网,需要一台物理路由器,那么虚拟机需要上网,也需要一台虚
拟路由器,没错NAT就是这个虚拟路由器,在虚拟网络编辑器中,我们为这个虚拟路由器配置了
如下参数:
子网IP: 10.0.0.0
子网掩码: 255.255.255.0
网关: 10.0.0.254
这三个参数表示什么含义呢,首先网关就是路由器的IP地址,为什么是254呢,这是一个习惯用
法,网关不能是10.0.0.255也不能是10.0.0.0,这两个地址都有特殊用途,因此1~254
之间的任意一个地址都可以用来作为网关,通常为了方便管理会选择254,子网和子网掩码配合
告诉我们Linux虚拟机里的IP地址只能配置成10.0.0.1~10.0.0.253,为什么是这样,把子
网掩码转成二进制,前面是24个1,后面是8个0,因此表示子网前24位不能动,作为网络地址,
在去掉两个特殊地址和一个用作路由器的地址。
详细内容需可进一步了解,子网,子网掩码,网关,网络号,主机号,广播地址,网络地址
分析了这么多,主要就是为了告诉读者,上述配置不是一成不变,切勿当成定律一样照搬照抄,
比如网关还可以配置成192.168.1.254,子网掩码255.255.255.0,这样我们虚拟机里
静态IP地址就可以配置成192.168.1.1~192.168.1.253
如果反复高频率改动虚拟网络编辑器里的设置,可能会出现确实配置正确但就是无法访问互联网
的情况,此时可以使用虚拟网络编辑器>>还原默认设置,重置网络配置。
在安装CentOS6.9系统时,建议在如下界面就配置好相应网络参数

注意IP地址不要和其它虚拟机重复了,否则就会出现如下错误

最后配置以下DNS,然后/etc/init.d/network restart重启网卡,ping测试下网络是否连通,
参考配置如下

配置标准yum源和epel
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.aliyun.com/repo/Centos-6.repo
wget http://mirrors.aliyun.com/repo/epel-6.repo
阿里云镜像 https://opsx.alibaba.com/mirror
添加一个普通用户oldboy
useradd oldboy
echo '123456' | passwd --stdin oldboy
关闭SELinux
setenforce 0
sed -i '/^SELINUX=/ s#enforcing#disabled#g' /etc/selinux/config
关闭iptables
/etc/init.d/iptables stop
chkconfig iptables off
安装常用软件
lrzsz - 这个软件可以实现虚拟机与主机互相交换文件。
tree - 树形显示文件
yum install lrzsz tree -y
关闭不需要的开启自启项
只保留crond,sshd,network,rsyslog,sysstat其余服务都关闭
for name in `chkconfig | awk '{print $1}' | \
egrep -v 'crond|sshd|network|rsyslog|sysstat'`; \
do chkconfig $name off; done
配置常用的环境变量
[root@oldboy-50 ~]# tail /etc/profile
# export PS1='[\u@\h \W]\$ '
export PS1='\e[32m[\u@\h \W]\$ \e[0m'
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias mydate='date +%F\ %T'
alias ntp-aliyun='ntpdate ntp1.aliyun.com'
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@oldboy-50 ~]# source /etc/profile
历史命令记录改为1万条
sed -i '/^HISTSIZE=1000$/ s#1000#10000#g' /etc/profile
配置主机名和解析
# hostname as4k
# vim /etc/sysconfig/network
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=as4k
# vim /etc/hosts
# tail -1 /etc/hosts
10.0.0.66 as4k
可以断开Xshell重连,ping as4k测试。
添加vim配置文件
[root@as4k ~]# cat ~/.vimrc
set tabstop=4
set shiftwidth=4
set expandtab " 使用空格替换TAB
set nocompatible " 关闭兼容模式(无需兼容vi)
set showcmd " 输入的命令显示出来,看的清楚些
hi MatchParen ctermbg=Black guibg=lightblue
" Must Exists
把虚拟机文件打包压缩
全部按照自己的想法优化完毕之后,建议重启确下是否一切OK,然后关机,打开虚拟机配置文件,
夹,开始压缩。
配置文件路径


上面是我的配置,实际安装路径按照自己的来,确认虚拟机关机后,压缩整个std目录。
使用压缩好的虚拟机包
在使用时解压,并使用vmware软件打开std.vmx文件,vmware软件版本最好对应进入虚拟机
之后还需要再配置一下网络参数,否则很容易出现网卡无法重启的故障,自然Xshell更无法连
接了。
打开虚拟机时出下如下界面,点击我已复制该虚拟机。

第1次进入虚拟机会发现,找不到eth0网卡,不要慌,往下看。

编辑/etc/sysconfig/network-scripts/ifcfg-eth0,把下图中白线的部分删除,即UUID
和HWADDR,这两个都和硬件地址相关,删除后重启机器系统会自动建立,这里也可把IP地址顺手
修改成自己想要的。

接下来清空/etc/udev/rules.d/70-persistent-net.rules这个文件,这里面的内容也是和
硬件地址相关的,重启及机器后也会自动重新创建。
> /etc/udev/rules.d/70-persistent-net.rules
重启机器shutdown -r now,移植操作到此完毕,此后即可正常使用。
有时可能需要删除
\rm /etc/udev/rules.d/70-persistent-net.rules
VMware跨电脑移动Linux虚拟机的更多相关文章
- 如何在VMware workstation上创建Linux虚拟机
由于需要使用Linux虚拟机部署Hadoop集群,故在win10系统上安装了VMware workstation 14,现将介绍如何在VMware workstation上创建Linux虚拟机.下面以 ...
- VMware Workstation 安装以及Linux虚拟机安装 指北
最近有挺多小伙伴跟我说起虚拟机这个东西,所以,今天就给大家写一篇虚拟机安装使用指北吧. 虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台 ...
- 【原创】VMWare克隆或复制Linux虚拟机后无法上网的解决
如果选择桥接,需要设置网卡通过哪个物理网卡桥接,桥接代表当前虚拟机通过本机的网卡直接连到网络中,本机网卡作为一个交换机直连.因此需要确定使用哪个网卡桥接,一般在单网卡的时候选择自动即可,多网卡时需要指 ...
- 电脑本机ping通Linux虚拟机的方法
一.安装VMware: 二.创建Linux虚拟机(centOS7): 三.开启虚拟机,在Linux桌面右键打开终端,输入查看虚拟机ip地址的命令:ifconfig -a 四.打开本机cmd窗口, ...
- 在 Linux 虚拟机中手动安装或升级 VMware Tools
对于 Linux 虚拟机,您可以使用命令行工具手动安装或升级 VMware Tools. 本次Linux 虚拟机为CentOS6.5 先决条件开启虚拟机.确认客户机操作系统正在运行.由于 VMware ...
- 利用 Vmware 安装 Linux 虚拟机
之前写过一篇利用MS系的 Hyper-v 安装 Ubuntu 的教程,这里给出使用 Vmware 安装 Linux 的教程.(ps:Hyper-v 的体验感不太好,而且不够大众化) 1.准备工作 1. ...
- VMWare中Linux虚拟机设置静态IP上网的设置方法
VMWare中Linux虚拟机设置静态IP上网的设置方法 标签: vmwareLinux虚拟机securecrt静态IP上网 2016-05-18 02:30 702人阅读 评论(0) 收藏 举报 ...
- Vmware 下安装linux虚拟机
由于想自己玩玩linux系统,就想着装一个linux的虚拟机,虚拟机vmware很好找,也很好用,但是linux镜像安装老是出问题,然后就找了很多版本的,最后实验成功一种,在这里分享给大家. 一.安装 ...
- Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]
Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT.桥接和Host-only] 作者:天齐 一.Windows和linux虚拟机之间联网实现SSH远程连接 ...
随机推荐
- [kfaka] Apache Kafka:下一代分布式消息系统
简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...
- 0060 Spring MVC的数据类型转换--ConversionService--局部PropertyEditor--全局WebBindingInitializer
浏览器向服务器提交的数据,多是字符串形式,而有些时候,浏览器需要Date.Integer等类型的数据,这时候就需要数据类型的转换器 使用Spring的ConversionService及转换器接口 下 ...
- ASP.Net MVC开发基础学习笔记(7):数据查询页面
前言 前面铺垫了那么多,今天我们就用MVC5 + EF6 + Bootstrap3来正式创建一个基本查询页面. 为什么从查询页面開始?嘿嘿.由于小弟的.Net生涯就是从查询页面開始的,记得正式工 ...
- swift - UILabel的用法
1.label的声明 class FirstyViewController: UIViewController { var label = UILabel()//初始化 override func v ...
- 转:Android文件操作总结
http://www.cnblogs.com/devinzhang/archive/2012/01/19/2327597.html http://blog.sina.com.cn/s/blog_5a4 ...
- Hash表 hash table 又名散列表
直接进去主题好了. 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据key而直接进行访问的数据结构.也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度.这个映射函 ...
- 使用命令wsimport构建WebService客户端
原文:http://www.cnblogs.com/ningvsban/p/3760085.html wsimport命令介绍 在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据w ...
- 第二篇:一个经典的比喻( 关于TCP连接API )
前言 编程是对现实世界的模拟,网络通信自然也是对现实世界通信的模拟.可以将网络通信中使用的各种API和对现实世界中的各种通信设备进行通讯的操作进行对比以加深理解. 对比 socket() 函数 vs ...
- 使用vue-cli结合express获取mongodb里面的数据
最近一直在看node有关的内容,空闲时间做了一个小小的爬虫,用于爬取电影天堂的数据然后写到mongodb里面,代码地址:https://github.com/fangming666/dianyingt ...
- Core Location和MapKit的一些简单使用
Core Location 1. 基本对象是CLLocation,有属性coordinate, altitude, horizontal/vertical Accuracy, timestamp, ...