[Hyper-V][Linux]Centos 6.5 on Hyper-V 3.0 網路設定筆記
距離上次安裝 Centos 已經相隔三年了,而在最近新工作的緣故要來架設一套 Wiki 的系統,以便做一些內部資料分享的園地,因此在 Windows 2012 Hyper-V 3.0 上重新安裝一套 Centos 6.3,預計搭配 Apache & PHP & Dokuwiki 來使用。
因為下載 DVD 太花時間,因此我先下載 Centos 6.3 Net Install 的版本 ( 198MB ),基本上就是只能啟動裝程式,所有需要的檔案都在指定連到 Internet 上面安裝,反正我只是要安裝 Server,而且要安裝的東西不多,所以蠻符合我的需求。由於採用透過網路連線安裝,因此如果在 Hyper-V 一開始沒有設定使用「傳統網路介面卡」,而是使用預設的「網路介面卡」的話,可能會因為 Centos 沒有 Driver 而無法啟動。因此這個部分只要注意一下應該就可以順利安裝了。
安裝好之後,為了能讓 Virtual Machine Connection 和網路介面卡都可以正常運作,也可以放 Hyper-V 正常 Shutdown 這個新建的 Linux Guest VM,因此我們需要到微軟的網站上下載 Linux Intergration Services Version 3.4 for Hyper-V ( http://www.microsoft.com/zh-tw/download/details.aspx?id=34603 ) ,從網站上可以下載回來一個 ISO 檔案和 readme 的文件。當 Guest VM 掛在 ISO 檔案之後,就可以在 VM 裡面進行安裝,但此時如果發覺使用 mount 指令無法順利掛上 cdrom 的時候,那可能是您在啟動 VM 的時候去掛載 ISO 檔案的,此時只要下 reboot 重新開機後就可以正常掛載了。
在 Centos 下面,我們會透過以下的指令進行掛在和安裝
mount /dev/cdrom /media cd /media/RHEL63 ./install.sh
正常來說此時就可以關閉 Guest VM ,並且移除傳統網路介面卡,換成網路介面卡來運作了。但因為 Linux Kernel 2.6 之後,有加入 UDEV ( http://zh.wikipedia.org/wiki/Udev ) 的功能,因此當我們重新啟動 VM 之後,發覺會無法正常啟動網路設定,此時可以修改 /etc/udev/rules.d/70-persistent-net.rules 的設定,將原本 eth0 有特別指定特定的 MAC Address 調整為不指定,因此我們調整設定為 ( 原本 ATTR{address} 會有指令一個 MAC,此部分修改為 "?*" )
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="?*", ATTR{type}="1", KERNEL=="eth*", NAME="eth0"
另外也去修改 ifcfg-eth0 的設定檔案 ( 此檔案放在 /etc/sysconfig/network-scripts 目錄下 ),將原本有設定 HWADDR 的部份給刪除 ( 因為 VM 更換網卡會重新配置一個新的 MAC Address ),這樣應該就可以解決抓不到網卡的問題了。