• [原创]在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。

    然后....就没有然后啦。

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

  • 相关阅读:
    python笔记之发送邮件
    Python基础
    Python操作csv文件
    Python之操作Excel、异常处理、网络编程
    Python操作数据库及hashlib模块
    函数、装饰器、模块
    Python之三元运算、集合、函数
    python基础--字符串操作、列表、元组、文件操作
    抓包工具Fiddler及Charles
    input type=number maxlength无效
  • 原文地址:https://www.cnblogs.com/hexin0614/p/7441738.html
Copyright © 2020-2023  润新知