2012年9月1日 星期六

虛擬主機系統入門與應用

http://blog.1001.tw/?p=45


虛擬主機系統入門與應用

上課日期:2012/07/19-2012/07/20
講師:卓國興老師
光碟:Ubuntu miniserver

一、利用光碟開機與安裝
1.開機時按F12,選擇光碟開機
2.選「在不需安裝的情況下試用Ubuntu(T)
3.測試光碟及環境是否有問題
4.選左下角第5個按鈕(LXlancher)>偏好設定>安裝Ubuntu 12.04 LTS
5.安裝完成後重新啟動電腦
二、Ubuntu安裝與使用
1.選擇OpenBox桌面環境並登入
2.下載pdf閱讀軟體:
  (1)sudo apt-get update
  (2)sudo apt-get install evince
4.可至ftp://192.168.1.140下載老師的「虛擬主機系統入門與應用」講義
5.至 ftp://ftp3.tn.edu.tw/TWubuntu/miniserver64/Version2/ 路徑下載TWubuntu_miniserver64V2.iso檔
6.至Utility>Virtual Box,開啟VB程式
7.至檔案>喜好設定,將「預設機器資料夾」改為「/home/XXX/VMS」,去除原先空白。
8.建立基礎伺服器,按「新增」,名稱為「base」,作業系統選Linux,版本選Ubuntu(64bit)。將虛擬記憶體調整大一點(在綠色區域內),其餘依照預設值安裝
9.在「存放裝置>IDE控制器」選擇CD/DVD光碟機,將剛才下載的iso檔置入光碟,選擇「啟動」安裝
10.重新啟動
三、更改更新伺服器
1.輸入 sudo software-properties-gtk,至管理介面
  (1)取消Ubutu軟體>私有版權…(restricted)及受版權或相關…(multiverse)的選取,伺服器更新為free.nchc.org.tw
  (2)取消其他軟體>獨立及獨立(源碼)的選取
2.輸入sudo apt-get update,進行更新
3.以firefox更新為例
   sudo apt-get install firefox
   firefox-locale-zh-hant (語系檔更改為中文)
四、安裝虛擬機器 school_temporary
1.將base機記憶體調為512M,並將網路卡設定路徑先移至他處,避免再製時增加新的網路卡
  cd /etc/udev/rules.d/
  ls
  sudo mv 70-persistent-net.rules /70-persistent-net.rules (將網路卡設定移往根目錄)
2.對base系統按 右鍵>再製,名稱定為school_temporary(可更改),將「重新初始化所有網路卡的MAC位址」打V,並選擇「完整複製」
3.選 網路,將NAT設定改為「內部網路」模式,啟動 school_temporary虛擬機器
4.選LXLancher>偏好設定>伺服器快樂架,設定IPV4及IPV6設定
5.設定phpmyadmin,選unix socket –>root–>設定密碼–>phpmyadmin–>apache2,設定完選「離開」
   (重設phpmyadmin指令: sudo dpkg-reconfigure phpmyadmin)
6.該虛擬機器可作為備用機先關掉,日後若需替代實體機(實體機掛掉時),將school_temporary的網路,從「內部網路」改為「橋接介面卡」,重新啟動即可。
五、安裝臨時虛擬機器–報名系統 temp
1.對base系統按 右鍵>再製,名稱定為 temp(可更改),將「重新初始化所有網路卡的MAC位址」打V,並選擇「連結的再製」
2.若要將臨時虛擬機更改為正式虛擬機器,請對temp選擇再製,將「重新初始化所有網路卡的MAC位址」打V,並選擇「完整複製」
六、備份虛擬機器
1.至使用者根目錄>VMS/base/儲存base.vdi檔及VMS/school_temporary儲存school_temporary.vid檔等即可
七、共享資料夾:透過Linux共享本機下載資料夾的方法
1.至虛擬機器右下角"資料夾圖式"按右鍵選「共用資料夾」,按+加入共用資料夾,資料夾路徑選「下載」為例
2.在使用者加目錄新增「share」資料夾
3.開啟Terminal視窗,輸入"sudo mount -t vboxsf 下載 share",即可在虛擬機器共用本機的「下載」資料夾
八、轉port設定:以temp虛擬機器為例
1.指定temp虛擬機器,選 “網路">進階>連接埠轉送(p),按+
  (1)主機IP為host ip,可不設
  (2)主機連接埠可設為8080(可更改)
  (3)客體IP為虛擬機器temp的ip,可不設
  (4)客體連接埠對應到虛擬機器的80
