:::

設定Zentyal DHCP伺服器 / Setup DHCP Server in Zentyal

設定Zentyal DHCP伺服器 / Setup DHCP Server in Zentyal

image

這一份教學說明如何設定ZentyalDHCP伺服器,以提供動態IP給區域網路中的伺服器使用。

In this article, I will describe the steps to setup DHCP server in Zentyal. DHCP server could provide dynamic network configuration for servers in DLLL-CIAS local network.

  • 對應講義:PART-2-STEP-1-3-2
  • 主題:設定Zentyal DHCP伺服器 

教學目錄 / Table of Contents

  1. Zentyal 3.0.2安裝準備
  2. 安裝Zentyal 3.0.2
  3. DLLL-CIAS之Zentyal網路設定
  4. [目前在此篇 >> ] 設定Zentyal DHCP伺服器
  5. Zentyal安裝DLLL-CIAS Router雲端網路模組
  6. Zentyal設定DLLL-CIAS Router雲端網路模組

DHCP伺服器 / About DHCP Server

DHCP是一種用於區域網路中的通訊協定。當區域網路中有伺服器需要設定網路時,該伺服器會查詢區域網路中是否有DHCP伺服器,並跟該DHCP伺服器請求IP設定,最後設置到自己的伺服器上。關於DHCP的運作方式詳細可以看鳥哥的說明

在DLLL-CIAS中,我們也要架設DHCP伺服器,讓區域網路的虛擬機器能夠方便地連上網路。雲端網路模組也需要搭配DHCP伺服器來依據虛擬機器的MAC網卡位址固定他分配的IP位址。因此以下教學將帶大家在Zentyal中設定DHCP伺服器。


啟用DHCP模組 / Enable DHCP Module

  1. 先登入Zentyal網頁管理介面。
    image_thumb1
  2. 進入左邊導覽列的Module Status (模組狀態)
  3. 將DHCP的Status (狀態)打勾
    2014-06-24_141121
  4. 出現確認事項,按「ACCEPT」按鈕確認。
    2014-06-24_141238

DHCP伺服器設定 / Setup DHCP Server

  1. 在左邊導覽列下面找到DHCP進入。
    2014-06-24_141154
  2. DHCP中會有兩張網卡,我們關閉eth0 對外廣域網路的設定,取消前面Enabled的打勾;然後進入eth1 對內區域網路的COnfiguration,點選齒輪按鈕。
    2014-06-24_141340
  3. 這是eth1網卡的DHCP設定畫面,我們要設定的地方在下面,請往下捲動。
    2014-06-24_141351
  4. 找到Ranges (範圍),按下「+ Add new」按鈕。
    2014-06-24_141410
  5. 接著設定要配給的IP範圍。請照以下設定
    - Name: dlll-cias-dhcp
    - From: 10.10.0.1
    - To: 10.10.0.254
    然後按下「ADD」按鈕
    2014-06-24_141449
  6. 確認設定已經新增了。
    2014-06-24_141500
  7. 到左上角按下「Save changes」,將設定確實存入Zentyal之中。這樣DHCP伺服器就設定完成了。
    2014-06-24_141509

下一篇:Zentyal安裝DLLL-CIAS Router雲端網路模組 / Install DLLL-CIAS Router Module in Zentyal

為了更方便管理DLLL-CIAS雲端平台的網路,我們還需要為Zentyal安裝我自行開發的DLLL-CIAS Router雲端網路模組。詳細請看下一篇!

下一篇:「Zentyal安裝DLLL-CIAS Router雲端網路模組」。

(more...)

第四版DLLL-CIAS架構規劃 / DLLL-CIAS Version 4 Structure Planning

第四版DLLL-CIAS架構規劃 / DLLL-CIAS Version 4 Structure Planning

image

在整理DLLL-CIAS第三版教學的時候,我發現現有架構中有許多缺陷。因此我著手規劃DLLL-CIAS第四版的架構,目標是達到去中心化、分散式儲存、高可用、腳本自動化安裝,讓IaaS管理更為簡單。以下則是記錄到目前為止的規劃內容。

In order to impove some disadvantages in DLLL-CIAS version 3, I want to plan the next version with decentralized network structure, distributed storage, high availibity and setup script. Following is the next DLLL-CIAS structure draft.


系統架構 / System Architecture

image

這一張圖用來說明目前規劃DLLL-CIAS第四版(以下簡稱v4)的系統架構。跟DLLL-CIAS第三版(以下簡稱v3)的架構不同,虛擬機器管理伺服器(以下簡稱Proxmox)的功能大幅上升、網路管理伺服器(以下簡稱Zentyal)改以虛擬機器架設、而資料儲存伺服器(以下簡稱NAS)則是非必備的元件,在此圖中省略。主要元件只剩下1. 虛擬機器管理伺服器(Proxmox VE)之MASTER;2. 其他虛擬機器管理伺服器;3. 網路管理伺服器。以下先說明網路架構,再說明這三個元件的功能。

硬體需求 / Hardware Requirments

v4架構要求每一個Proxmox節點都能夠擔任身為MASTER的工作,因此硬體需求為:

  • 至少一台伺服器,最多可以擴增到1270台
  • CPU:64位元,必須支援Intel VT或AMD-V
  • 記憶體:8GB以上
  • 硬碟:80GB以上,建議每台伺服器都有2到4顆硬碟
  • 網路卡:1張

不支援以上最低需求的伺服器,再安裝時應該把Keepalive的HA優先度降低為0,以避免自己被輪到擔任Master Proxmox。

網路架構 / Network Topology

v3架構中是以網路管理伺服器(Zentyal)作為網路閘道路由器來連接內外網,在v4架構中則改成所有的節點都可直接連到對外網路。v4的所有節點仍維持原本的區域網路設定,僅有真正對外的伺服器以虛擬網路卡(Virtual Interface)掛載上可對外連線的網路設定。

在這個架構中至少四個對外IP。一個是給Master Proxmox實際對外連線的IP,其他3個是Zentyal上供管理Proxmox、NAS與虛擬機器的IP,其中管理虛擬機器的IP最多可以設定到250個。

設定舉例如下:

  • Master Proxmox IP位址:192.168.56.101
  • Zentyal上的設定:
    • 管理Proxmxo IP位址:192.168.56.102 (必須事先獲得上層DNS授權)
    • 管理NAS IP位址:192.168.56.103
    • 管理虛擬機器的IP位址:192.168.56.104

廣域網路其他設定:

  • Netmask 子網路遮罩:255.255.255.0
  • Gateway 網路閘道:192.168.56.1

v4在區域網路中的設定也跟v3不一樣:

  • Master Proxmox:10.254.0.254
    ※ 以虛擬IP掛載,同時會掛載Proxmox對外IP位址
  • Zentyal的IP位址:10.0.0.254
    ※ 同時會掛載Zentyal對外IP位址與兩個管理用IP
  • 每一台Proxmox:10.254.{1..5}.{1..99}
  • 每一台NAS:10.253.{1..5}.{1..99}
  • 虛擬機器:10.{1..250}.{1..5}.{1..254}

區域網路其他設定:

  • Netmask 子網路遮罩:255.0.0.0
  • Gateway 網路閘道:10.0.0.254

元件(1): 虛擬機器管理伺服器 / Component (1): Virtual Machine Management Server

跟v3架構中Proxmox僅作為Proxmox VE Cluster的一個節點不同,在v4架構中Proxmox還加上了高可用、分散式儲存等多項功能。

網路設定 / Network Configuration

Proxmox僅在區域網路中連線,網路設定為:

  • IP: 10.254.{1..5}.{1..99}
  • Netmask: 255.0.0.0
  • Gateway: 10.0.0.254

Proxmox Hostname設定規則為:

  • pve.master-rack.a.1-1.example.com

