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虚拟网络编辑器中的设置如下

VMware跨电脑移动Linux虚拟机

NAT设置里的内容如下

VMware跨电脑移动Linux虚拟机

简单解释下上述设置什么意思。我们可以这样想象,假如我们现在刚组好一套房子,墙壁上提供
一个网口,大致分为如下几个步骤:

  1. 交钱给房东,把墙上的网口激活。
  2. 买2根网线,1个路由器,用一根网线把路由器和墙壁上的网口相连。
  3. 用另一根网线,把笔记本和路由器相连。
  4. 开始访问互联网。

以上步骤有所简化,不用细究。

现在如果我们打开windows命令行输入ipconfig就可以看到我们的网络参数,其中比较重要
的几项内容如下:

  1. 默认网关,这就是我们路由器的IP地址,别人和我们通信时,先找到我们的路由器,然后再
    进一步找到,我们的计算机。
  2. IP地址,就是我们自己机器的本地编号。
  3. 子网掩码,这是用来识别哪些机器与我们时同一个局域网,在家庭网络情况中,就是插在同
    一个路由器上的机器,比如子网掩码是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系统时,建议在如下界面就配置好相应网络参数

VMware跨电脑移动Linux虚拟机

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

VMware跨电脑移动Linux虚拟机

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

VMware跨电脑移动Linux虚拟机

配置标准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,然后关机,打开虚拟机配置文件
夹,开始压缩。

配置文件路径

VMware跨电脑移动Linux虚拟机

VMware跨电脑移动Linux虚拟机

上面是我的配置,实际安装路径按照自己的来,确认虚拟机关机后,压缩整个std目录。

使用压缩好的虚拟机包

在使用时解压,并使用vmware软件打开std.vmx文件,vmware软件版本最好对应进入虚拟机
之后还需要再配置一下网络参数,否则很容易出现网卡无法重启的故障,自然Xshell更无法连
接了。

打开虚拟机时出下如下界面,点击我已复制该虚拟机。

VMware跨电脑移动Linux虚拟机

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

VMware跨电脑移动Linux虚拟机

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

VMware跨电脑移动Linux虚拟机

接下来清空/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虚拟机

上一篇:oracle 权限管理


下一篇:mysql数据库迁移到达梦数据库