2.啟動temp虛擬機,更改temp虛擬機的apache網頁進行測試
   cd /var/www
   sudo vi index.html
  進行網頁更改(隨便亂打)
3.啟動Apache服務:sudo /etc/init.d/apache2 start
4.至本機(host)打入本機IP:8080,查看是否連結到虛擬機的80port
九、打開虛擬機器的SSH功能(22port):以temp虛擬機器為例
1.將temp虛擬機器的SSH打開:sudo service ssh start
2.指定temp虛擬機器,選 “網路">進階>連接埠轉送(p),按+
  (1)主機IP為host ip,可不設
  (2)主機連接埠可設為2222(可更改)
  (3)客體IP為虛擬機器temp的ip,可不設
  (4)客體連接埠對應到虛擬機器的22
3.在host本機測試連接temp虛擬機器的ssh
  (1)輸入 netstat -lt n 查看2222port以開啟
  (2)ssh -l don 192.168.1.194:2222
十、V2V(將vdi格式轉為vmdk):將virtualBox檔案轉為VMWare可用之虛擬機檔案
 輸入指令: VBoxManage clonehd ../school_temporary/school_temporary.vid school.vmdk –format vmdk
十一、使用現有虛擬機器檔案(.vdi, .vmdk)建立虛擬機器
VirtualBox>新增>打入名稱、作業系統及版本>使用現有硬碟>選擇檔案
十二、建立虛擬網卡
1.打開Virtual Box管理員,檔案>喜好設定>網路,按+ 可加入虛擬網卡
2.先關閉temp虛擬機器,選temp>網路>介面卡2>啟用網卡>僅限主機介面卡
3.用ssh登入:ssh -l don 192.168.56.101
十三、動態擴大虛擬磁碟(以school_temporary虛擬機器為例)
方法一:加入新的虛擬磁碟
方法二:動態擴大虛擬磁碟:
  cd  school_temporary
  ls -lh  (顯示硬碟使用容量)
  VBoxManage modifyhd school_temporary.vid –resize 10000 (代表增加為10G)
1.選擇school_temporary>存放裝置>IDE控制器>CD/DVD光碟機,將Ubuntu miniserver64V2.iso檔叫回來
2.將school_temporary虛擬機開機,輸入sudo gparted,打開類似GParted介面,將swap停用,再刪除,打V套用
3.對sd1硬碟調整大小(約留1G給swap),打V套用
4.剩下的1G設定為swap,打V套用
5.關閉虛擬機,並將miniserver64V2.iso檔從光碟移除
6.將school_temporary虛擬機器重新用硬碟開機
十四、在不關機的狀態下將伺服器資料備分(備份運作當中的虛擬伺服器)(參考p.11頁講義)
1.動態資料同步備份
 cd /home/don/VMs
 mkdir school_bak
 cd school_bak
 rsync -S –progress ../school_temporary/school_temporary.vdi school_temporarycopy.vdi
2.同一台電腦要重生備份的vdi時,須重設uid
VBoxManage internalcommands sethduuid “/home/don/VMs/school_bak/school_temporarycopy.vdi"
3.可新增虛擬機,選擇school_temporarycopy.vdi
十五、透過Web介面管理VirtualBox (phpvirtualbox)(參考p.13頁講義)
1.至 http://code.google.com/phpvirtualbox 頁面,選擇Download,下載phpvirtualbox-4.1-7.zip
2.解壓縮後移至/var/www,將名稱改為virtualbox (須以系統管理員身分執行)
3.打開virtualbox資料夾,將config.php-example複製一份為config.php,編輯config.php檔
4.修改username及password(第14、15行)
5.啟動18083port:/usr/lib/virtualbox/vboxwebsrv –background -H 127.0.0.1 -p 18083
  確認18083port運作:netstat -lt -n
6.重新啟動Apache:sudo service apache2 restart
7.在瀏覽器輸入 http://127.0.0.1/phpvirtualbox ,帳密第一次皆為admin
8.至File>Preferences>Language 選擇"正體中文",更改顯示語言
9.至檔案>變更密碼,重新變更密碼
10.重要設定:須修改apache及phpvirtual目錄設定,以策安全
修改/etc/apache2/sites-available/
———————————————————-
<Directory /var/www/>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
———————————————————-
在phpvirtualbox目錄下加入.htaccess
———————————————————–
order deny,allow
deny from all
allow from 127.0.0.1
allow from someIP
———————————————————–
 ***在網頁模式下操作與本機模式操作相同,但網頁模式需設定可連線ip,以策安全***