以下說明hostname設定規則:

  • pve: 這是一個Proxmox VE伺服器
  • master-rack:所在機架代號
  • a:機架上的位置編號
  • pve: 這是一個Proxmox VE伺服器
  • 1-1: IP位址的第三部分與第四部分
  • example.com:依據單位各自狀態設定

在這個架構下,舊節點捨棄之後,新的節點不取代舊節點的IP,直接往上新增。例如節點10.254.1.1毀損之後,新機器不設定10.254.1.1,而是設定10.254.1.2。

特別是Hostname必須不同,不能取代舊節點的Hostname,不然Proxmox VE Cluster會發生錯誤。

功能 / Functions

v4架構中每一台Proxmox都具備一樣的工作,以下分項目敘述。

Proxmox VE Cluster跟v3架構一樣,只有Storage多掛載一個目錄:

  • 每一台Proxmox都是Proxmox VECluster的節點
  • 以下設定只有第一台需要設定:
    • 建立Proxmox VE Cluster,名稱為DLLL-CIAS
    • Storage 掛載 /mnt/mfs 為 a_mfs,Max Backup設定為1。關於/mnt/mfs下面會說明。
    • 再到Storage 掛載 /mnt/mfs 為 mfs-backup,Max Backup設定為5,僅有Backup功能。
    • 排程備份VMID 100到mfs-backup,時間為每週一凌晨2:00,備份模式為snapshot,壓縮為none。
    • 排程備份除了VMID 100之外的虛擬機器到a_mfs,時間為每週日凌晨2:00,備份模式為snapshot,壓縮為gzip最佳。
  • 第二台之後設定以下:

高可用:

  • keepalived套件
  • 每一台都擔任BACKUP角色
  • keepalived中使用notify_master的腳本keepalived_to_master.sh:當該節點升格成MASTER角色時執行的動作。細節在下面的「情結:切換MASTER」會說明。
  • 開機自動啟動keepalived

分散式儲存:

  • MooseFS套件
  • 設定/etc/hosts:10.254.0.254 cias-pve-master
  • 除了安裝Proxmox所在硬碟之外的所有硬碟,全部格式化為ext3,掛載到/data/底下。例如/dev/sdb掛載到/data/sdb
  • master套件:安裝完成,預設不啟動,縮短垃圾桶時間,限制只能10.254.0.0/16連線
  • metalogger套件:監控cias-pve-master (原本預設是mfsmaster,在此做修改)
  • chunkserver套件:提供/data底下的資料夾給cias-pve-master當做儲存空間
  • mfsmount (mfs-client端):在/mnt/mfs掛載cias-pve-master
  • 以上都開機自動啟動、開機自動掛載

Zentyal備份到本機端:

  • 用crontab,在每週一凌晨4:00,從/mnt/mfs/dump/vzdump-qemu-100-*_*_*-*_*_*.*,複製並重新命名到/var/lib/vz/dump/zentyal.tar.vma,覆蓋舊檔案

停電斷線自動關機:

  • 使用crontab,每3分鐘確認是否可連線到8.8.8.8。如果無法連線,表示可能對外網路已經斷線,預約15分鐘後進行關機
  • 若恢復連線,則取消關機動作。

元件(2): MASTER虛擬機器管理伺服器 / Component (2): Master Virtual Machine Management Server

在v4架構中只會有一台Proxmox擔任Master,以下簡稱Master Proxmox。這台Master Proxmox在以Keepalived實作的高可用集叢(High Availability Cluster,以下簡稱HA)中,可由任何一台Proxmox擔任。Keepalived會依照優先權決定擔任Master的Proxmox,在安裝Proxmox的時候可以設定優先權。

網路設定 / Network Configuration

Master的Promxox同時具有對外網路與對內網路連線,Keepalived會自動幫擔任Master的Proxmox設定好額外的網路設定。Master的網路設定都是用虛擬IP的方式設定,並不影響原本Proxmox本身的網路設定。

廣域網路設定如下,請根據現實環境來修改:

  • IP: 192.168.56.101
  • Netmask: 255.255.255.0
  • Gateway: 192.168.56.1

區域網路設定如下:

  • IP: 10.254.0.254
  • Netmask: 255.0.0.0
  • Gateway: 10.0.0.254

Hostname為:cias-pve-master。但實際上並不設定在伺服器本身,僅在/etc/hosts記錄。

功能 / Functions

Master的Proxmox基本功能都跟其他Proxmox一樣,只是額外具有以下功能:

  • 負責給其他Proxmox加入Cluster用
  • Keepalived的status為MASTER
  • MooseFS的mfsmaster跟mfscgiserv皆啟動,可用9425連接埠觀看
  • 自身運作著Zentyal虛擬機器
  • 定時匯出虛擬機器列表到mfs管理目錄中
  • 定期檢查節點是否存活,如果沒有存活則自動將該節點進行情節(6)移除節點的腳本

元件(3): 網路管理伺服器 Zentyal / Component (3): Network Management Server

Zentyal的工作跟v3時差不多,但是把管理區域區隔開來,這部份會在雲端網路模組中改進。

網路設定 / Network Configuration

Zentyal的網路設定跟v3一樣有兩張網卡。對外廣域網路網卡上基本設定了一個IP,然後再用虛擬IP掛載至少兩個管理用IP。對內區域網路網卡則只會有一個設定。

廣域網路的設定請根據現實環境來修改。管理Proxmox的IP如下,這同時也是Zentyal Web GUI的連線設定,也必須是擁有DNS授權的功能:

  • IP: 192.168.56.102
  • Netmask: 255.255.255.0
  • Gateway: 192.168.56.1

然後以下兩個廣域IP是用虛擬IP的方式設定:

  • 管理NAS用:192.168.56.103。整合到雲端網路模組設定。
  • 管理虛擬機器用:192.168.56.104。此類型IP可以增加到240個。整合到雲端網路模組設定。

區域網路設定只有一個,設定如下:

  • IP: 10.0.0.254
  • Netmask: 255.0.0.0
  • Gateway: 10.0.0.254

Hostname為cias-router。

功能 / Functions

Zentyal使用KVM虛擬機器,主要工作為基本的閘道器跟雲端網路模組這兩種。

以KVM虛擬機器架設Zentyal設定為:

  • 硬碟:4 GB
  • 記憶體:2 GB
  • 網路卡:1張virtio高速網卡

該虛擬機器會預先配置好以下動作:

  • 安裝好Zentyal 3.0,僅安裝最小需要的元件:DNS Server、DHCP Server
  • 啟用模組
  • 配置區域網路設定:10.0.0.254/8
  • 安裝好雲端網路模組
  • 網路設定:SSH僅供10.254.0.254連線,其餘禁止
  • 設置DHCP Server:提供範圍是10.251.{0..254}.{1..254}
  • 設置腳本:新增Zentyal帳號與密碼 (create_user.sh)、設定Proxmox管理IP (setup_ip_proxmox.sh)、設定NAS管理IP (setup_ip_nas.sh)、設定虛擬機器管理IP (setup_ip_vm.sh)
  • 開發用腳本:清除log設定 (dev_clean.sh)

基本網路閘道器角色功能為:

  • DNS Server:可以設定註冊新的Domain Name
  • DHCP Server:給區域網路暫時取得IP使用

