:::
顯示具有 Proxmox 標籤的文章。 顯示所有文章

建立Proxmox VE集叢 / Create Proxmox VE Cluster

建立Proxmox VE集叢 / Create Proxmox VE Cluster

part2-step3-5-image004

這一份教學是說明如何在第一台安裝的Proxmox VE 3.2中建立集叢,好讓第二台之後的Proxmox VE伺服器加入集叢中。

In this article, I will describe the steps to create a Proxmox VE cluster in Proxmox VE 3.2. It must be have a cluster first to let other Proxmox VE join this cluster.

  • 對應講義:PART-2-STEP-3-5
  • 主題:建立Proxmox VE集叢

教學目錄 / Table of Contents

  1. Proxmox VE 安裝前準備
  2. 安裝Proxmox VE 3.2
  3. 開啟Proxmox VE的網頁管理介面
  4. 在Proxmox VE中加入NFS資料儲存伺服器
  5. [目前在此篇 >> ] 建立Proxmox VE集叢
  6. 加入Proxmox VE集叢

建立集叢 / Create Proxmox VE Cluster

只有第一台虛擬機器管理伺服器Proxmox VE需要建立集叢,後來建立的Proxmox VE則是使用加入集叢的動作

建立Proxmox VE集叢的方式必須全部以指令列的方式進行。還好Proxmox VE的網頁管理介面也可以直接在伺服器上輸入指令,這樣就能夠大幅簡化建立集叢的操作步驟。以下就照著步驟一步一步來建立集叢吧。

  1. 開啟Proxmox VE的管理介面,作法請看這一篇教學
    part2-step3-4-image001
  2. 從左邊的Server View導覽列中,選擇剛剛建立好的proxmox-01伺服器。點選右上角的Shell。
    image
  3. 接著會開啟主機命令列 (Command Line Interface)。此狀態底下,你已經是如同以root身分登入Linux主機命令列。Shell功能需要仰賴Java Applet,如果你尚未安裝JRE,請依照瀏覽器的指示安裝JRE。
    part2-step3-5-image002
  4. 接著輸入指令「pvecm create DLLL-CIAS」。其中DLLL-CIAS則是集叢的名稱。
    part2-step3-5-image003
  5. 稍待片刻等程式建立集叢,等到出現一堆 [ OK ]訊息之後,集叢建立就完成了。
    part2-step3-5-image004

下一篇:加入Proxmox VE集叢 / Next: Add Proxmox VE Cluster

第一台Proxmox VE建立好集叢之後,接下來其他伺服器只需要進行加入集叢的動作即可,細節請看下一篇的說明。

下一篇:「加入Proxmox VE集叢 」。

(more...)

在Proxmox VE中加入NFS資料儲存伺服器 / Add NFS in Proxmox VE

在Proxmox VE中加入NFS資料儲存伺服器 / Add NFS in Proxmox VE

part2-step3-4-image006

這一份教學文件將講述如何使用Proxmox VE 3.2網頁管理介面加入NFS檔案共享伺服器。

In this article, I will describe how to add NFS file sharing server into Proxmox VE 3.2 via web-based management.

(more...)

開啟Proxoxmox VE網頁管理介面 / Open Proxmox VE’s Web-based Management

開啟Proxoxmox VE網頁管理介面 / Open Proxmox VE’s Web-based Management

part2-step3-3-image003

這一份教學主要說明如何開啟Proxmox VE 3.2的網頁管理介面。

In this article, I will describe open Proxmox VE 3.2’s web-based management.

(more...)

安裝Proxmox VE 3.2 / Install Proxmox VE 3.2

安裝Proxmox VE 3.2 / Install Proxmox VE 3.2

part2-step3-2-image001

這一份教學主要說明Proxmox VE 3.2安裝步驟。Proxmox VE的圖形化安裝介面操作可以讓人簡單地設定。

In this article, I will describe how to install Proxmox VE 3.2. It is very easy to install Proxmox VE via its friendly installation GUI.

(more...)

Proxmox VE中上傳虛擬應用範本 / Upload Virtual Appliaction to Proxmox VE

Proxmox VE中上傳虛擬應用範本 / Upload Virtual Appliaction to Proxmox VE

image

這篇教學會介紹虛擬應用範本、虛擬應用範本的下載位置以及上傳到Proxmox VE的方法。

In this article, I will introduce Virtual Application Template and describe how to upload template file to Proxmox VE.

(more...)

