1. 程式人生 > >[原創]在HP DL380 G7伺服器上部署基於Ubuntu Server 16.04 和 VirtualBox的雲平臺

[原創]在HP DL380 G7伺服器上部署基於Ubuntu Server 16.04 和 VirtualBox的雲平臺

對於一線開發人員來說,一提到虛擬機器平臺,往往會讓人聯想到在價格昂貴的伺服器上部署VMware vSphere之類軟體來實現。

筆者作為一個資深碼農,也是一直夢寐著在自己家中打造一個真正的家庭私有云,秒殺那些硬碟廠商所吹噓的“Jia私有云”。

功夫不負有心人,經過反覆的實驗,瀏覽了很多國外的社群以後,筆者真的實現了這個目標,而且,真的很便宜哦~!

整理出一份教程放在這裡,希望能擴充套件一下大家的思路。

 

材料

HP DL380 G7 2U 伺服器

 - Core 24, Mem 40G, SAS 146G * 2, Raid 0

Ubuntu Server 16.04 LTS

Oracle Virtualbox 5.1

Oracle_VM_VirtualBox_Extension_Pack 5.1

選擇伺服器

市場上有很多IDC機房淘汰的伺服器在二手市場上銷售,真的是白菜價格。

想入手伺服器的筒子們,可以認真考察考察。

筆者在這裡不給任何人做廣告,只是說一點:在家用,一定要注意噪音問題,否則,被家裡的大領導給禁止了就沒的完了。

參考文章:

 - 八百元八核的伺服器?二手伺服器搭建指南

 - 八百元八核的伺服器?二手伺服器(工作站)搭建指南(下)

作業系統

由於伺服器是一種有別於一般家用機裝置,因此,對於家用機(或者筆記本)來說天經地義的一些經驗和安裝方法,往往不能直接搬到伺服器上。

筆者實際測試的系統包括:

  • Windows Server 2012 R2
  • Debian 9 with non-free
  • Fedora Workstation 25
  • Ubuntu Desktop 16.04 LTS
  • Ubuntu Server 16.04 LTS

其中,只有一下三種作業系統能夠順利啟動:

  • Windows Server 2012 R2
  • Debian 9 with non-free
  • Ubuntu Server 16.04 LTS

考慮到維護和穩定性的要求,最終選擇了Ubuntu Server 16.04作為伺服器主機的作業系統。

虛擬機器平臺

網上有眾多的文章都主張選用VMware vSphere,但是License是個大問題,反正筆者是買不起的。

使用了多年的VirtualBox自然成了我的首選,可是VirtualBox是否能在Server版本的Linux上成功虛擬帶有圖形介面的OS還是個問題?

幸好最終找到了一個叫做phpvirtualbox的軟體,能夠通過網頁的形式將VirtualBox的操作介面展現出來,

再加上Extension Pack擴充套件包,一個Headless伺服器的藍圖便浮出水面。

國外的一個網站提供了本教程後面一半的內容,感謝那個名叫SK的作者的分享。

好了,鋪墊的介紹就到這裡,讓我們趕快開始吧。

安裝步驟

第一步 安裝Ubuntu Server 16.04 LTS

(安裝步驟省略,請自行用Bing搜尋)

第二步 配置Ubuntu Server 16.04 LTS

使用固定IP地址。

1 vi /etc/network/interfaces

以下是筆者機器上的例子:

1 # The primary network interface
2 auto enp3s0f0
3 # iface enp3s0f0 inet dhcp
4 iface enp3s0f0 inet static
5 address 192.168.11.16
6 netmask 255.255.255.0
7 gateway 192.168.11.1

手工指定DNS伺服器

 - DNS伺服器眾多,國外的很多DNS資源無法訪問,所以筆者選擇了一個最保險的DNS:要要死(114)

vi /etc/resolvconf/resolv.conf.d/base

向其中新增一行:

nameserver 114.114.114.114

(如果你有多個DNS伺服器的話,請採用上面的格式,每行新增一個DNS的IP地址)

讓剛才的變更生效,你需要手工重啟networking服務

/etc/init.d/networking restart