十六、設定軟碟防火牆
1.至google.com搜尋floppyfw,至www.zelow.no/floppyfw>Download>3.0.15>下載floppyfw-3.0.15.img
2.至VMs目錄新增ffw目錄,並將floppyfw-3.0.15.img移至此處
3.至http://127.0.0.1/phpvirtualbox,新增新的虛擬機器,名稱設ffw,作業系統選Linux,版本選Linux2.4>128MB>將"啟動硬碟"取消>建立
4.在 存放裝置>+加入軟碟控制器,選擇磁碟,找到/home/don/VMs/ffw/floppyfw-3.0.15.img
5.序列埠>啟用序列埠
6.登入後預設帳號為root,密碼無
十七、安裝tinycore(參考p.22頁講義):可當防火牆主機
1.Google搜尋tinyCore,至distro.ibiblio.org/tinycorelinux/downloads.html下載TinyCore
2.VirtualBox>新增>名稱tinycore、作業系統Linux、版本Other Linux>虛擬硬碟選"新建硬碟">VMDK(虛擬機器磁碟)>1GB空間
3.附件的tinycore.vmdk帳號為root,密碼為test
4.安裝tc-install:選下方Apps按鈕>Apps>Browse>輸入"tc-install">Go進行安裝
十八、簡易的備援網路設定(參考p.33講義)
1.設定school_temporary虛擬機(Master機)及一模一樣的school2虛擬機(Backup機)
2.兩臺虛擬機都設2張網卡,對外的網卡ip一致(但school2要對外斷線),對內的網卡一臺設192.168.100.100/24/0.0.0.0,另一台設192.168.100.200/24/0.0.0.0,互相ping對方ip確認內部可連線
3. 利用22port進行簡易備援
  (1)school_temporary確認可透過ssh連線到對方school2:ssh -l root 192.168.100.200
  (2) 執行備份指令
        cd /opt/tools
        vi ensshRsync.sh
a.本地端要備份的目錄:backuplist="/var/www /var/lib/mysql /root /home /etc"
          b.遠端備份主機的IP or DomainNmae:remote="192.168.100.200″
          c.備份的目錄名稱:remoteDIR="/root/backup"
          d.頻寬設定:limit=15000
          e.recycle保留的設定:recyclekeep=3
切換成root身分:sudo su
      ./ensshRsync.sh
(3)利用crontab -e作定時備份:(參考講義p.35)
       crontab -e>選3:vim編輯器
       每五分鐘進行備份指令:*/5 * * * * /opt/tools/ensshRsync.sh
十九、NAT環境模擬
1.利用floppyfw虛擬機,將網路第一片網路卡設為橋接模式,第二片網路卡設為內部網路
2.Mount floppyfw-3.0.15.img
sudo su
   mkdir /mnt/floppyfw
   mount /home/don/VMs/ffw/floppyfw-3.0.15.img /mnt/floppyfw
   cd mnt/floppyfw
3.修改/mnt/floppyfw/config (參考講義p.36)
  設定DES密碼指令:mkpasswd -m des test (將明碼test改為DES編碼)
二十、虛擬機器的啟動與關閉(寫sh執行)
1.寫一支"啟動vm.sh":
#!/bin/bash
VBoxManage startvm school_temporary -type headless
  (1)改為執行擋指令:chmod u+x 啟動vm.sh
  (2)寫入/etc/rc.local:vi /etc/rc.local
      加入一行指令:/home/don/啟動vm.sh
2.寫一支"關閉vm.sh"
#!/bin/bash
VBoxManage controlvm school_temporary poweroff
  (1)改為執行擋指令:chmod u+x 關閉vm.sh
  (2)連結至/etc/rc6.d目錄裡頭(reboot時使用):ln -s /home/don/關閉vm.sh S00stopvm
  (3)連結至/etc/rc0.d目錄裡頭(shutdown時使用):ln -s /home/don/關閉vm.sh S00Stopvm

十五、在Ubuntu安裝Filezilla Clint端
  sudo apt-get update
  sudo apt-get install filezilla
網路講義與資源:
1.至 ftp://192.168.1.140 下載講義 (參考下列附件)
2.至 ftp://ftp3.tn.edu.tw/TWubuntu/miniserver64/Version2/ 路徑下載TWubuntu_miniserver64V2.iso檔

沒有留言:

張貼留言