解決Proxmox VE KVM虛擬機器硬碟與光碟常見問題 / The solution for KVM virtual machine’s hard drive and ISO mount misconfiguration in Proxmox VE

解決Proxmox VE KVM虛擬機器硬碟與光碟常見問題 / The solution for KVM virtual machine’s hard drive and ISO mount misconfiguration in Proxmox VE

proxmox-logo

最近我們在大規模地遷移Proxmox VE中的虛擬機器,其中KVM類型的虛擬機器在轉移時常常會遇到許多各種不同的問題,像是硬碟設定或是光碟設定錯誤。我將這些問題的處理方式記錄如下。

When I migrated KVM virtual machines at Proxmox VE, I encountered many problems, such as hard drive or CD/DVD drive misconfigured. This article I describe the solutions for those problems.


硬碟驅動錯誤 / Hard Drive Misconfigured

Image 3

最常見的就是硬碟驅動配置錯誤。有段時間我常常先在VirtualBox建立虛擬機器,再轉移到Proxmox VE。這種轉移方式通常只是上傳最重要的硬碟映像檔,像是vmdk或是qcow2 (但是在VirtualBox上運作qcow2的效率其差無比就是了)。

從VirtualBox到Proxmox VE的配置 / Configuration From VirtualBox to Proxmox VE

如果只是轉移硬碟映像檔的話,必須特別注意他們的硬碟驅動設定必須一致。如果當初建立的時候使用IDE,在轉移之後建立也就必須使用IDE。

2014-03-04_063543

舉例來說,這是VirtualBox的操作介面,你可以看到這台虛擬機器的硬碟是被設定成SATA

Image 5

但是在Proxmox VE上,這臺虛擬機器的硬碟卻被設成了IDE。在Windows XP或是Linux卻使用LVM的情況下,往往會造成開機失敗。

Image 6

因此,在建立虛擬機器的硬碟時,必須特別注意其使用的硬碟驅動器。

解決方式:修改硬碟控制器 / Solution: Modify Hard Drive Controller

如果你已經將硬碟安裝成錯誤的硬碟驅動器,那Proxmox VE網頁介面上是無法直接修改。我建議是使用SFTP直接操作伺服器的檔案系統,作法如下:

  1. 先以正確的硬碟驅動器新增一個硬碟映像檔,檔案大小不拘。
  2. 以SSH登入Proxmox VE:預設連接埠22。
  3. 進入KVM的硬碟擺放位置:以VMID為260的虛擬機器為例,路徑位置就是/var/lib/vz/images/260
  4. 新建立的硬碟映像檔檔名通常會是「vm-260-disk-2.vmdk」,而用錯誤方式建立的硬碟映像檔通常會是「vm-260-disk-1.vmdk」。
  5. 記住新映像檔檔名,把新的硬碟映像檔刪除,再把舊的硬碟映像檔換個名字
  6. 回到Proxmox VE網頁介面,刪除舊硬碟映像檔的設定,只留下新建立正確的硬碟設定

這樣就完成了。


CD/DVD光碟掛載錯誤 / CD/DVD Drive ISO Mount Misconfigured

Image 7

前一種情況大多是只轉移硬碟映像檔的時候,這一種情況則是使用Proxmox VE的備份功能vzdump匯出虛擬機器之後、再匯入新的Proxmox VE的情況。細節作法可以看我寫的另一篇「Proxmox VE用備份(vzdump)與還原(restore)複製虛擬機器」。

使用vzdump的時候,虛擬機器的設定會鉅細靡遺地被保留,並還原到新的虛擬機器環境中。問題是在於新的環境中可能使用的Storage ID(儲存空間名稱)不一樣,就會導致無法正常開機的問題。

Image 8

以上圖為例,當Storage設定錯誤時,發生錯誤訊息就會是:

TASK ERROR: storage 'proxmox-nas' does not exists

這是因為這個Proxmox VE虛擬機器環境下沒有名為「proxmox-nas」的Storage的緣故。

解決方式:取消掛載映像檔 / Solution: Unmount ISO

Image 9

解決方式很簡單,就是把掛載的映像檔取消掉就好了。

  1. 指定該硬碟,按下Edit
  2. 設定Do not use any media,或是重新掛載正確的ISO映像檔,按下OK即可

這個問題警惕了我們,如果虛擬機器設定完畢之後,記得取消掛載安裝時使用的映像檔設定。


結論:不要害怕使用虛擬機器 / Conclusion: Embrace Virtual Machine

每次遇到虛擬機器的各種問題,我常常聽到的抱怨都是:「為什麼要用這種東西?你就不能裝在實體機器上嗎?」就我個人來看,這種抱怨是一種誤解。