第三步 更新Ubuntu作業系統

這可能是大家最熟悉的一個指令了apt-get。他看起來太經典了,不是嗎?

1 apt-get update
2 apt-get -y dist-upgrade

升級完成後,順便安裝以下元件:

apt-get install build-essential dkms unzip wget
apt-get install apache2 php php-mysql libapache2-mod-php php-soap php-xml

到這裡,請一定重啟一下伺服器。

由於伺服器啟動速度很慢,通常5 ~ 10分鐘的樣子,各位同學儘可以利用這段時間來放鬆一下。

第四步 安裝VirtualBox

VirtualBox提供了靈活的安裝方式,比如,可以選擇通過deb包或者repository的來安裝。

筆者這裡使用repository的方式來進行說明,其它方式,請參考Oracle VirtualBox的官方網站。

首先,要做的就是註冊這個官方的repository:

vi /etc/apt/sources.list

筆者將URL地址新增進去。注:這裡"xenial"是Ubuntu的髮型代號,各位需要根據自己所使用的Ubuntu版本新增特定的倉庫地址,不能混用。

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

註冊官方的Key

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

 獲取官方repository資訊,並開始安裝

1 apt-get update
2 apt-get install virtualbox-5.1

安裝完成後,請確認vboxdrv的狀態

systemctl status vboxdrv

接著,要做的就是安裝VirtualBox的擴充套件包。可以說本方案之所以能夠成功,主要依靠的就是這個擴充套件包的功能。

1 wget http://download.virtualbox.org/virtualbox/5.1.26/Oracle_VM_VirtualBox_Extension_Pack-5.1.26-117224.vbox-extpack
2 VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.26-117224.vbox-extpack

當你看到形如下面的提示,那麼恭喜你,到目前為止安裝很順利。

第五步 安裝Web客戶端phpvirtualbox

也許大家對phpVirtualBox會比較陌生,引用官方網站上的一句話:A web-based front-end to VirtualBox written in PHP

可以在這裡下載到最新版本。

wget https://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-5.0-5.zip
unzip phpvirtualbox-5.0-5.zip

將解壓縮後的資料夾複製到apache的預設釋出路徑,並賦予許可權

mv phpvirtualbox-5.0-5 /var/www/html/phpvirtualbox
chmod 777 /var/www/html/phpvirtualbox/

通過Example檔案建立配置檔案

cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php

開啟剛剛複製產生的配置檔案,指定以哪一個Linux使用者的許可權執行

vi /var/www/html/phpvirtualbox/config.php
1 /* Username / Password for system user that runs VirtualBox */
2 var $username = 'Linux使用者名稱';
3 var $password = '密碼';

注:這個配置用的php裡有很多的設定選項,推薦準備用於生產環境的筒子們詳細的看一下。

建立/etc/default/virtualbox檔案

vi /etc/default/virtualbox

仍然新增上面所指定的Linux使用者

VBOXWEB_USER=Linux使用者名稱

依次嘗試重啟以下三個服務

1 systemctl restart vboxweb-service
2 systemctl restart vboxdrv
3 systemctl restart apache2

第六步 激動人心的時刻到了

開啟瀏覽器,輸入網址:http://伺服器地址/phpvirtualbox/

 在輸入了預設的使用者明(admin)和密碼(admin)以後,一個與原版VirtualBox如出一轍的介面就會展現出來

剩下的使用方式就和VirtualBox完全相同了。篇幅所限,筆者這裡省略。

如何連線你的虛擬機器桌面

你當然不希望僅僅在VM中執行命令列介面的OS,那麼如何才能遠端連線到VM的桌面環境呢?

兩個步驟輕鬆搞定:

第一,在虛擬機器的設定裡面指定遠端桌面的埠,例如筆者設定的9061

 第二,是使用Windows自帶的遠端桌面(或者任何支援RDP協議的客戶端)來連線伺服器上面的這個埠。

注:這裡的IP(192.168.1.123)是伺服器本身的IP,不是VM的IP。

然後....就沒有然後啦。

大功告成,累死了。希望能開闊大家的思路。