雲端網路模組包括:

  • PVE Back End:Proxmox連線管理:固定使用原本的IP,給Proxmox做連接埠轉遞跟反向代理伺服器(reverse proxy,以下簡稱RP)來連線管理
  • NAS Back End:NAS連線管理:指定一個IP給NAS用,給NAS做連接埠轉遞管理跟RP來連線管理
  • VM IP:虛擬機器管理IP對應編號設定:設定IP與區域網路第二部分對應,對應編號範圍為{0..250}。舉例來說,192.168.56.104對應設定0,對應的區域網路範圍就是10.0.{1..5}.{1..99},對應VMID為{1..5}{01..99}。虛擬機器VMID與區域網路IP對應請看後面的介紹。
  • VM Back End:虛擬機器連線管理:給虛擬機器做連接埠轉遞跟RP。直接設定VMID,由VMID轉換成區域網路IP對應。虛擬機器VMID與區域網路IP對應請看後面的介紹。
  • 其他:URL Redirect、DNS,功能跟v3相同,只是IP使用的是給Proxmox管理用IP。

元件(4): 資料儲存伺服器 NAS / Component (4): Storage Server

NAS在v4架構中不是必須的,但如果有多的NAS想納入架構的話,在v4中依有NAS的位置。跟v3一樣,NAS的功能主要的工作是擺放備份檔案、ISO跟虛擬應用範本。許多人會拿NAS來放置KVM的映像檔,然後運作KVM,但是在DLLL-CIAS中並不這樣做。DLLL-CIAS的虛擬機器預設都會運作在a_mfs上。

網路設定 / Network Configuration

NAS的網路設定都是區域網路,僅提供DLLL-CIAS內部使用,對外連線則是由Zentyal的NAS管理IP來控制。

  • IP: 10.253.{1..5}.{1..99}
  • Netmask: 255.0.0.0
  • Gateway: 10.0.0.254

NAS的Hostname設定規則與Proxmox類似:

  • nas.master-rack.a.1-1.example.com

以下說明Hostname設定規則:

  • nas: 這是一台NAS
  • master-rack:所在機架代號
  • a:機架上的位置編號
  • 1-1: IP位址的第三部分與第四部分
  • example.com:依據單位各自狀態設定
功能 / Functions

在v4中的NAS只會使用它的NFS功能,分享的NFS名稱同Hostname,讓它掛載到Proxmox VE Cluster的Storage中,掛載名稱也跟Hostname相同。


虛擬機器VMID與區域網路IP對應規劃 / Virtual Machine ID and Local IP Address Mapping

為了確保虛擬機器與區域網路IP的一致性,v4架構中在雲端網路模組改以強制設定VMID,而非以往的設定區域網路IP。VMID與IP的對應規則如下:

VMID 100為特殊VMID,僅給zentyal使用。

VMID的組合基本上為3~6碼,分成前三碼跟後三碼兩個部分,前三碼為虛擬機器管理對外IP對應編號,範圍為{0..250},對應到區域網路IP的第二部分;後三碼為連接埠轉遞的編號,範圍為{101..199}、{201..299}、{301..399}、{401..499}、{501..599},連接埠轉遞編號第一碼對應到區域網路IP的第三部分、後兩碼對應到區域網路IP的第四部分。

舉例來說:

  • VMID 101:對外IP編號0,連接埠轉遞101xx,區域網路IP 10.0.1.1,這是VMID範圍的最小值。
  • VMID 10501:對外IP編號10,連接埠轉遞501xx,區域網路IP 10.10.5.1
  • VMID 250599:對外IP編號250,連接埠轉遞599xx,區域網路IP 10.250.5.99,這是VMID範圍的最大值。

在這樣的規劃下,v4的虛擬機器最大數量為495連接埠轉遞*250對外IP編號共123000 (12萬3千)台,此時需要250個給虛擬機器用的對外IP,加上其他元件的需求,總共需要253個對外IP。

若以最低對外IP的條件來看,以最少4個對外IP的規劃中,虛擬機器最大數量即為495台。


管理情節 / Management Scenario

v4的架構中有許多管理情節,主要會用到的有以下幾項,並概述情節中會進行的動作。

情節(1):安裝 / Scenario (1): Install Master

v4架設需要一台伺服器跟一片Proxmox VE 3.2光碟,你可以從這邊下載。安裝動作只需要執行一次,簡稱為Master安裝,只要有Master Proxmox在,其他伺服器應該執行擴增動作。

以下是手動的部份,[M]表示Master安裝中特別會做的動作:

  • 安裝Proxmox VE 3.2
  • [M] 安裝過程中設定對外Master IP
  • 從網路下載dlll_cias-setup.sh腳本
  • 增加執行權限並執行dlll_cias-setup.sh腳本

腳本首先先蒐集設定資訊:

  • 腳本檢查網路可否連線,不可連線則提示訊息後退出
  • 詢問Keepalived的優先度,範圍是{0..100},預設值是50,數字越大越可能擔任Master Proxmox。
  • 腳本檢查是否有Master在,來決定是否是Master安裝模式。
  • [M] 腳本詢問給Zentyal的帳號與密碼
  • [M] 腳本詢問給Zentyal網路設定:Proxmox管理IP、NAS管理IP、虛擬機器管理IP、netmask、gateway
  • 腳本提示準備開始安裝,按enter確認。

腳本先保存管理資訊跟下載必要檔案,保存到/data/cias管理目錄中:

  • [M] 保存Master Proxmox的對外IP、Zentyal的Proxmox網路設定到一個管理連線設定檔
  • [M] 下載keepalived需要的keepalived.conf等必要腳本
  • [M] 根據對外IP來調整keepalived設定檔
  • [M] 製作手動切換的keepalived設定檔
  • [M] 下載MooseFS必要的設定檔案
  • [M] 下載Zentyal虛擬機器即必要腳本
  • [M] 下載DLLL-CIAS管理用的必要腳本
  • [M] 根據此Proxmox VE安裝中設定的管理者email,設定通知設定檔
  • [M] 調整腳本權限

腳本接著進行網路設定與Keepalived的安裝:

  • 安裝Keepalived必要元件
  • 從管理目錄複製必要設定到指定位置
  • 根據現在網路卡數量,將所有網路卡都bonding到vmbr0上
  • [M] 修改vmbr0網卡設定為10.254.0.1
  • 啟用Keepalived
  • [M] 此時vmbr0應該會額外被掛上Master對外IP跟10.254.0.254的虛擬IP
  • 設定開機自動執行

腳本接著進行MooseFS安裝:

  • 新增10.254.0.254 cias-pve-master設定到/etc/hosts
  • 安裝MooseFS所需元件(包括更新fuse)
  • 從管理目錄複製必要設定檔到指定位置
  • 啟用metalogger
  • [M] 啟用master
  • 確認cias-pve-master可連線
  • 格式化Proxmox VE安裝外的其他磁碟,並進行掛載
  • 依據磁碟數量調整chunk設定檔
  • 啟用chunk
  • 掛載mfsmount
  • 設定開機自動執行
  • [M] 把需要共用的檔案放到 /mnt/mfs/cias 中

如果是Master安裝模式,則腳本進行以下動作:

  • [M] 新增Promxox VE Cluster
  • [M] 新增Cluster的Storage,掛載MooseFS
  • [M] 新增Cluster的排程備份

如果是Master安裝模式,則腳本接著進行Zentyal的安裝:

  • [M] 從管理目錄還原Zentyal虛擬機器
  • [M] 開機Zentyal
  • [M] 以預設帳號cias與預設密碼dlll@nccu連線到Zentyal (預設IP為10.0.0.254)
  • [M] 設定Zentyal的管理用IP
  • [M] 新增Zentyal帳號與密碼
  • [M] 在背景執行備份Zentyal
  • [M] 在背景執行備份Zentyal到Local

腳本新增排程工作:

  • 設定排程,定期將Zentyal備份檔案備份到Local硬碟中
  • 設定排程,定期偵測斷線自動關機腳本
  • [M] 設定排程,定期將現有節點上所擁有的虛擬機器的VMID儲存到/mnt/mfs/cias/pve_master_vmid.conf中
  • [M] 每隔5分鐘確認所有節點可連線狀態,若一節點無法連線,則等待30分鐘,若30分鐘後仍然無法連線,執行情節(6)移除此節點