如果你仔細看看這篇敘述的兩種問題,其實是很容易類比到實體機器上──就像是拿著SATA線去接一顆IDE硬碟,或是在光碟機裡面指定放進一片不存在的光碟。儘管實體機器操作中,有些常識的網管可能不會卡在這麼奇怪的問題上,但這的確是可以從實體機器類推到虛擬機器上的情況。

我想說的是,其實虛擬機器的設定跟實體機器沒有這麼大的差別,但比實體機器設定更為容易。以硬碟控制器的問題來說,實體機器的情況可能是一顆舊的IDE硬碟要裝到新的伺服器上,如果伺服器只剩下SATA線,那要裝IDE硬碟還必須搭配張SATA to IDE的轉接卡才能使用,安裝時還得考量到轉接卡阻礙線材空間等問題,處理起來挺費工夫的。但是虛擬機器只要設定幾項參數即可完成調整,方便許多。

虛擬機器除了有助於網管之外,快速還原的能力還能夠用於程式開發上。在「成为一个PHP专家:缺失的环节」一文中建議PHP時使用虛擬機器建立個Linux,以方便隨時重新開始或還原到程式開發的某個狀態。這些都是非常有用的功能。

因此,我會對VirtualBox、Proxmox VE、OpenVZ、KVM等多種開放自由的技術抱持最高的敬意,並繼續擁抱虛擬機器。

(more...)

修復Proxmox VE Cluster無法備份的問題 / Repair Proxmox VE Cluster cannot backup problem

修復Proxmox VE Cluster無法備份的問題 / Repair Proxmox VE Cluster cannot backup problem

2014-03-02_215010

最近我處理的Proxmox VE因為Cluster眾多功能異常,導致很多功能都無法正常使用。這次遇到的問題是備份時被鎖住的問題,解決方法是重新啟動Proxmox VE所有的服務,然後將該節點設為expected。

When Proxmox VE Cluster cannot work properly, the backup function maybe disabled,  due to permission is locked to read-only. This article describes how to repair this problem.


錯誤訊息 / Error Message

我在node(Proxmox VE Cluster中運作的一台伺服器,稱為node)名為「proxmox-master-c」為KVM類型的VMID 260虛擬機器進行備份。遇到的錯誤如下:

INFO: starting new backup job: vzdump 260 --remove 0 --mode snapshot --compress gzip --storage <STORAGE ID> --node <NODE>
INFO: Starting Backup of VM 260 (qemu)
INFO: status = stopped
INFO: update VM 260: -lock backup
INFO: unable to open file '/etc/pve/nodes/proxmox-master-c/qemu-server/260.conf.tmp.3682' - Permission denied
ERROR: Backup of VM 260 failed - command 'qm set 260 --lock backup' failed: exit code 2
INFO: Backup job finished with errors
TASK ERROR: job errors

關鍵在於紅字的地方。要備份時,Proxmox VE會寫一個暫存檔在虛擬機器設定檔的目錄,但是錯誤訊息顯示該目錄有權限問題,只能讀取不能寫入(read-only)。

為什麼被設定成只能讀取的權限了 / Why Permission is Read-only Permission?

這是因為Proxmox VE加入了Cluster中,並啟用了Proxmox Cluster file system (pmxcfs)。pmxcfs的特色其中有一項:

read-only when a node looses quorum

意思是,當Proxmox VE運作喪失了quorum元件時,Proxmox VE節點的虛擬機器設定會被轉換成read-only。儘管虛擬機器本身是可以正常運作的,但是卻不能進行任何設定,包括備份。因為權限備份被鎖起來了。

而這個問題另一篇Wiki中有敘述。簡單來說,因為Cluster異常,quorum無法順利讀取,讓整個Cluster中的node彼此之間無法正常連線,導致每個node都只能看到自己的運作狀態,這時候node就會自動鎖起來。

警告 / Warning

以下方法是我摸索解決方案的一個過程,很多細節我不清楚,有幾台node可以如此解決,可是有幾台不行。我還沒有了解整個原因細節,在此只是記錄一下目前的解決方法。

Wiki的解決方式 / The solution from Wiki

根據wiki的介紹,最簡單的方式是在有問題的node上輸入指令:

# pvecm expected 1

但是當我要這樣做的時候,卻又有另一個錯誤訊息發生,告訴我cman並沒有正常啟動。我嘗試想要用「service cman start」,但是卻依然不能執行「pvecm expected 1」。

