Post on 05-Jan-2016
description
ESXi 安裝 Oracle Linux
阿晃教學影片 :
http://youtu.be/TDHMepxec3w?hd=1
• 兩台 ESXi 各安裝 Oracle Linux– 或者 , 先裝一台 , 匯出為 .ova 後 , 再匯入另一台
改 ip…
vSphere Client Login ESXi• ESXi5-01.abc.com > New Virtual Machine >• 硬體設定 > Custom• Name: HA-node• (guest os oracle linux)Storage: datastore1 (50GB hd)• 若以後 .ova 可能匯出到 ESXi4(or prev), 選 7, 現在當然
選 8• Guest OS: Linux> Oracle Linux 4/5/6 (32-bit)• CPUs: 1 virtual socket, 4 cores/virtual socket• Memory: 2GB
• 4 張網卡 ( 因有 4 個 switch 所以 guest os 可以插 4 張網卡 ,先全部接在 Service01)– 因即便現在照 S01 S02 DR01 DR02 順序接 ,linux 灌好後也
不一定會照這順序配對 ,so 灌好後再調整• Adapter 類型全部選 VMXNET3 ( 後續裝 vmware tools 後可讓
網路最佳化 )
• SCSI Controller: 改選 VMware Paravirtual(RHEL6 可用 , 提高 CPU效能 )
– 熊信彰 6-11, 詳見 :http://www.vmware.com/pdf/vsp_4_pvscsi_perf.pdf
• vm guest os virtual disk: Create a new virtual disk• Create a Disk
– Disk size: 10GB( 若要裝 vmtools, 要切 20GB,/ 切 10GB)– Disk Provisioning: Thick provision lazy zoroed ( 預先全部配置所有 virtual disk(10gb) 給 vm, 但
不事先 zero out(zero out 就是把未佔有 data 的 disk space 全部 erase 掉 , 然後全部寫 0,” 聽說”效能會較好 , 但有一些顧忌…下一個 eager 就是 , 沒用過 , 不知道 )
– Location: 不用改• Advanced Options
– Virtual Device Node: SCSI (4 個 devices, 15 IDs/per device > 即可以有 15 個 partitions)– Mode: 不需勾 Independent, 若勾
• Persistent: 建 Snapshot 無效 , 無法還原• Nonpersistent: 所有設定只有開機過程有效 , 關機一律恢復原狀 = 裝還原卡
• Finish
HA-Active-Node > 右 click > Edit Settings• 刪 Floppy• 掛載 datastore1 中的 OracleLinux.iso– 注意 , 此時 linux 的 Host 是 ESXi,Linux 看不到 Win7 中的
iso– CD/DVD > Datastore ISO File > Browse > datastore1 >
OracleLinux.iso ( 檔名當然不是這樣 )– 記得要勾 : Connect at power on
最後 vm propertities 長這樣
HA-Active-Node > Open Console > Power on
• 建議灌英文版• 若沒有 mouse cursor, 或 mouse 抖動–請切成全螢幕 (Console:Ctrl+Alt+enter)
• 離開 vm window 再進來 , 灌好前 mouse 不要離開vm window
• Create Custom Layout– /boot 200MB– / 15000MB– SWAP 2048MB– /data Fill to maximum allowable size ( 即為 2.9GB)
或手動給 3GB 左右即可 .– 就不切 /home 了 ( 在 apache ha 中不需要 /home 切獨立 partition)
• 安裝為 “ Desktop” 需求 > Next
灌好後• 解析度調高一點 , 螢幕保護 , 電源…
1.) 設定網路• 拿掉密碼
關掉 NetworkManager, iptables– service NetworkManager stop
• 要先停 , 不然待會兒 /etc/resolv.conf 會白改– chkconfig NetworkManager off
若沒有停 NM, 某些情況改好的設定 , 又會被 NM 強制改回來– chkconfig iptables off
• 關掉 selinux– sed -i ‘s,enforcing,disabled,g’ /etc/sysconfig/selinux
orvim /etc/sysconfig/selinuxenforcing 改為 disabled
先設第一張網卡(Service 網卡 , 接 NAT)Ifcfg-eth0
DEVICE=eth0HWADDR=xx:xx:…ONBOOT=yesIPADDR=10.10.88.101NETMASK=255.255.255.0
/etc/sysconfig/networkNETWORK=yesHOSTNAME=ha-node.abc.comGATEWAY=10.10.88.254
/etc/resolv.confsearch abc.comnameserver 120.125.190.3nameserver 168.95.1.1
/etc/hosts10.10.88.101 ha-node.abc.com
reboot win7 ping ha-node.abc.com
只設一張網卡 , 是因為 OracleLinux 基本設定做完後 , 要匯出給cluster 第二台 (standby node) 來改 .
2.) 修改 yum 設定檔 ?/etc/yum.repos.d/public-yum-ol6.repo
• 不需要 , 因為台灣並沒有 oracle linux yum repo 的 mirror site
• yum -y install PackageName• yum search PackageName
3.) 無法 yum 下載安裝 cluster packages?
• 因為原來的套件庫中 , 並沒有– drbd– heartbeat– 也沒有 phpmyadmin
• 擴充 yum 套件前 : yum search drbd heartbeat phpmyadmin• 找不到 ( 第一次 search 會做某些更新 , 在 oracle linux 會回應 pacemaker 含 hb 套
件 , 但 centos 找不到 )
• 以 rpm 擴充 yum 套件數量– 安裝 RPMforge, ELRepo, EPEL 套件庫 ( 我已下載回來 )
rpm -Uvh http://mylady.tw/public/ha/rpm/三個 rpm 檔rpm -Uvh http://mylady.tw/public/ha/rpm/rpmforge-release-0.5.2-2.el6.rf.i686.rpmrpm -Uvh http://mylady.tw/public/ha/rpm/elrepo-release-6-4.el6.elrepo.noarch.rpmrpm -Uvh http://mylady.tw/public/ha/rpm/epel-release-6-5.noarch.rpm 再 yum search drbd heartbeat phpmyadmin
找到了
4.) 安裝 ha cluster 需要的套件• yum -y install– gcc– drbd83-utils kmod-drbd83– heartbeat heartbeat-devel heartbeat-libs
• 若不能 yum– ps -aux | grep yum
把前一個 yum kill 掉• 若還是找不到 drbd package, 我已抓回來 , 安裝
如下 :rpm -Uvh http://mylady.tw/public/ha/rpm_drbd/drbd83-utils-8.3.15-1.el6.elrepo.i686.rpmrpm -Uvh http://mylady.tw/public/ha/rpm_drbd/kmod-drbd83-8.3.12-2.el6.elrepo.i686.rpm
5.) umount /data
• df• 因後續 /data (apache 的 /var/www/html 改
成 /data)– 由 drbd 管理– 不是由 /etc/fstab 管理– 也就是 HA node roll 為 primary 時 , 才會
mount /data• umount /data• 把 /etc/fstab 中 /data 打 # 註解掉
6.) 安裝vmware tools
• 要先安裝 :– yum -y install gcc– yum -y install kernel-uek-devel-`uname -r`
不然 vmtools 安裝過程 , 會找不到應有的路徑• 要先把光碟機內的 OracleLinux.iso 先 umount 掉 (df 找一下很像光碟
那個 device)– umount /dev/sr0
• ESXi console VM Guest Install/Upgrade Vmware Tools– 再 df 就看到 VMware tools 了
• cd /media/VM(tab)• rp -rf /tmp/*; cp /media/VM(tab)/* /tmp/.
( 因為 /media/VM(tab) 是唯讀的 )• cd /tmp; tar -xvz -f *.tar.gz; cd vmware-tools-distrib• ./vmware-install.sh
– 按 enter 到底 reboot 即可用
7.) 記錄 70-persistent-net.rules 中 4 張網卡的 mac
• 記錄 eth0~eth3 的 mac– Liunx 關機– 調整 vm 與 vSwitch 的對應
8.) 調整 vm 與 vSwitch 的對應
• Linux 上的– eth0 應接到 Service01 vSwitch– eth1 應接到 Service02 vSwitch– eth2 應接到 DRBD-Heartbeat01 vSwitch– eth3 應接到 DRBD-Heartbeat01 vSwitch
• VM console VM Edit Settings Hardware
最後應調整成這樣( 你的可能跟我的不一樣 ) 調完後 , reboot
9.) 網卡 bonding
• eth0+eth1 bond0 for client Service– bond0: 10.10.88.101
( 原 eth0 ip 給 bond0 用 )
• eth1+eth2 bond1 for DRBD & Heartbeat– bond1: 192.168.88.101
#ifcfg-bond0DEVICE=bond0ONBOOT=yesIPADDR=10.10.88.101NETMASK=255.255.255.0
#ifcfg-eth0DEVICE=eth0#( 不要給 mac)HWADDR= 沒有此行ONBOOT=yesMASTER=bond0SLAVE=yes
#ifcfg-eth1DEVICE=eth1#( 不要給 mac)HWADDR= 沒有此行ONBOOT=yesMASTER=bond0SLAVE=yes
#/etc/resolv.confnameserver 168.95.1.1# 南亞校內請用 120.125.190.3
#/etc/modprobe.d/bonding.confalias bond0 bondingoptions bond0 miimon=100 mode=6alias bond1 bondingoptions bond1 miimon=100 mode=6# miimon: 偵測對方網卡是否還活著的時間 (100 毫秒 )
/etc/sysconfig/networkNETWORKING=yesGATEWAY=10.10.88.254
lsmod | grep bonding 沒有載入 bonding module 存檔後 reboot lsmod | grep bonding
#ifcfg-bond1DEVICE=bond1ONBOOT=yesIPADDR=192.168.88.101NETMASK=255.255.255.0
#ifcfg-eth2DEVICE=eth2#( 不要給 mac)HWADDR= 沒有此行ONBOOT=yesMASTER=bond1SLAVE=yes
#ifcfg-eth3DEVICE=eth3#( 不要給 mac)HWADDR= 沒有此行ONBOOT=yesMASTER=bond1SLAVE=yes
#/etc/modprobe.d/bonding.confalias bond0 bondingoptions bond0 miimon=100 mode=6alias bond1 bondingoptions bond1 miimon=100 mode=6# miimon: 偵測對方網卡是否還活著的時間 (100 毫秒 )
lsmod | grep bonding 沒有載入 bonding module 存檔後 reboot lsmod | grep bonding
bonding 完後 , 若有某 ethX 或 bondX 出現 :Some other host already uses address...
• 啊 ? 該 ip 被用掉了 換 ip 也沒用啦 , 這在ESXi 中很常見 , 解法如下 .
若是 bond1 網卡出現此 error:
• 把 ifcfg-eth2 & ifcfg-eth3 & ifcfg-bond1 都刪掉• halt• 到 vShpere Client 中對此 linux vm > right click >
Edit settings > 剛對應 DRBD 兩張網卡都刪掉 > Close > 再 進來 Edit settings > 再新增兩張網卡分別對應到 DRBD-Heartbeat01 & DRBD-Heartbeat02 ( 待會兒開機進去 linux 後 , 還是要先核對一下 eth2ð3 mac 是不是對應到 DR…01 & DR…02)
• 重建 ifcfg-eth2 & ifcfg-eth3 & ifcfg-bond1 • 重啟網路 就全通了
bonding: mode 6, 當 SLAVEs 都正常時 ,傳送跟接收都可以分散至所有 SLAVE 網卡
• 模式 5,自動調整傳輸負載平衡 (Adaptive transmit load balancing, balance-tlb) :• 從字面上的意思來看,這種模式主要就是針對『傳送』合併頻寬所設計的,但是接收恐怕就沒有辦法做
到合併頻寬了。這種模式得要分傳送與接收來說明。 在傳送方面,這種模式會將封包分散在各個可用的 bonding 網卡上送出,因此傳送才能夠達到合併頻寬。不過在接收封包時,由於考慮到 switch 的 MAC 記憶能力,因此僅有一個網卡的 MAC 會被紀錄於 switch 上頭,簡單的說,就是僅有一張網卡會用於接收!除非該接收網卡掛點, 否則其他網卡不會被用在接收上。
因為一般伺服器就是服務提供者,主要負責餵資料給用戶,至於接收部分,又由於 switch 僅要負責一張網卡的 MAC 記憶,伺服器透過 switch 接收是相對穩定的。所以這種模式也很適合於服務提供者的角度上。但如果考慮到區域網路的雙向溝通,這種模式總覺得好像缺少了些什麼的感覺~
• 模式 6,自動調整全負載平衡 (Adaptive load balancing, balance-alb) :• 這個模式包括了模式 5,除了傳送可以合併頻寬之外,連接收也可以合併頻寬了。當伺服器要傳資料出
去給用戶端時,bonding 模組會主動的攔截封包, 並透過 ARP 協商機制 (ARP 就是透過 IP 去找出 MAC 的通訊協定 ),將不同的網卡要送出到同一個用戶端的封包,都改寫成單一一個固定的發送端 MAC 位址, 如此一來,發送有合併頻寬的功能了,但接收卻還是只有一個 MAC 而已對吧?那怎麼說接收有合併頻寬的負載平衡機制呢?原因是這樣的:當有資料封包要送出到多個不同的用戶端時,此模式的 bonding 模組就會透過 ARP 協商機制,找出 bonding 管理的比較閒置的網卡 MAC 分配給下個用戶端,如此一來,不同的用戶端回傳給伺服器的資料,就可以透過不同的網卡來接收,就能達到接收也合併頻寬的功能了。這個模式不需要特別的 switch 支援,而且設定簡單,可以在接收、傳送都達成合併頻寬的能力,且也具有基本的網路容錯功能, 是目前鳥哥最愛使用的 bonding 模式啦!
10.) 將 vm 匯出為 .ova
11.) 再安裝一台 ESXi:ESXi5-02.abc.com
• .vmx 最後補上 … backdoor = “True”• 改 ip, hostname• vSphere client– dns & routing, time, license– 改 vmnic0 名稱 : Service01– 新增三台 vSwitch• vmnic1 網卡接 Service02 vSwitch• vmnic2 網卡接 DRBD-Heartbeat01 vSwitch• vmnic1 網卡接 DRBD-Heartbeat02 vSwitch
12 ) 把第一台 ESXi 的 OracleLinux 的 .ova 匯入第二台 ESXi
• 開機後 , 改 bond0 & bond1 ip