腳本提示安裝完成訊息:

  • 安裝完成
  • 根據/mnt/mfs/cias/cias-network.conf,顯示Proxmox VE管理IP跟Zentyal網頁管理IP

以上安裝完成,這時候應該會持續備份Zentyal虛擬機器,就讓它跑吧。


情節(2):擴增 / Scenario (2): Extend Slave

v4架構下,擴增時需要一台伺服器跟一片Proxmox VE 3.2光碟,你可以從這邊下載。若已經架設好Master Proxmox,則其他伺服器則是用擴增的方式安裝,簡稱Slave安裝。

以下是手動的部份,[S] 表示擴增使用

  • 安裝Proxmox VE 3.2
  • [S] 安裝過程中設定區域網路IP 10.254.{0..254}.{2..254} (因為10.254.0.1給Master Proxmox使用了)
  • 從網路下載dlll_cias-setup.sh腳本
  • 增加執行權限並執行dlll_cias-setup.sh腳本

腳本首先先蒐集設定資訊:

  • 腳本檢查網路可否連線,不可連線則提示訊息後退出
  • 詢問Keepalived的優先度,範圍是{0..100},預設值是50,數字越大越可能擔任Master Proxmox。
  • 腳本檢查是否有Master在,來決定是否是Master安裝模式。因為有Master在了,所以以下是Slave安裝。
  • [S] 詢問Master Proxmox的連線密碼,並測試連線到Master Proxmox以確認金鑰
  • 腳本提示準備開始安裝,按enter確認。

腳本從Master Proxmox複製管理資訊:

  • [S] 用rsync複製Master Proxmox的管理目錄底下的檔案到本機的管理目錄

腳本接著進行MooseFS安裝:

  • 新增10.254.0.254 cias-pve-master設定到/etc/hosts
  • 安裝MooseFS所需元件(包括更新fuse)
  • 從管理目錄複製必要設定檔到指定位置
  • 啟用metalogger
  • 確認cias-pve-master可連線
  • 格式化Proxmox VE安裝外的其他磁碟,並進行掛載
  • 依據磁碟數量調整chunk設定檔
  • 啟用chunk
  • 掛載mfsmount
  • 設定開機自動執行

腳本接著進行網路設定與Keepalived的安裝:

  • 安裝Keepalived必要元件
  • 根據現在網路卡數量,將所有網路卡都bonding到vmbr0上
  • 從管理目錄複製必要設定檔到指定位置
  • 啟用Keepalived
  • 設定開機自動執行

如果是Slave安裝模式,則腳本進行以下動作:

  • [S] Proxmox VE Cluster加入到Master Proxmox中

腳本新增排程工作:

  • 設定排程,定期將Zentyal備份檔案備份到Local硬碟中
  • 設定排程,定期偵測斷線自動關機腳本
  • [S] 以背景執行從Zentyal備份檔案備份到Local硬碟中

腳本提示安裝完成訊息:

  • 安裝完成
  • 根據/mnt/mfs/cias/cias-network.conf,顯示Proxmox VE管理IP跟Zentyal網頁管理IP

以上安裝完成,這時候應該會持續備份Zentyal虛擬機器,就讓它跑吧。


情節(3):自動切換Master Proxmox / Scenario (3): Automatically Swtich Master Proxmox

由於Keepalived工具提供的高可用集叢,當Master Proxmox無法連線時,Keepalived會自動挑選其中一台Proxmox,把它當作Master Proxmox,並進行以下切換的動作。

以下Keepalived會自動設定:

  • 掛載對外Master Proxmox對外網路
  • 掛載cias-pve-master 10.254.0.254

然後進行MooseFS高可用設定:

  • metalogger復原master資料:mfsmetarestore -a
  • 啟動master

虛擬機器的高可用:

  • 一一檢查/mnt/mfs/cias/pve_master_vmid.conf中的VMID
  • 如果集叢中VMID 100虛擬機器存在且可用,試著Migrate到這個節點上
  • 如果集叢中無法取得該虛擬機器,則嘗試從備份檔案中還原虛擬機器
    • VMID 100是Zentyal,從本機端取得還原檔案
    • 其他VMID則從mfs取得檔案還原,選擇負載量最低且非Master Proxmox的節點去還原
  • 確認虛擬機器的auto_start=1下正常開機

通知:

  • 寫信給現在mfs管理目錄中設定的管理者

情節(4):手動切換Master Proxmox / Scenario (4): Manual Swtich Master Proxmox

有些情況下我們希望手動指定Master Proxmox到特定伺服器上,而若該伺服器沒有被Keepalived指名,我們可以用以下的指令來手動切換Master Proxmox。

  • 到管理目錄執行 dlll_cias-swtich_to_master.sh

該腳本會先進行以下動作

  • 將原本keepalived.conf改成keepalived.conf.temp
  • 把調高權限的keepalived.conf複製到此位置:此設定中預設status為MASTER,priotity為999。
  • 重新啟動Keepalived,此時因為設定的關係,會將其他節點上的Master Proxmox狀態搶到自己身上
  • 自動執行情境(3)的腳本
  • 刪除調高權限的設定檔,復原原本的keepalived.conf設定檔

情節(5):手動退出集叢 / Scenario (5): Proxmox Escape From Cluster

此節點預備要退出集叢,則在要此節點上執行此腳本:

  • 設定遷移完畢之後的通知email
  • 取得本機上的虛擬機器列表
  • 每一台虛擬機器進行以下動作
    • 根據每一台Proxmox的RAM使用量,決定移到負荷量最低且非Master Proxmox的Proxmox
    • 遷移虛擬機器,除了VMID 100
  • 如果自己是Master Proxmox
    • 更新本機端虛擬機器檔案
    • 重新啟動Keepalived,此時其他節點會搶走MASTER狀態,並把VMID 100 Zentyal遷移到他身上去
    • 每隔5分鐘確認VMID 100是否遷移完成
  • 全部遷移完成之後,脫離Cluster
  • 發信通知管理者,以及mfs管理目錄中的管理者
  • 實體伺服器關機

情節(6):移除Proxmox節點 / Scenario (6): Delete Proxmox Node

如果某一個節點因為意外斷線,則必須重建該節點上面的虛擬機器,並移除該節點。這個情節是由Master Proxmox定時運作,此腳本工作為:

  • 取得參數:指定要移除的節點
  • 確認該節點是否可連線
  • 如果可連線,則在該節點上執行情節(5)
  • 如果不可連線,則讀取該節點的虛擬機器列表
  • 選擇最低負載量與非Master Proxmox,從mfs備份檔案中還原
  • 全部還原完成之後,將此節點從cluster中移除
  • 寫信通知email

注意事項 / Attention Notes

v4的架構在使用的時候有一些地方需要特別注意。

網路連線安全性 / Network Security

為了讓網路管理伺服器去中心化,所有的節點都暴露在對外網路中。這個意思是,如果該網域底下有人自行設定網路為Master Proxmox的10.254.0.254或任一10.x.x.x的IP,v4架構就會很容易發生錯誤或是被入侵。但是比起v3時會有網路管理伺服器Zentyal單點故障導致整體無法運作的問題,去中心化的設計只是在安全性與便利性上的取捨。

額外的便利性是任一虛擬機器都可以設定成對外IP,提供直接連線。

Master Proxmox的高負荷量 / High Loading of Master Proxmox

目前Master Proxmox主要只有做高可用,可是其本身負擔著大量的工作,最主要的就是Zentyal跟Mooster的mfsmaster。Zentyal必須處理大量連線,而mfsmaster在檔案數量大增的時候對於RAM的需求也很高。