我的解決方式 / My solution

因此我決定參考Re-installing a cluster node的方法,先關掉所有相關服務,再開啟相關服務,最後再執行expected指令。我將這些指令建置成了expected.sh,可以從GitHub上下載,檔案內容細節如下:

#!/bin/sh

service pvestatd stop
service pvedaemon stop
service cman stop
service pve-cluster stop

service pve-cluster start
service cman start
service pvedaemon start
service pvestatd start

pvecm expected 1

執行的時候依然會遇到很多問題,quorum等待過時(time-out)的問題依然沒有改變,如下圖:

2014-03-02_215458

儘管如此,執行完之後,有一定機率可以正常啟用整個Cluster。

其他注意事項 / Other Note

說是一定機率的原因是,有時候可能要重開機之後再執行一次expected.sh。但是這不一定每次都會成功,我試了好幾台,結果都不一樣。必須注意的是,重開機之後,虛擬機器不會正常地Start on boot,需要手動開啟。

其中有幾台因為網路交換器出了問題(ASUS的,真是堅若磐石)而導致quorum無法正常運作。更換交換器之後就正常運作了。

目前我手邊已經沒有需要做這樣修復的node,所以我接下來就不會繼續深入探究了。就做到這邊吧。

(more...)

Proxmox VE集叢重新加入節點 / Proxmox VE Cluster re-add (decluster) node

布丁布丁吃布丁

Proxmox VE集叢重新加入節點 / Proxmox VE Cluster re-add (decluster) node

proxmox_logo2configuration2

因為原本Proxmox VE集叢(Cluster)中有些節點(node)故障了,我想要移除該節點再重新加入,可是加入的手續卻沒這麼單純。參考sigxcpu的說明,我將作法摘要再這篇供大家參考。

This article will introduce how to re-add node in Proxmox VE Cluster.


不能直接用pvecm操作 / pvecm delnode & add not work

image

原本我的想法是先做delnode,再將自己加入。原本想像的指令如下:

pvecm delnode <self-node>

pvecm add <another-node>

可是實際上,雖然delnode不會顯示錯誤訊息,但是卻也無法順利從集叢中移除自己的節點。而且在用add加入節點時,也會發生以下錯誤訊息:

authentication key already exists

重新加入節點的腳本 / Script for Re-add node

在Proxmox論壇找了一下,才發現sigxcpu寫的解法

Step 1. 移除節點設定 / Delete Cluster Configuration (Decluster)

首先要停止服務、移除相關設定,然後重新開機。我撰寫了腳本上傳到github,你也可以直接用此腳本來操作。

decluster.sh檔案內容如下:

#!/bin/bash

