centos 7部署oracle 12c rac 上菜了
Oracle實現負載均衡,完全不依賴於其它第三方工具,自己全部搞定,真是牛啊!部署oracle負載均衡高可用,實際上就是部署oracle RAC。在開始部署之前,得先做好規劃。規劃涉及到的主要有以下幾個方面:
1、 共享存儲:是oracle RAC最關鍵的設施了,許多重要的數據文件、歸檔、仲裁等文件都存放於此,因此需要考慮可用性、容量、性能、成本等因素。在以前的多個項目中,我選用的存儲多為外接陣列,雙控制器、10000轉2.5寸sas或者15000轉3.5寸sas盤,插槽全部插滿,不考慮短期擴容。
2、 服務器:計算資源依托於服務器,也需要綜合考慮可用性、性能及成本因素。在過去實施的一些項目中,一般采用1u機架式服務器,內存64G、多核心多線程cpu、雙ssd盤(做raid容錯)、四個網絡借口卡。
3、 網絡規劃:至少分兩個網段,交換機獨立(至少兩個交換機),且為全千兆速率交換機,網線也要用機制六類線。說起這個網線,踩過一次坑,記憶深刻--一個網絡×××的項目,服務器塞滿了兩個機櫃,各類設施在當時都算是比較高端的。特別交代采購,一定要買機制網線。一幫人沒日沒夜的折騰,終於調試完畢,上線運行正常。可是沒多久,oracle RAC集群就出現一會好一會壞的情形,登錄查日誌,查應用,都找不出問題,最後只好親自去機房。前前後後瞧來瞧去,看各指示燈的顯示情況;這一看還真發現問題:心跳交換機的端口有一個指示燈一會綠、一會黃的,肯定是速率不匹配的問題。再擼線,跟其它機制線不同啊!詢問得知,采購的時候,供貨商存活比計劃采購數少了一條,於是就讓機房給手工做了一條頂上去。換上新的機制六類網線,問題得以解決。
曾經寫了一篇“Oracle 11g rac 生產環境部署詳錄”文章,發布在51cto博客,地址為http://blog.51cto.com/sery/1546346,歡迎參考。本篇文章,由於沒有真實環境可以提供(不能拿已有的生產環境來搞,我怕老板來砍我),因此只能在虛擬環境下進行,不過這並不影響大家學習和借鑒,畢竟基本思路和方法是相同的,也利於做實驗和測試。
準備基礎環境
我此次進京,化緣來一個迷你主機,配置為cpu 8線程、1TB硬盤、12G內存,拿來做虛擬化非常合適,省電省地又安靜。看看,是不是很小巧?
用此迷你主機虛擬化,創建2個虛擬機,安裝oracle,另外創建一個虛擬機安裝openfiler,做為oracle的共享存儲。
◎主機虛擬化處理
強烈推薦使用proxmox,當然我自己也用。當前的版本是proxmox5.2,支持ceph超融合,巨好用,iso一鍵安裝。官方網站(www.proxmox.com)下載鏡像包,用ultraIso寫入u盤,使其可以開機引導。如果u盤無法引導加載的情況,可再做一次ultraISO寫入操作,寫入格式選“raw”,如下圖所示:
Proxmox安裝過程很簡單,也很容易完成,這裏不再多說。Proxmox底層是基於debian的,在運行過程中,系統會執行apt-get update去做包更新,為避免出現“TASK ERROR: command 'apt-get update' failed: exit code 100”這樣的錯誤,需要以ssh登錄系統(debian),修改文件/etc/apt/sources.list.d/pve-enterprise.list ,把裏邊的唯一一行內容註釋掉。當然,你也可以無視。
○多網卡處理
也許你的實驗環境跟我一樣,只有一個物理網卡,但要實現oracle rac至少得兩個網卡,怎辦?增加一塊就好,具體方法如下:
1、proxmox管理界面選擇“創建”,再選“Linux Bridge”,填寫ip地址和掩碼(網關等其它項不用填寫)
2、使網絡設置生效。Ssh登錄debain,重啟系統。再登錄系統,用指令“ip add”,就可以看到剛創建的虛擬網絡接口。如下圖所示:
同樣,在proxmox的web管理界面,也能看到這個效果。
○準備操作系統鏡像文件
據我掌握,有兩種方法可以上傳操作系統ios鏡像,一種是proxmox web管理界面,另一種是登錄debian系統,進入鏡像文件設定的目錄,用wget一類的工具直接獲取。
1、 web界面上傳ios文件(需要在本地電腦上下載好文件):
在幾次實踐中,總覺得這個方法麻煩,而且速度慢,現在一般不采用了。
2、 登錄系統直接下載,只下載一次,如果是機房服務器的話,比下載到本地再傳上去,節省大量的時間。
root@pve99:~# cd /var/lib/vz/template/iso
root@pve99:/var/lib/vz/template/iso# wget http://mirrors.163.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
root@pve99:/var/lib/vz/template/iso# wget http://mirrors.cn99.com/centos/6.10/isos/x86_64/CentOS-6.10-x86_64-bin-DVD1.iso
下載完以後,到web管理界面檢查一下,是否出現在項目中。
◎創建虛擬機
由於安裝oracle rac需要的主機資源配置完全一樣,因此可以先創建好一個虛擬機,並安裝好系統(不要安裝oracle喲),再以克隆方式生成第二個虛擬機,改一下網絡設置即可投入使用。
○創建第一個虛擬機
Proxmox web管理界面點擊“創建虛擬機”,給虛擬機設置一個容易辨識的名字,比如db107,然後進行下一步。
“操作系統”欄目下,選“使用cd/dvd光盤鏡像文件(ISO)”,下來列表框選定預先上傳的操作系統iso。如下圖所示:
一下步分配磁盤(給32G)、cpu(4core)、內存(8G),創建完以後,還不能滿足需求。需要再增加硬盤,用來做oracle的安裝目錄及創建交換分區;增加網絡接口,用以oracle節點間做心跳檢測。
1、 給虛擬機增加硬盤:
管理界面選中剛創建的虛擬機,在選級聯菜單“硬件”,點擊按鈕“添加”;
設置大小為50G,計劃16G用於swap,其余為安裝軟件目錄使用。
2、 添加網絡接口:
跟添加硬盤的步驟基本相同,只是到了“添加”這個下拉列表這裏,選“網絡設備”,具體選擇如下圖所示:
◎安裝虛擬機操作系統
在創建好虛擬機之後,web管理界面啟動虛擬機,然後再點擊頁面裏的“>_控制臺”按鈕,即可進入操作系統安裝界面,如圖所示:
余下的步驟,跟常規的系統安裝毫無差別,不再贅述。
◎安裝共享存儲openfiler
Openfiler跟proxmox一樣,也是以iso形式提供的,同樣,openfiler也需要至少兩個磁盤,一個安裝系統,一個做數據共享。規劃好容量分配以後,就可以開始安裝,安裝過程很簡單,不再啰嗦。
下圖為我安裝好的openfiler磁盤使用情況,其中容量大的那個磁盤用於iscsi共享。
接下來,開始配置存儲。鼠標點“Service”項,把iscsi服務打開。
在空閑的那個大容量磁盤創建分區(Linux Physical Volume),接著創建卷組vg-data(命名自己定)及邏輯卷;創建邏輯卷時,Filesystem / Volume type(文件系統/卷類型)要從下拉列表框選定“block(ISCSI,FS,etc)”。完成這個操作以後,鼠標點右側“iSCSI Targets”菜單,添加一個新的issci目標(Add new iSCSI Target),如果沒有啟動iscsi服務,則添加按鈕(Add)是灰色的,無法進行下一步操作。
完成邏輯單元(LUN)映射,操作如下圖:
因為是內部網絡,因此可以不對訪問做限制。到此,存儲端配置完畢。
◎服務器掛接iscsi磁盤(需要在兩個主機都操作)
只需簡單幾個步驟,即可在主機上掛接好iscsi共享磁盤,並且使之隨系統開機啟動。
○啟動iscsi服務。Centos默認可能沒有安裝熟悉而好用的ntsysv,yum安裝一個吧。執行ntsysv吧iscsi項選上,下次開機,iscsi服務就自動起來了。
○掃描iscsi目標,並記錄下輸出信息,指令如下:
[root@db115 ~]# iscsiadm -m discovery -t sendtargets -p 172.16.35.107
172.16.35.107:3260,1 iqn.2006-01.com.openfiler:tsn.3ceca0a95110
需要的就是數字“1”後邊加粗的部分信息。
○掛接目標磁盤,指令如下:
# iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.3ceca0a95110 –l
Logging in to [iface: default, target: iqn.2006-01.com.openfiler:tsn.3ceca0a95110, portal: 172.16.35.107,3260] (multiple)
Login to [iface: default, target: iqn.2006-01.com.openfiler:tsn.3ceca0a95110, portal: 172.16.35.107,3260] successful.
○磁盤掛接驗證,兩個主機都執行一次,指令如下:
[root@db115 ~]# fdisk –l
...……………………………省略…………………………………
Disk /dev/sdc: 51.2 GB, 51170508800 bytes, 99942400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdd: 122.9 GB, 122876329984 bytes, 23×××832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sde: 10.2 GB, 10234101760 bytes, 19988480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
以此法共享出三個卷,並掛接在每一個節點上。
部署oracle 12c rac
分三個階段:安裝前的準備、安裝軟件、創建數據庫。
◎安裝前的準備
主要步驟有:準備交換分區及數據分區、設置相關主機名及 ip 映射、修改系統相關配置及依賴包、準備桌面環境。
◆準備交換分區,需要在每一個節點執行。
fdisk /dev/sdb
mkswap /dev/sdb1
swapon /dev/sdb1
fdisk操作過程中,分區代碼選“82”,大小為18G。執行完上述操作後,用命令free –m檢查是否生效。為了讓交換分區隨系統開機加載,需要修改文件/etc/fstab,加入的內容等描述完加數據分區以後,一並貼出。
更多內容,請參看專欄文章“負載均衡高手練成記”,猛戳此處即可直達。
centos 7部署oracle 12c rac 上菜了