即使可以手動指定負載能力最高的伺服器擔任Master Proxmox,但還是沒辦法讓其他人分擔Master Proxmox的工作量。目前我想不到是否有其他的好辦法,留待下一版DLLL-CIAS再看看有沒有更好的方案吧。


待研究事項 / To-Do

這篇只是v4的架構草案,目前還有許多地方未經確認與實作,仍有待繼續研究。目前主要需要確認的問題包括:

  • 網路卡實作bonding的技術還沒實作過
  • Proxmox VE Cluster節點只剩下一台的時候,會因為cluster not ready而限制很多操作,包括下一個問題。
  • 新master還原虛擬機器zentyal時,會因為舊節點還沒移除而被卡住:理論上,在cluster上會保留斷線的節點以及上面的虛擬機器設定,而禁止在同一個cluster不同節點上新增同樣的VMID。這部份一定得想辦法克服才行。
  • Zentyal在最小安裝與合理負荷之間的平衡:只有實際上架設過後才能知道了
  • Zentyal腳本操作可行性:我記得Zentyal可以用腳本來操作,可是一時間找不到說明文件

可能比較不會是問題,但是需要研究如何撰寫的腳本:

  • 依據磁碟數量來做格式化的腳本
  • metalogger復原master還沒實作過
  • 改進雲端網路模組的功能
  • 確認虛擬機器在Cluster中存在的腳本
  • 遷移虛擬機器到本機端的腳本

實作上面的待辦事項:

  • 架設開發用的Zentyal:要注意硬體設定
  • 各種腳本與設定檔的撰寫

結語:Proxmox VE Cluster依然是大難關 / Conclusion: Problems With Proxmox VE Cluster

以上規劃了DLLL-CIAS第四版的架構,基於第三版的架構之上再納入網路管理伺服器去中心化、分散式儲存、虛擬機器高可用與腳本簡化安裝等想法,並改進了雲端網路模組的設計,讓可同時運作的虛擬機器上限提高。

但是其實最根本的問題還沒解決:Proxmox VE Cluster仍有高度不穩定性的問題。

如果一開始都把Proxmox VE Cluster架設好、加入集叢,然後每個節點放著正常運作,這樣子Cluster沒有問題。若是節點以正常的方式關機,Cluster依然沒有問題。

但問題會出現在節點以非正常方式斷線或關機,或是節點數量只剩下一台時,這樣會導致整個Cluster運作失靈。要移除節點或是用相同Hostname加入Cluster時,好像也有可能導致Cluster毀損。

當Cluster毀損時,不管點任何動作,都會被要求登入,而且除了自己節點之外的其他節點都無法顯示任何訊息。

目前修復Proxmox VE Cluster的方法仍然不明,要如何避免Cluster毀損的方法也還沒有摸熟,這些都是要在發展v4之前必須搞懂得部分。

我們之前修復的方式是以不同名字重建Cluster,然後從NFS中取得備份檔案來還原。手動作業耗費了相當多的時間,我覺得這是相當大的一個問題。

之後有機會會再針對這部份進行深入的研究,至少要確保Cluster正常運作,DLLL-CIAS才算是一個穩定的方案吧。

(more...)

DLLL-CIAS雲端平台架設與使用專題目錄 / DLLL-CIAS Cloud Platform Installation & Usage Catalog

DLLL-CIAS雲端平台架設與使用專題目錄 / DLLL-CIAS Cloud Platform Installation & Usage Catalog

image

DLLL-CIAS是政大圖檔所數位圖書館與數位學習實驗室中我所開發的開放原始碼雲端平台方案。我預定於103學年的「雲端科技與圖書館行動服務研習班」中介紹此方案,希望能夠讓經費不多的中小型單位也能夠用現有伺服器資源架設好用的IaaS雲端平台。這篇將列出DLLL-CIAS雲端平台架設與使用相關文章的目錄。

DLLL-CIAS is an open source IaaS solution for my laboratory, Digital Library and Learning Laboratory in  National Chengchi University Graduate Institue of Library, Information and Archival Studies. I will introduce DLLL-CIAS in a workshop at June 2014. DLLL-CIAS is very suitable for small organization to build a low-cost, powerful and easy to use IaaS cloud platform. This catalog will list articles of DLLL-CIAS build and usage instruction.


DLLL-CIAS介紹 / DLLL-CIAS Introduction

DLLL-CIAS安裝(1):網路管理伺服器 / DLLL-CIAS Installation (1): Network Management Server

DLLL-CIAS安裝(2):資料儲存伺服器 / DLLL-CIAS Installation (1): Storage Server

DLLL-CIAS安裝(3):虛擬機器管理伺服器 / DLLL-CIAS Installation (1): Virtual Machine Management Server

DLLL-CIAS使用 / Usage of DLLL-CIAS

DLLL-CIAS的未來發展 / DLLL-CIAS Next Version

(more...)

在DLLL-CIAS中架設OpenVZ虛擬機器 / Create OpenVZ Container in DLLL-CIAS

在DLLL-CIAS中架設OpenVZ虛擬機器 / Create OpenVZ Container in DLLL-CIAS

2014-06-20_224318

這篇教學將敘述如何在DLLL-CIAS雲端平台中建立OpenVZ虛擬機器。本篇文章主要操作皆是在虛擬機器管理伺服器Proxmox VE上進行。

In this article, I will describe how to create an OpenVZ container (like virtual machine) in DLLL-CIAS cloud platform.

  • 對應講義:PART-3
  • 主題:架設OpenVZ虛擬機器

教學目錄 / Table of Contents

  1. [目前在此篇 >> ] 在DLLL-CIAS中架設OpenVZ虛擬機器
  2. Proxmox VE中上傳虛擬應用範本
  3. Proxmox VE中虛擬機器的遷移
  4. Proxmox VE中虛擬機器的備份與還原
  5. Proxmox VE中虛擬機器的定期備份
  6. 下載Proxmox VE中的備份檔案

先上傳虛擬應用範本 / Upload Virtual Application Template First

由於OpenVZ虛擬機器在建立時必須從虛擬應用範本(Virtual Application Template)開始建立,因此必須先在Proxmox VE中上傳虛擬應用範本。關於如何上傳虛擬應用範本的教學,請看這一篇。

OpenVZ虛擬機器設定規劃 / OpenVZ Container

採用容器虛擬化技術的OpenVZ將虛擬機器稱為「容器」(CT或Container)。在Proxmox VE中Container是指OpenVZ的虛擬機器,VM或Virtual Machine則是指KVM的虛擬機器。在此教學中,我們使用Moodle虛擬應用範本來架設OpenVZ虛擬機器,範本檔案為「debian-5.0-moodle_1.9.9p-1_i386.tar.gz」。

另一方面,我們也要規劃虛擬機器使用的區域網路IP位址。在DLLL-CIAS雲端平台的架構中,虛擬機器的IP位址與虛擬機器的VMID編號相關。舉例來說,區域網路IP位址10.9.4.56。虛擬機器的VMID就取IP的第三部分與第四部分,也就是456

總結以上,這次教學使用的設定如下:

  • VMID: 456
  • Hostname: teach-workshop-vm-57-2014.dlll.nccu.edu.tw
  • Password: dlll@nccu (本教學使用的預設密碼)
  • Template: debian-5.0-moodle_1.9.9p-1_i386.tar.gz
  • IP address: 10.9.4.56

接著我們就以上述設定來進行架設。

架設OpenVZ虛擬機器 / Create OpenVZ Container

  1. 開啟Proxmox VE的管理介面,作法請看這一篇教學
    part2-step3-4-image001_thumb 
  2. 按下右上角「Create CT」建立OpenVZ虛擬機器。
    image
  3. 接著Proxmox VE會開啟安裝精靈
    1. 第一步:General
      image

      - Node (Promxox VE伺服器代號): proxmox-01
      - VM ID (設定虛擬機器的編號): 100
      - Hostname (設定主機的網域名稱): teach-workshop-vm-57-2014.dlll.nccu.edu.tw
      - Password (設定密碼): dlll@nccu
      - Confirm password (再次確認密碼): dlll@nccu
      然後按下Next按鈕。
    2. 第二步:Template
      image
      - Storage (選擇資料儲存伺服器): dlll-cias-nas
      - Template (選擇範本): debian-5.0-moodle_1.9.9p-1_i386.tar.gz
      然後按下Next按鈕。 
    3. 第三步:Recources
      image
      - Memory (可用的記憶體)
      - Swap (虛擬記憶體,應設定與記憶體)
      - Disk size (硬碟大小)
      - CPUs (可用CPU數量)
      在此先使用預設參數即可,然後按下Next按鈕。 
    4. 第四步:Network
      image
      - Routed mode (venet) IP address: 10.9.4.57
      然後按下Next按鈕。
    5. 第五步:DNS
      image
      此步不需要設定,直接使用預設設定即可。然後按下Next按鈕。
    6. 最後一步:Confirm
      image
      確認無誤之後按下「Finish」按鈕。
  4. 稍待片刻之後,就可以看到建立完成的虛擬機器出現在左邊的Server View當中。
    image
  5. 點選該虛擬機器,進入上方的「Options」分頁中,選擇「Start at boot」,按下「Edit」按鈕,把它改成「Yes」。這樣虛擬機器就會在Proxmox VE開機時自動啟動。image
  6. 然後點選頁面右上角的「Start」啟動虛擬機器。
    image
  7. 接著要根據以下設定,在網路管理伺服器設定雲端模組:
    - Domain Name (Hostname): teach-workshop-vm-57-2014.dlll.nccu.edu.tw
    - Internal IP Address (IP Address): 10.9.4.57
    其他設定詳細請看雲端網路模組的教學
    image
  8. 如果雲端網路模組有正常設定的話,現在已經可以使用瀏覽器開啟Moodle了。網址請使用主機名稱:http://teach-workshop-vm-57-2014.dlll.nccu.edu.tw
    image

至此OpenVZ虛擬機器架設動作已經告一段落了,不過Moodle安裝尚未完成。在Moodle的安裝引導精靈中有一個步驟要設定MySQL,User: root / Passowrd: admin。這種安裝細節會在虛擬應用範本中說明,在使用虛擬應用範本時請務必仔細閱讀喔。

image

至於Moodle的使用,可以參考Moodle中文加油站的說明。


下一篇:Proxmox VE中上傳虛擬應用範本 / Next: Upload Virtual Application Template to Proxmox VE

要在Proxmox VE中架設OpenVZ虛擬機器,必須先上傳虛擬應用範本,詳細請看下一篇的說明。

下一篇:「Proxmox VE中上傳虛擬應用範本」。

(more...)

Proxmox VE 3.2安裝前準備 / Proxmox VE Installation Preparation

Proxmox VE 3.2安裝前準備 / Proxmox VE Installation Preparation

image

這一份教學主要說明Proxmox VE 3.2安裝前需注意的事項,包括了Proxmox VE的介紹、下載、硬體需求等等。

In this article, I will describe the preparation to install Proxmox VE 3.2. There are introduction of Proxmox VE, CD-ROM ISO file download link, hardware requirements for installation.

  • 對應講義:PART-2-STEP-3-1
  • 主題:Proxmox VE 3.2安裝前準備

教學目錄 / Table of Contents

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

Proxmox VE介紹 / Introduction of Proxmox VE

part2-step3-3-image003

Proxmox VE是Proxmox公司推出的開放原始碼虛擬機器管理系統,以易於安裝和容易操作的網頁管理介面著稱。Proxmox VE提供了上圖的網頁管理介面,可以使用瀏覽器來進行虛擬機器的管理,並監控虛擬機器的運作狀態,不需安裝額外工具。而管理功能也相當完善,包含了自動開機、備份、還原、排程備份等等管理功能。而Proxmox VE也可以整合多台Proxmox VE伺服器的計算資源,建立Proxmox VE集叢(Cluster)、在集叢間進行遷移(Migrate)、或進行高可用(High Availability)配置。Proxmox VE也能夠支援儲存資源的整合,可使用NFS/iSCSI/GlusterFS/RBD等多種網路分散式檔案系統。在虛擬化技術上,Proxmox VE整合了虛擬完整度高的KVM全虛擬化技術以及高效率虛擬化的OpenVZ容器虛擬化技術。

在DLLL-CIAS雲端平台中,我們使用Proxmox VE作為虛擬機器管理伺服器,利用Proxmox VE方便的網頁管理介面管理虛擬機器。

Proxmox VE下載 / Download Link of Proxmox VE

官方連結:

Proxmox VE 3.2 64位元ISO光碟映像檔備份:

以下教學是以Proxmox VE 3.2 64位元進行安裝,整個教學過程也是使用VirtualBox安裝。

安裝硬體設備需求 / Hardware Requirements

在本教學的FreeNAS安裝中,您的伺服器必須符合以下需求:

  • CPU必須支援虛擬化指令 Intel-VT或AMD-V,這樣才能使用KMV虛擬化技術。
  • 記憶體越大越好,至少512MB,建議8G以上

在DLLL-CIAS中可以配置多台虛擬機器管理伺服器。第一台需要進行建立Proxmox VE集叢的動作,第二台之後則是加入Proxmox VE集叢即可。

在本教學中使用VirtualBox安裝的設定如下圖所示。

image


下一篇:安裝Proxmox VE 3.2 / Next: Install Proxmox VE 3.2

準備好安裝軟硬體之後,下一篇就要正式開始安裝啦。

下一篇:「安裝Proxmox VE 3.2 」。

(more...)

FreeNAS 8.3.1安裝前準備 / FreeNAS Installation Preparation

FreeNAS 8.3.1安裝前準備 / FreeNAS Installation Preparation

logofreNas

這一份教學是在說明FreeNAS 8.3.1安裝前需注意的事項,包括FreeNAS的介紹、下載、硬體需求等等。

In this article, I will describe the preparation to install FreeNAS 8.3.1 There are introduction of FreeNAS, CD-ROM ISO file download link, hardware requirements for installation.

  • 對應講義:PART-2-STEP-2-1
  • 主題:FreeNAS 8.9.1安裝前準備

教學目錄 / Table of Contents

  1. [目前在此篇 >> ] FreeNAS 8.3.1安裝前準備
  2. 安裝FreeNAS 8.3.1
  3. 開啟FreeNAS的網頁管理介面
  4. 開啟FreeNAS的NFS功能

FreeNAS介紹 / Introduction of FreeNAS

FreeNAS是一套基於FreeBSD作業系統的開放原始碼網路儲存設備(NAS)伺服器系統。支援多種網路服務與使用者存取權限管理。也提供網頁管理介面,可透過瀏覽器輕易管理FreeNAS伺服器。主要常用的服務有網路上的芳鄰(CIFS/SMB), FTP, SSH, NFS, iSCSI, BitTorrent等等。也支援軟體RAID磁碟陣列 (JBOD / 0 / 1 / 0+1 / 5)。

網頁管理介面如下圖所示:

STEP2-4-開啟NFS功能-001

在DLLL-CIAS中,我們主要是借助FreeNAS方便的網頁管理介面設定NFS服務,讓FreeNAS擔任DLLL-CIAS雲端平台架構中的資料儲存伺服器。你也可以使用其他NFS服務來取代FreeNAS。

FreeNAS下載 / Download Link of FreeNAS

官方連結:

FreeNAS 8.3.1 64位元ISO光碟映像檔案備份:

以下教學是以FreeNAS 8.3.1 64位元進行安裝,整個教學過程是使用VirtualBox安裝。

安裝硬體設備需求 / Hardware Requirements

在本教學的FreeNAS安裝中,您的伺服器必須符合以下需求:

  • 2顆硬碟以上:一顆會被作為FreeNAS系統硬碟,不能儲存資料,另一顆才是真正儲存資料的硬碟。建議儲存資料的硬碟越大越好。
  • CPU必須支援64位元
  • 1張網路卡連線

在本教學中使用VirtualBox安裝的設定如下圖所示。

image


下一篇:安裝FreeNAS 8.3.1 / Next: Install FreeNAS 8.3.1

準備好安裝軟硬體之後,下一篇就要正式開始安裝啦。

下一篇:「安裝FreeNAS 8.3.1」。

(more...)

Zentyal 3.0.2安裝準備 / Zentyal Installation Preparation

Zentyal 3.0.2安裝準備 / Zentyal Installation Preparation

zentyal-logo

這一份教學是在說明Zentyal 3.0.2安裝前需注意的事項,包括Zentyal的介紹、下載、硬體需求等等。

In this article, I will describe the preparation to install Zentyal 3.0.2. There are introduction of Zentyal, CD-ROM ISO file download link, hardware requirements for installation.

  • 對應講義:PART-2-STEP-1-1
  • 主題:Zentyal 3.0.2安裝前準備

教學目錄 / Table of Contents

  1. [目前在此篇 >> ] Zentyal 3.0.2安裝準備
  2. 安裝Zentyal 3.0.2
  3. DLLL-CIAS之Zentyal網路設定
  4. 設定Zentyal DHCP伺服器
  5. Zentyal安裝DLLL-CIAS Router雲端網路模組
  6. Zentyal設定DLLL-CIAS Router雲端網路模組

Zentyal介紹 / Introduction of Zentyal

Zentyal是基於Linux伺服器的開放原始碼網路管理系統,適合中小型企業網路環境使用。他的特色在於容易安裝(雖然在這篇教學中,他顯然地比Proxmox VE和FreeNAS複雜很多),也提供了易於上手的網頁管理介面,可使用瀏覽器在遠端調整系統設定。

Zentyal分成開放原始碼社群版本與收費版本,也有提供免費註冊的訂閱服務,可以讓你的Zentyal伺服器設定上傳到Zentyal公司提供的雲端備份空間。不過這可能會涉及把你單位中的私密網路設定貢獻給別人公司,使用時得在便利性與隱私性的平衡上進行考量。

Zentyal能安裝不同功能模組以因應各種不同環境所需的功能。例如:

  • 網路閘道:防火牆連接埠轉遞VPN
  • 網路服務:DNSDHCP
  • 辦公室支援:檔案分享、印表機共享、資料備份與還原

Zentyal也支援自行開發模組,我之前有寫過一篇開發SSH模組的入門介紹,本教學中也會提到為了DLLL-CIAS開發的DLLL-CIAS Router雲端網路模組。

Zentyal下載 / Download Link of Zentyal

官方連結:

Zentyal 3.0.2 64位元ISO光碟映像檔案備份:

以下的教學全部都是以Zentyal 3.0.2 64位元教學。教學畫面使用VirtualBox安裝。

安裝硬體設備需求 / Hardware Requirements

在本教學的Zentyal安裝中,您的伺服器必須符合以下需求:

  • 2張網路卡:一張網路卡對外廣域網路連線、一張網路卡對內區域網路連線。
  • 網路卡速度至少為GbE網路等級以上,如果支援10GbE等級更佳。網路等級的介紹,詳情請看維基百科
  • CPU必須支援64位元

在本教學中使用VirtualBox安裝的設定如下圖所示:(初始安裝的時候,要記得把Zentyal的ISO光碟檔案掛載到存放裝置的光碟機中喔。)

image_thumb[1]


下一篇:安裝Zentyal 3.0.2 / Install Zentyal 3.0.2

準備好安裝軟硬體之後,下一篇就要正式開始安裝啦。

下一篇:「安裝Zentyal 3.0.2」。