service cman stop
killall -9 corosync cman dlm_controld fenced
service pve-cluster stop
rm /etc/cluster/cluster.conf
rm -rf /var/lib/pve-cluster/* /var/lib/pve-cluster/.*
rm /var/lib/cluster/*
reboot
Step 2. 重開機後加入節點 / Add to Cluster

重開機之後再正常執行加入節點的指令即可:

pvecm add <another-node>

這個節點必須是已經是目標集叢中的一員,可以用IP指定。大致上這樣就完成了。


小結:隱憂? / Conclusion: Something Strange…

今天下午我按照這個作法重新加入節點之後,集叢中的其他節點就無法正常運作了,整個集叢無法連線,但各別機器可以正常提供服務。

我現在還不清楚原因為何,是不是跟我重新加入節點有所相關。總之之後有其他發現的話,我會再介紹其他解決的方法。

(more...)

OpenVZ掛載NFS的虛擬機器設定 / OpenVZ container configuration to mount NFS

OpenVZ掛載NFS的虛擬機器設定 / OpenVZ container configuration to mount NFS

image

如果要讓OpenVZ架設的Linux虛擬機器掛載NFS(Network File System),Host端必須先設定虛擬機器(container)的"nfs:on"。以下介紹詳細作法。

If you want to let OpenVZ container to mount NFS (Network File System), you have to enable "nfs:on" feature on host server first. Following is the details.


不能掛載NFS:mount.nfs: No such device / Mount NFS Error

image

如果NFS用戶端設定正確(可以參考鳥哥的NFS用戶端設定教學),可是仍出現錯誤訊息:(Debian上的)

mount.nfs: No such device

或是錯誤訊息:(CentOS上的)

mount: wrong fs type, bad option, bad superblock on 10.9.5.95:/raid0/data/_NAS_NFS_Exports_/email-km,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

這時候可能是因為OpenVZ尚未開啟NFS的功能的關係。

包括Proxmox VE在內,大部分OpenVZ虛擬機器(OpenVZ Container)在建立時都沒有開啟NFS的功能。如果要讓虛擬機器本身能夠掛載NFS目錄,請依照以下方法來開啟。

開啟虛擬機器的NFS功能 / Enable Container’s NFS Feature

Step 1. 將虛擬機器關機 / Shutdown Container

要進行設定之前必須先將虛擬機器關機。關機指令為:

# halt
Step 2. 進入Host端命令列 / Enter Host Shell

首先先進入Proxmox VE的網頁管理介面,預設連接埠為8006,必須用https進入。

image

登入之後,找到該虛擬機器的Host伺服器,進入右上角的「Shell」介面。

image

Proxmox VE提供了Java Applet連線的主控介面(console),可以在此直接以root身分操作Host端伺服器。

Step 3. 設定"nfs:on" / Setting "nfs:on"

接下來要照OpenVZ的說明設定虛擬機器。該機器的VMID若是101,那麼開啟NFS的指令如下:

vzctl set 101 --features "nfs:on" --save; vzctl start 101

image

設定完成之後,虛擬機器會一起啟動。

Step 4. 完成掛載設定

image

這時候再開啟虛擬機器,掛載NFS的時候,指令就能正常執行。


NFS掛載指令與設定 / NFS Mount Configuration

參考鳥哥的Linux私房菜中NFS客戶端的教學,OpenVZ要使用NFS,通常必須先做以下設定:

Step 1. 安裝nfs-common / Install nfs-common

Debian或Ubuntu系列請用apt-get安裝:

apt-get install nfs-common

CentOS或RedHat系列請用yum安裝:

yum install -y nfs*
Step 2. 測試NFS掛載指令 / Test NFS Mount Command

NFS的掛載位置必須參考NFS伺服器的設定。每一台NFS伺服器設定都不一樣,特別是現在各家NAS使用自家作業系統之後,提供的路徑千奇百怪,我在這邊卡了許久,後來升級NAS的韌體才知道NFS掛載路徑。

舉例來說,NFS伺服器設定如下:

  • IP網址:10.9.5.95
  • NFS的掛載路徑:/raid0/data/_NAS_NFS_Exports_/cluod-rstudio-2013
  • 本機的掛載路徑:/tmp/nfs(請預先用mkdir建立好該目錄)

那麼NFS掛載的指令就是:

mount -t nfs 10.9.5.95:/raid0/data/_NAS_NFS_Exports_/cluod-rstudio-2013 /tmp/nfs

試著執行看看。如果沒有任何訊息,那就是順利成功了。

Step 2-1. 錯誤: rpc.statd / Mount Error: rpc.statd

我在CentOS遇到以下錯誤訊息:

mount.nfs: rpc.statd is not running but is required for remote locking.

mount.nfs: Either use '-o nolock' to keep locks local, or start statd.

mount.nfs: an incorrect mount option was specified

那麼就必須先開啟rpcbind,指令為:

service rpcbind start

Step 2-2. 錯誤:mount.nfs: Connection refused / Mount Error: Connection refused

舊版本的CentOS會遇到這個問題。掛載時遇到的錯誤訊息如下:

mount.nfs: Connection refused

這版本的CentOS不是用rpcbind,而是用portmap。所以要先開啟portmap服務:

service portmap start

這樣就能夠正常掛載

Step 3. 開機自動掛載 / NFS Mount On Boot

修改 /etc/rc.local,加入剛剛測試成功的設定:

mount -t nfs 10.9.5.95:/raid0/data/_NAS_NFS_Exports_/cluod-rstudio-2013 /tmp/nfs

或是加上額外設定需要的「service rpcbind start」或「service portmap start」。

這樣就完成了。

(more...)

Proxmox VE 3安裝與建立OpenVZ虛擬機器 / Proxmox VE 3 Installation and Setup OpenVZ Container

Proxmox VE 3安裝與建立OpenVZ虛擬機器 / Proxmox VE 3 Installation and Setup OpenVZ Container

proxmox-logo

為了推廣Proxmox VE 3OpenVZ虛擬應用樣板的使用,這篇以圖文解說來教大家安裝Proxmox VE 3以及在Proxmox VE 3裡面建立OpenVZ虛擬機器。

To promote Proxmox VE 3 and OpenVZ virtual appliance template technology, I write this guide article to teach you install Proxmox VE 3 and show you how to use Proxmox VE 3 to create OpenVZ container (virtual machine).


技術簡介 / Introduction

Proxmox VE

Proxmox VE是Proxmox公司推出的開放原始碼虛擬機器管理系統,目前已經推出到第三版,叫做Proxmox VE3。

Proxmox VE 3是相當容易安裝與使用的虛擬機器管理系統。他能結合OpenVZ與KVM兩種技術提供IaaS層級的雲端服務。而且是開放原始碼軟體,我們可以自由下載與使用。

OpenVZ與虛擬應用樣板 / OpenVZ & Virtual Appliance Template

OpenVZ是相當成熟的虛擬化技術,架設Linux網站的效率非常高。用OpenVZ通常是架設網站伺服器。網路上提供了相當多的樣板可以下載、安裝,一個樣板就是一個完整的網站服務,例如DrupalJoomla。你只要下載樣板、建立虛擬機器、設定網路、開機,用瀏覽器打開該虛擬機器的位置,一個完整的服務就這樣建好了。

以我的經驗,一台普通的伺服器可以架設20台以上的OpenVZ,全部都能正常提供服務。相較之下,以KVM技術來架設的虛擬機器最多大概不能超過3台。

OpenVZ跟現在主流的KVM、VMware等技術不同,只能虛擬化Linux,也不能相容大多雲端平台,只能在少數雲端平台中架設,例如這次要介紹的Proxmox。

以下就教大家如何建立運行OpenVZ所需要的雲端平台Proxmox VE,以及用OpenVZ來建立虛擬機器吧。


安裝環境 / Installation Environment

2013-07-14_205049

安裝Proxmox VE 3的硬體環境建議為:

  • CPU:最好是64位元架構。雖然32位元仍可以正常運作。如果CPU支援虛擬化指令集,例如Intel VT-x,那就可以用KVM虛擬機器。但是OpenVZ不管CPU有沒有支援虛擬化指令集都可以使用。
  • 記憶體 RAM:建議大於4GB,至少也要512MB。
  • 硬碟空間:建議大於60GB,至少也要4GB。
  • 網路:要配給Proxmox VE一個IP,底下的虛擬機器也建議擁有獨立IP。(如果IP不夠,可以嘗試架設虛擬區域網路,請看我之前寫的介紹

如果在實體伺服器上安裝Proxmox VE 3,建議盡量以以上參數為主喔。

使用VirtualBox安裝Proxmox VE 3 / Install Proxmox VE 3 on VirtualBox

你也可以用VirtualBox來架設Proxmox VE,提供自己測試使用。以下我就是用VirtualBox來架設Proxmox VE,配置參數為:

  • 作業系統:Debian (64 bit)
  • 網路Host-only 「僅限主機」介面卡。這是重點,Proxmox VE在Host-only底下預設IP就會是192.168.56.101。
  • 硬碟:2TB
  • 掛載光碟proxmox-ve_2.3-ad9c5c05-30.iso (MEGA備份)

然後接著把虛擬機器開機,就開始來安裝Proxmox VE 3囉。

Step 1. 安裝Proxmox VE 3 / Install Proxmox VE 3

開機之後,虛擬機器會因為光碟引導的關係,出現以下Proxmox安裝歡迎畫面。

2013-07-14_012547

按下Enter之後進入下一個畫面。一開始會因為Proxmox VE要從DHCP抓取IP的關係,需要稍微等待一下。然後接著會顯示授權條款,按Next繼續。

2013-07-14_012737

然後接著會顯示Proxmox VE的說明,按Next繼續。

2013-07-14_012812

然後接著要輸入鍵盤配置。在Country輸入Taiwan,Proxmox VE會自動辨識我們的鍵盤是U.S. English。按Next繼續。

2013-07-14_012851

接下來要輸入密碼跟E-Mail。密碼兩次都要相同,在此以「password」為例子作為Proxmox VE的密碼。E-Mail是給系統通知時寄送通知管理者的信箱位置。輸入完畢後按Next繼續。

2013-07-14_013320

接下來設定網路。Hostname (FQDN)必須是完整的網址,如「promxox.demo.com」。沒有在DNS上正式申請也無所謂,主要是辨識機器之用。下面是網路的設定,這是由DHCP抓取而來的設定。請在這裡就確定Proxmox VE的網路位置,不然之後很難修改。設定完畢之後按Next繼續。

2013-07-14_013412

接著開始安裝,大概等個30分鐘。

2013-07-14_013423

安裝完成,按Reboot重新啟動。重新啟動之後記得要把Proxmox VE的光碟拿掉喔。

2013-07-14_101925

重新啟動之後就會看到Proxmox VE的指令列端介面。至此為止Proxmox VE安裝就算完成囉。

2013-07-14_102048

Step 2. 進入Promox VE網頁管理介面 / Proxmox VE Central Web-base Management

Proxmox VE是沒有桌面端操控介面,大部分操作是透過網頁管理介面來進行。你看到指令列端的歡迎訊息寫著「https://192.168.56.101:8006」就是它的網頁管理介面的位置。以下操作都是在網頁管理介面中進行。我是使用Firefox 22.0來開啟Proxmox VE 3的網頁管理介面。

image

開啟網址:「https://192.168.56.101:8006」(注意是https,不是http)之後,你會先看到「這個連線未受信任」的訊息。這是因為Proxmox VE使用未受認證的SSL來連線。你可以花錢購買一個SSL認證來讓Proxmox VE連線狀況正常,不過通常我們會讓Firefox把它加入安全例外。

作法如下圖,步驟如下:

  1. 我了解此安全風險
  2. 新增例外網站
  3. 確認安全例外

2013-07-14_102704

接著進入Proxmox VE 3的網頁管理介面。登入畫面要你輸入帳號密碼。預設帳號密碼如下:

  • User name: root
  • Password: password (就是上面安裝Proxmox VE時要你輸入的密碼)

2013-07-14_102734

接著會正式進入到Proxmox VE網頁管理介面,這樣就可以進行虛擬機器的建立、管理等囉。

2013-07-14_102745

Step 3. 上傳虛擬應用樣板 / Upload Virtual Appliance Template

要用OpenVZ建立虛擬機器,必須要從虛擬應用樣板開始著手。請先從以下網址先下載你需要的樣板吧:

以下介紹是用Drupal的虛擬應用樣板debian-6.0-drupal_6.26-2_i386.tar.gz為例子介紹。

首先是在Proxmox VE的網頁管理介面中,從左邊的Server View裡找到local (proxmox)這個本機節點(因為Proxmox VE可以串連很多台Proxmox VE做集叢式管理,所以未來還可以加入其他節點),然後選擇標籤「Content」,再按下面的「Upload」開啟上傳對話視窗。

2013-07-14_102925

先選擇上傳檔案類型為「OpenVZ template」,也就是OpenVZ的虛擬應用樣板。再來選擇剛剛你下載的樣板檔案debian-6.0-drupal_6.26-2_i386.tar.gz,然後按下Upload。

image

上傳完成之後,Content裡面就有一個樣板了。確認樣板存在後,我們就可以來建立OpenVZ的虛擬機器囉。

Step 4. 建立OpenVZ虛擬機器 / Create OpenVZ Container (Virtual Machine)

OpenVZ的虛擬機器叫做Container,簡稱CT。有了虛擬應用樣板之後,你可以在Proxmox VE的網頁管理介面右上角的「Create CT」來建立OpenVZ的虛擬機器。

2013-07-14_210505

建立步驟是以精靈的方式一一跟你確認虛擬機器的參數。

第一步 General:主要要確認Hostname(主機名稱)與Password。主機名稱我輸入drupal,表示這是一個專門運作Drupal系統的虛擬機器。密碼我設為「password」。然後按Next進入下一步。

2013-07-14_210604

第二步 Template:選擇剛剛上傳的虛擬應用樣板debian-6.0-drupal_6.26-2_i386.tar.gz吧。按Next進入下一步。

2013-07-14_210641

第三步 Resources:此處設定記憶體、硬碟大小與CPU用量。

  • 記憶體:Memory是記憶體、Swap是以硬碟模擬的記憶體,在Linux中兩個參數最好相等。OpenVZ技術的記憶體是採共享的機制,因此上限只要不要超過實體機器記憶體的數量就可以了。
  • 硬碟:Disk size (GB),以GB為單位。用多少就是多少,沒有KVM或VMware那種動態硬碟,越用會讓硬碟越來越大的問題。
  • CPUs:使用CPU的額度,多核心CPU中才會去設定。

對Durpal來說,除了硬碟可以考慮設置大一點之外,其他都用預設參數即可。設定好之後按Next進入下一步。

2013-07-14_210654

第四步 Network:請設定固定IP,以Routed mode (venet)網路卡的形式,給予一個固定的IP吧。因為我現在是在VirtualBox的Host-only網路配置下,所以可以給它一個192.168.56.152的IP使用。這個IP非常重要,待會開啟Drupal就要用這個IP來連線喔。設定好之後按Next進入下一步。

2013-07-14_210725

第五步 DNS:設定DNS資訊。沒有特別需要用Domain Name操作什麼的話,此處可以先不設定。這些參數之後還是可以透過Proxmox VE的網頁管理介面來修改,就算設錯也沒關係。在此我就不設定,直接按Next進入下一步。

2013-07-14_210748

最後是確認OpenVZ虛擬機器的資訊,沒問題就按Finish開始建立虛擬機器。

2013-07-14_210757

建立虛擬機器大概不到五分鐘,出現「TASK OK」就算建立完成。

2013-07-14_210843

建立完成之後,你會發現左邊的ServerView多了一台100 (drupal),這就是剛剛建立的OpenVZ虛擬機器。

接著我們要先設定他會在Proxmox VE啟動的時候自動開機。點入100 (druapl)之後,進入Options,在Start at boot那項雙擊兩下滑鼠,編輯該選項。

image

將Start at boot打勾,按OK完成設定。

image

然後我們還要補設定一個網路參數。到Network頁面中,在Add按鈕下新增Network Device (veth)。

image

新增Name為eth0的網路卡。按下Add之後確定。

image

最後按下Start啟動虛擬機器。

image

到此為止,OpenVZ的虛擬機器就建立完成囉。

Setp 5. Drupal安裝與使用 / Drupal Installation & Usage

還記得剛剛建立OpenVZ虛擬機器的時候,我們設定了「192.168.56.152」作為它的IP嗎?一般來說,只要直接開啟這個IP,就能夠順利使用虛擬應用樣板的系統。

不過在使用之前,我們最好還是先閱讀一下Drupal虛擬應用樣板介紹網頁,看看我們還得要做些什麼東西才能使用Drupal。

image

根據Drupal虛擬應用樣板介紹網頁的敘述,接下來還要安裝Drupal的步驟。請用瀏覽器開啟「http://192.168.56.152/install.php

image

進入Drupal的安裝畫面。安裝步驟很容易,我就不講了,可以參考sunchiahom的Drupal 6安裝流程介紹

最後安裝完成之後,就可以直接用 http://192.168.56.152 來連線囉。

image

Step 6. 用指令列操作OpenVZ虛擬機器 / OpenVZ Container Console

Proxmox VE提供了主控台(Console)端的操作介面,讓我們能以指令列操作OpenVZ虛擬機器。如果你不是熟悉Linux的網管人員,可以不需要進入這一步操作。

開啟方式是在該虛擬機器中,按下右上角的Console。

image

接著會跳出一個Console端的視窗。Console是以Java Applet執行,常常會有因為太久沒更新過期而Firefox禁止我們開啟的現象。你可以按左上角的紅色積木來啟用Java。

2013-07-14_203127

啟用之後,Java也會跳出安全警告。按下「繼續」進入Console端。

2013-07-14_203141

以下就是Console端的畫面。登入帳號密碼為:

  • login: root
  • password: password (就是剛剛建立OpenVZ時設定的Password)

2013-07-14_205444


下一步:Proxmox VE結合主流的雲端平台 / Next: Integrate Proxmox VE with Cloud Platform

我上面也有提到,Proxmox VE的OpenVZ虛擬機器跟現在主流的雲端平台,像是Open StackOpen CloudOpen Nebula都不直接相容。Open Nebula可以安裝OpenVZ Plugin,可是手續挺複雜的樣子。

因此在我看來,最簡單的整合方式還是直接以KVM技術架設Proxmox VE,然後用Proxmox VE來管理底下的OpenVZ虛擬機器。概念圖如下:

image

上述架構中,主要是以Ezilla(使用OpenNebula雲端平台)為主的架構,然後之中架設虛擬機器安裝Proxmox VE,再到Proxmox VE中建立OpenVZ虛擬機器。這時Proxmox VE跟OpenVZ虛擬機器都會是列在同一個區域網路,可以經由Ezilla統一管理。但是管理介面就會區隔開來,平時主要是以Ezilla來管理,而要用OpenVZ虛擬機器時,再進到Proxmox VE來管理。

這個方法看起來可行,可是實際上還沒做過。這之間還有很多網路問題,像是Proxmox VE會需要多個連接埠來提供Console端的連線,在上述架構中就會遇到問題。不過Console端其實很少使用,平常都會用直接透過SSH連線操作OpenVZ虛擬機器,所以不用Console端也沒問題。

那剩下就是實作了,希望最近有機會能把它完成。

(more...)