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設置里的內容如下

簡單解釋下上述設置什么意思。我們可以這樣想象,假如我們現在剛組好一套房子,牆壁上提供
一個網口,大致分為如下幾個步驟:

  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系統時,建議在如下界面就配置好相應網絡參數

注意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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM