2015年1月31日 星期六

虛擬機新手恩物 proxmox

proxmox 操作介面

[2017/5/22: 改推薦本文的 2017 版: 窮人的 proxmox 可攜式/行動機房 介紹 proxmox 4.4]

想玩虛擬機 (virtual machine), proxmox 可能是一個很好的入門選擇。 它的優點包含:

  1. 安裝過程只要回答三五個問題。
  2. 初學者可以透過簡單的網頁介面來管理虛擬機。
  3. 支援超實用的 OpenVZ 輕量級虛擬技術。

它的缺點包含:

  1. 會把整顆硬碟吃掉, 完全沒有切分割的機會。
  2. 採用較舊的 kernel。

單就系統而言, proxmox 會用掉將近 1.5G 的硬碟。 當然, 還需要留更多空間給虛擬機使用。 [2016/5/23 我試著把 proxmox 4.2 裝進 8G 的隨身碟, 失敗。 16G 的就 OK] 還有, 要玩虛擬環境, 記憶體當然是越大越好。

下載一個大約 600MB 的 iso 檔之後, 可以選擇以下任何一種方式來安裝:

  1. 燒成光碟, 用光碟開機。
  2. 找一顆沒在用的 1G 隨身碟 (比方說, 插入電腦之後叫做 /dev/sdx 好了) 然後 dd < proxmox-*.iso > /dev/sdx (所有資料全都會被清除!) 製作成開機隨身碟, 用隨身碟開機。
  3. 用 libvirt (另一個虛擬機環境! 以後再談) 開一個虛擬通機, 直接從 iso 映象檔安裝: virt-install -n proxmox -r 2048 --video=vga -c ..../proxmox-ve_3.3-a06c9f73-2.iso --os-type=linux --os-variant=debianwheezy -w network=default --disk path=..../proxmox.img,size=20,format=qcow2

以下截圖採用第三種方式取得:

安裝 proxmox: 1. 開機 安裝 proxmox: 2. 同意授權聲明 安裝 proxmox: 3. 硬碟上所有分割通通會被燒毀! 同意嗎? 安裝 proxmox: 4. 選擇國家
安裝 proxmox: 5. 設定密碼 安裝 proxmox: 6. 設定 ip 位址 安裝 proxmox: 7. 正在安裝 安裝 proxmox: 8. 安裝成功! 重開機。

  1. 開機。
  2. 授權聲明? 讓我們 以破世界紀錄的閱讀神速 直接往下拉, 抱著 「就算 靈魂讓渡給廠商也無所謂」 的勇敢心態迅速按下 「我同意」!
  3. 硬碟上所有分割通通會被燒毀! 同意嗎?
  4. 選擇國家, proxmox 會自動推算時區跟鍵盤格式。
  5. 設定 root 的密碼, 還有系統訊息要寄到哪個 e-mail 信箱。
  6. 設定 ip 位址及網路遮罩等等網路參數。
  7. 開始安裝。 去休息一下吧, 二十分鐘後再回來查看。
  8. 安裝成功! 重開機。 硬體重開機時, 記得移除開機光碟/隨身碟。

Proxmox 伺服器本身沒有圖形介面。 重開機後只會出現一個文字版的登入畫面, 並提示一個登入網址。 所以請從另一部電腦打開瀏覽器, 輸入文字畫面所提示的網址。 以我而言, 就是用 firefox 打開 https://192.168.122.16:8006 然後以 root 的身份及剛剛設定的密碼登入, 就會看到類似本文第一張圖的管理畫面。

我最常用的, 就是右上角的 「Create CT」 -- 建立一個 OpenVZ 的 container, 也就是輕量級的虛擬環境。 採用 container, 就算你的 CPU 不支援硬體虛擬化也不影響效能表現。 Pulipuli Chen 有一篇 建立OpenVZ虛擬機器 的教學文。 (其實他有 一系列的 proxmox 教學文。)

當然你也可以採用文字模式的 ssh 登入 proxmox 主機、 以 debian 的指令管理系統、 以 vzctl 指令管理 OpenVZ container。 以後再來寫。

[2016/5/23 如果是真正上線的伺服器, 請一定要用 fail2ban 保護 ssh 跟 保護 proxmox 圖形登入介面!]

因為下學期要上一門新課程 「雲端虛擬化技術」, 所以寒假需要趕緊生產許多篇 virtualization 相關的文章。

17 則留言:

  1. 不知這套可不可安裝進隨身碟??那就可以在隨身碟多養一個寵物現在養了antix 13.2、finnix 110、mx14-3、clonezilla 感謝老師的分享方法,幾年前用vmware esxi 4.1是可以安裝進隨身碟或記憶卡的,覺得OpenVZ非常有意思!有空要來玩一下~

    回覆刪除
  2. 因為安裝過程會把整顆硬碟 format 掉, 所以我開一個虛擬機及虛擬硬碟來安裝 proxmox。 未來打算如此使用上面的 openvz。 如果要再從虛擬硬碟把它搬到隨身碟上應該不會太困難。 不過在隨身碟上養寵物要篩選一下。 太常寫入的版本會減短隨身碟壽命。 proxmox 是 server 在用的,應該完全不適合吧。 丫良要養寵物那我就推薦 puppy linux 囉: http://newtoypia.blogspot.tw/2013/09/puppy.html

    回覆刪除
  3. 我想灌在隨身碟是想當救援跟測試之用,puppy有空也來試灌一下,來用virtualbox灌一下再幫它搬家!謝謝老師。前一陣子也把隨身碟升級到usb3.0系統比較不會頓比2.0順用mx14.3 pae!

    回覆刪除
  4. 請問一下丫良,你在留言提到"那就可以在隨身碟多養一個寵物現在養了antix 13.2、finnix 110、mx14-3、clonezilla" ..... 是全部在同一隻隨身碟嗎? 請問一下怎麼做才能在同一隻隨身碟安裝兩個或以上不同的linux distro呢? 有網頁教學可以提供嗎? 謝謝

    回覆刪除
    回覆
    1. 老師的網頁就有說明了 http://newtoypia.blogspot.tw/2014/01/finnix.html 重點就是分割區跟改grub裡的menu.lst 後來我個人一支隨身碟放兩個linux distro我就覺得差不多了,反正隨身碟很便宜多買幾隻來玩吧!!

      刪除
    2. 嘿我突然發現 google 「multiboot usb」 會找到很多好物。 包含 windows 底下的執行檔: http://www.pendrivelinux.com/yumi-multiboot-usb-creator/

      刪除
  5. 老師您好,好久不見
    在這裡請問一下
    如果我只有1個固定IP分配給proxmo本身
    那其它的VM可以共用此網路嗎?

    謝謝

    回覆刪除
    回覆
    1. Hi Pin! 網路設定可以看這篇: https://pve.proxmox.com/wiki/Network_Model
      第一節 default (bridged) 適合掌管許多固定 IP 的管理員。 所有虛擬機仿佛跟 host 位於同一個 subnet。 第二節 routed 應該就是你要的 -- VM 只需要向外連、彼此連。 如果進一步還需要從外面連進 VM, 那就要照第三節 Masquerating (NAT) 做。

      刪除
  6. 你好,我想問關於proxmox,我們有兩台伺服器都是安裝proxmox,使用上也有一段時間了(從去年11月多到現在),不過今天遇到其中一台伺服器在凌晨四點多他自己重開機了,tasks列表上顯示:start all vms and containers,如果是遇到跳電,那麼另一台伺服器應該也會重開機才是,所以想問說proxmox是不是有那裡設定說機器在某一段時間會自動重開機?但這種狀況卻在另外一台伺服器上也沒有發生過!或者有什麼地方是可以檢查到底為什麼為自己重開機呢? 謝謝

    回覆刪除
    回覆
    1. 沒遇過這樣耶... 也不知道原因... 如果是我, 會到 /var/log 底下去研究每個記錄檔在凌晨四點多時留下什麼記錄。

      刪除
    2. 我proxmox 之前用3.2因用了E1000網卡讓我的windwos 2003重開機、而且非常的吃CPU資料,後來改用virtio網卡就好了!在上面跑windows 最麻煩的就是用virtio之前用了太舊的virtio還會跑了幾個月忽然開不進去,還好我有備份另一個用ide 的HD,可是IDE的HD效能真的不好,還好那一顆只有開機用,放WEB的太量圖形還是用virtio的硬碟,效能沒影響現在也運行了2百多天,感覺還好,後來我用3.4版的架了proxmox cluster ZFS+DRBD真的很好用上面的VM跑的是windows 2003 X64會跑那麼舊的系統主要都是把P2V,Driver要用virtio-win-0.1.96.iso否則會出現windwos 藍底白字硬碟問題 proxmox 官網有說明,以前用Vmware esxi用體驗版玩storage vmotion真的覺得很有意思機器就這樣migrate到另一台機器上了真的覺得好妙,可惜有60天的限制 ,用proxmox +DRBD也可用出上面的效果而且沒有60天的限制,更沒有一定要用storage的問題,真的好玩的VM軟體,看老師說把4.2灌進隨身碟裡要用16G,有空我也來試看看!!

      刪除
  7. 請問老師是如何將proxmox 4.2 裝進 的隨身碟裡的,我用一般安裝方式是會出錯在/dev/mapper/pve-root找不到grub2那裏只否要調整?謝謝老師。

    回覆刪除
    回覆
    1. https://forum.proxmox.com/threads/proxmox-install-on-usb-device.12922/

      刪除
    2. 找到了 只是不清楚為什麼加上去就OK了

      刪除
    3. 看你找到的連結說要在開機選單加上 rootdelay=10 選項, 我猜是隨身碟反應太慢,讓 kernel 誤以為它不存在。 我裝的時候沒遇到這問題。 我是開 kvm 虛擬機來安裝 proxmox 的 :-) 本來很不建議這麼做; 但開了一門課叫做「雲端虛擬化技術」,要讓每個學生都能操作 proxmox 所以只好這麼做。 還特別用 psd 避免過度頻繁讀寫。

      刪除
    4. 加上這參數好像幾年前也加過,可是忘了~~謝謝老師的回答!!原來是我隨身碟太慢了!我是打算用在開機當系統隨身碟、把Server上的HD當storage用然後再加上一顆大容量的USB 1TB 隨身碟做DRBD非同步抄寫Server上的HD,假如我的Server當機了,我只要帶這系統16G隨身碟+大容量的USB 1TB隨身碟在另那台Server上做復原動作或是分割裡面的VM主機到別台Server上~~覺得這樣的應用滿靈活又方便!平常也不需要開啟另一台Server做抄寫動作!備份都在隨身碟裡!!

      刪除
    5. 原來,我是打算系統碟用在16G的隨身碟裡,把server的硬碟當成storage用ZFS,再加一顆1TB隨身碟做drbd非同步抄寫,所有的VM備份都在1TB隨身碟裡,也不用再開起另一台电腦做抄寫,假如當機或要分開VM都可透過那一顆1T B的隨身碟達成我要的運用,感覺很方便又好用,就不知道系統碟的proxmox沒用VM映像檔會不會頻繁讀寫,我是有把/var/log跟tmp都放在tmpfs了,開機也改noop了,我用iostat觀察似乎還是有在使用

      刪除