(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.

  • 對應講義:PART-2-STEP-3-2
  • 主題:Proxmox VE 3中上傳虛擬應用範本

教學目錄 / Table of Contents

  1. 在DLLL-CIAS中架設OpenVZ虛擬機器
  2. [目前在此篇 >> ] Proxmox VE中上傳虛擬應用範本
  3. Proxmox VE中虛擬機器的遷移
  4. Proxmox VE中虛擬機器的備份與還原
  5. Proxmox VE中虛擬機器的定期備份
  6. 下載Proxmox VE中的備份檔案

    虛擬應用範本 / Virtual Application Template

    虛擬應用範本 (Virtual Application Template, Virtual Appliance)是一種運作於虛擬機器上的應用系統。虛擬應用範本中通常包含基本作業系統以及欲提供的服務系統 (例如課堂管理系統Moodle)的必要運作環境。不僅可精簡虛擬應用範本的檔案大小,也能讓虛擬機器著重於提供單一服務,維持高度運作效率。有些虛擬應用範本會預先設定好安裝參數,讓網管人員在安裝虛擬應用範本之後就可以立即使用,通常Turnkey Linux上面的虛擬應用範本都是如此設計。

    各種虛擬化技術使用的虛擬應用範本格式不同,要使用虛擬應用範本時,必須注意搭配可用的虛擬化技術。KVM使用QEMU格式,或支援VMware等vmdk格式;OpenVZ使用的是tar.gz封裝格式,而且OpenVZ必須從虛擬應用範本建構虛擬機器。

    下載虛擬應用範本 / Download Virtual Application Template

    KVM全虛擬化 / KVM Full Vitualization

    KVM虛擬化支援VMware的vmdk格式,所以VMware可使用的虛擬應用範本都可以用KVM架設。其檔案名稱通常會命名為:「turnkey-moodle-13.0-wheezy-amd64-vmdk.zip」,注意到名稱當中的vmdk。

    KVM的虛擬應用範本下載位置如下:

    OpenVZ容器虛擬化 / OpenVZ Container

    OpenVZ的虛擬應用範本都是Linux系統,以tar.gz打包。這個打包檔案本身就是虛擬應用範本,不需要解壓縮。其檔案通常會命名為:「debian-7-turnkey-moodle_13.0-1_amd64.tar.gz」,注意結尾的.tar.gz。

    OpenVZ的虛擬應用範本下載位置如下:


    上傳虛擬應用範本 / Upload Virtual Application Template

    1. 開啟Proxmox VE的管理介面,作法請看這一篇教學
      part2-step3-4-image001_thumb_thumb[2] 
    2. 從左邊的Server View導覽列中,開啟任意Proxmox VE節點,找到該節點底下的資料儲存伺服器dlll-cias-nas。
    3. 進入「Content」分頁。
    4. 點選功能列上面的「Upload」按鈕,跳出Upload對話視窗。
    5. 選擇Content: OpenVZ template
      然後按下「Select File…」選擇要上傳的虛擬應用範本。
      再按下Upload
      image
    6. 上傳完成要等待好一段時間。上傳完成之後,就能夠在Templates中找到剛剛上傳的虛擬應用範本。
      image
    7. 因為是上傳到資料儲存伺服器共享檔案的緣故,在其他節點也可以取用剛剛上傳的虛擬應用範本,十分方便。

    在Proxmox VE直接下載虛擬應用範本 / Download Virtual Application Template in Proxmox VE

    Proxmox VE也提供了直接下載虛擬應用範本的功能。

    image

    點選功能列的「Templates」按鈕,就會跳出可以下載的虛擬應用範本列表。這個列表已經跟Turnkey Linux整合,因此Turnkey Linux中全部402種虛擬應用範本,都可以直接透過這個功能下載。免去你還需要額外下載、上傳的功夫。但有時候下載也不會很順利,這時候就得手動下載、上傳了。


    下一篇:Proxmox VE中虛擬機器的遷移 / Next: Virtual Machine Migration in Proxmox VE

    前兩篇都偏向於建立虛擬機器相關的教學,接下來就要講IaaS常常被人拿出來當做是特色的管理動作之一:遷移 (Migration)。

    下一篇:「Proxmox VE中虛擬機器的遷移」。

    (more...)

    開啟FreeNAS的網頁管理介面 / FreeNAS’s Network Configuration

    開啟FreeNAS的網頁管理介面 / FreeNAS’s Network Configuration

    Step2-3-設定FreeNAS網路-003

    這一份教學會說明如何設定FreeNAS 8.3.1的網路設定,讓我們能夠設定網路卡的IP,並可透過瀏覽器開啟網頁管理介面。

    In this aritcle, I will describe how to configure network of FreeNAS 8.3.1. I will set a IPv4 address on FreeNAS and open its web administration by browser.

    • 對應講義:PART-2-STEP-2-3
    • 主題:設定FreeNAS的網路

    教學目錄 / Table of Contents

    1. FreeNAS 8.3.1安裝前準備
    2. 安裝FreeNAS 8.3.1
    3. [目前在此篇 >> ] 開啟FreeNAS的網頁管理介面
    4. 開啟FreeNAS的NFS功能

    DLLL-CIAS中資料儲存伺服器的網路設定 / Stroage Server Network Configuration in DLLL-CIAS

    image

    如上圖,在DLLL-CIAS架構中,資料儲存伺服器伺服是位於區域網路中的一台伺服器。綠字的對外廣域網路IP是由網路管理伺服器所設定,細節請看這一篇的教學。在此我們要設定的是紅字的區域網路設定。其網路設定的細節如下:

    • IP位址:10.2.0.1
    • NETMASK 子網路遮罩:255.0.0.0
    • DNS:10.0.0.254

    由於FreeNAS在安裝的時候只會從DHCP自行取得網路設定,只有安裝完之後才能手動設定網路。以下我將會使用上述設定來示範如何在FreeNAS中設定網路。

    網路設定 / Configure Network Interface

    1. 在本機端進入FreeNAS的文字端操作介面。
      Step2-3-設定FreeNAS網路-001
    2. 輸入1,進入網路卡設定。FreeNAS會接連問許多問題,以下我列出他可能會使用的問題。
      Step2-3-設定FreeNAS網路-002
      1. Select an interface (選擇要設定的網路卡):輸入1,預設使用一張網路卡而已。
      2. Reset network configuration? (是否要重新設定網路介面):輸入n,不重設。
      3. Configuration interface for DHCP? (是否要從DHCP設定網路):輸入n,在此手動設定網路。
      4. Configure IPv4? (是否設定IPv4位址):輸入y,在此要手動輸入IPv4位址。
      5. IPv4 Address (IPv4位址):輸入10.2.0.1。
      6. IPv4 Netmast (子網路遮罩):輸入255.0.0.0。
      7. Configure IPv6? (是否設定IPv6位址):輸入n,在此不輸入IPv6位址。
    3. 完成之後會回到一開始的文字端操作介面。
    4. 這時候可以到網頁管理伺服器Zentyal上,以Firefox瀏覽器開啟 http://10.2.0.1/ ,應該就會出現FreeNAS的網頁管理介面。
      Step2-3-設定FreeNAS網路-003
    5. 如果網頁管理介面的DLLL-CIAS網路有確實設定的話,應該也能夠在其他電腦使用 http://192.168.56.103/ 連線到FreeNAS的網頁管理介面。

    下一篇:開啟FreeNAS的NFS功能 / Next: Enable NFS in FreeNAS

    終於算是完整安裝好FreeNAS啦。接著我們要來設定NFS服務,好讓虛擬機器管理伺服器能夠使用FreeNAS的功能。

    下一篇:「開啟FreeNAS的NFS功能」。

    (more...)

    下載Proxmox VE中的備份檔案 / Download the Backup File in Proxmox VE

    下載Proxmox VE中的備份檔案 / Download the Backup File in Proxmox VE

    part3-step1-4-image004

    這篇教學介紹如何使用SFTP下載Proxmox VE中的備份檔案。

    In this article, I will describe how to download virtual machine file in Proxmox VE via SFTP.

    • 對應講義:PART-3-OTHER-5
    • 主題:下載Proxmox VE中的備份檔案

    教學目錄 / Table of Contents

    1. 在DLLL-CIAS中架設OpenVZ虛擬機器
    2. Proxmox VE中上傳虛擬應用範本
    3. Proxmox VE中虛擬機器的遷移
    4. Proxmox VE中虛擬機器的備份與還原
    5. Proxmox VE中虛擬機器的定期備份
    6. [目前在此篇 >> ] 下載Proxmox VE中的備份檔案

      下載備份檔案 / Download Backup File

      Proxmox VE無法直接在網頁管理介面下載備份檔案,必須透過SFTP下載備份檔案才行。由於我們之前有在網路管理伺服器上設定了虛擬機器管理伺服器Proxmox VE的對外IP位址(詳情請看此教學),因此我們可以直接透過該IP位址以SFTP連線到Proxmox VE上,來下載、管理備份檔案。在本教學當中,虛擬機器管理伺服器的IP位址為192.168.56.102

      1. 請使用支援SFTP的軟體,例如FileZilla Portable使用教學請看我之前的介紹。連線資訊如下:
        - 主機192.168.56.102
        - 連接埠22
        - 協定SFTP – SSH File Transfer Protocal
        - 登入型式一般登入
        - 使用者root
        - 密碼dlll@nccu (Proxmox VE安裝時設定的密碼,也是本教學使用的預設密碼)
        part3-step1-4-image002
      2. 登入之後,在遠端站台的路徑輸入資料儲存伺服器的路徑位置。一般來說,如果資料儲存伺服器的名稱為「dlll-cias-nas」,那麼路徑則會是「/mnt/pve/dlll-cias-nas/dump」。
      3. 該路徑底下就可以找到備份的檔案。
        image
        以「vzdump-qemu-100-2014_06_16-12_21_08.tar.gz」備份檔案來說,其意思是這是KVM虛擬機器(QEMU)、VMID 100、備份時間為2014年06月16日12點21分8秒。

      FileZilla的詳細操作可以查看到我之前寫的教學「SFTP連線設定教學——以FileZilla Potable為例」。


      小結 / Conclusion

      Proxmox VE一系列的管理動作教學就到這邊了。有些人可能會問:「怎麼沒有提到IaaS大家最主打的高可用(High Availability, HA)呢?」其實Proxmox VE也有提供HA Cluster啦,設定也很簡單,請看下圖:

      image

      當Proxmox VE實體機器無法運作的時候,其他節點就會偵測到,並嘗試在其他節點還原該虛擬機器。

      不過我個人是覺得這種HA不夠實用啦。因為通常虛擬機器無法正常運作,需要的是虛擬機器重新啟動。而不是等到實體機器整台都壞掉了再來重新啟動。基於這個想法,我搭配了Pound的Emergancy Config 緊急聯絡位址,實作出當虛擬機器無法正常透過網頁連線時,就重新啟動虛擬機器的功能。不過這功能安裝上比較複雜,也尚未成熟,所以這次教學就不拿出來現寶了。

      logo

      是說我在摸Proxmox VE的各種操作時,又興起了安裝Ceph Server的念頭,安裝手續並不複雜,可是最後要掛載成為RBD時卻失敗了,下次有機會再研究好了,累了 OTL。

      (more...)