一、说说情怀

随着公司硬件开发资源的不足,构建一个云平台似乎重要了起来。当然,也不是这个平台搭建的主力,出于工作的需求和个人兴趣爱好,接下来就来学习一下OpenNebula相关的东西,这是第一节课,先来说一下OpenNebula的安装,实现的目标是非快速安装,把MySQL作为OpenNebula的存储资源库

二、安装步骤

2.1:环境准备

  • 准备至少一台安装了Ubuntu16.0.4LTS的物理机或者虚拟机
  • 处理器要支持KVM虚拟化
  • 系统已更新为aliyun的source且已经更新
  • 关闭防火墙

2.2:安装步骤

2.2.1:安装KVM

查看CPU是否支持KVM虚拟化
grep vmx /proc/cpuinfo
安装KVM
sudo apt-get install kvm qemu-kvm ubuntu-vm-builder bridge-utils libvirt-bin virtinst
启动KVM内核支持 【注】在服务器安装界面启用虚拟化支持,可以忽略此步骤
modprobe kvm
modprobe kvm_intel
modprobe kvm_amd
将root加入kvm群组中
adduser root kvm
验证KVM是否成功
virsh -c qemu:///system list
lsmod | grep kvm

2.2.2:安装MySQL服务

上面的是quick install模式下的安装,OpenNebula采用了默认的资料库,官方的说明如下

2.2.5 Step 5. Enabling MySQL/MariaDB (Optional)
You can skip this step if you just want to deploy OpenNebula as quickly as possible. However if you are deploying
this for production or in a more serious environment, make sure you read the MySQL Setup section.
Note that it is possible to switch from SQLite to MySQL, but since it’s more cumbersome to migrate databases, we
suggest that if in doubt, use MySQL from the start.

这里我们可以利用已经存在的任何一个OpenNebula服务可以访问的MySQL Server主机,也可以在localhost安装一个MySQL Server,为了不干扰其他系统,我选择在本地安装一个新的MySQL  Server,输入mysql命令查看系统是否已经安装了mysql服务

由上图可以看到系统中并不存在MySQL服务器,我们需要首先在Ubuntu 16.04上安装MySQL数据库

sudo apt-get install mysql-server mysql-client

安装过程中会出现一个为MySQL数据库输入ROOT密码的界面,请牢记这个密码

看MySQL是否安装成功(由于在安装过程中,设置了密码,所以不能匿名mysql登录,需要加上mysql  -u  root -p)如下图,安装成功

使用MySQL的root用户登录后,执行下面的命令,如下图所示

mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'oneadmin';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
Query OK, 0 rows affected (0.00 sec)

注意!注意!注意!这里不需要创建opennebula数据库,因为接下来我们安装OpenNebula的时候会设置相关信息,OpenNebula服务会自动的

帮助我们创建一个我们配置信息中的数据库,只要给予oneadmin足够的权限即可

2.2.3:安装OpenNebula Front-end

下载opennebula repo源

wget -q -O- http://downloads.opennebula.org/repo/Debian/repo.key | apt-key add -

将下载的源存放到apt的source清单中

echo "deb http://downloads.opennebula.org/repo/5.2/Ubuntu/16.04 stable opennebula" > /etc/apt/sources.list.d/opennebula.list

更新系统和下载最新的opennebula软件包

apt-get update

安装opennebula Front-end需要的软件包

apt-get install opennebula opennebula-sunstone opennebula-gate opennebula-flow

切换到oneadmin并且给oneadmin指定密码(oneadmin是安装opennebula相关服务的时候创建的一个用户)

su - oneadmin
echo "oneadmin:youpassword" > ~/.one/one_auth

☆☆☆ 给OpenNebula配置MySQL内容存储库

找到/etc/one/oned.conf配置文件,修改内容如下,注释掉默认的SQLite,然后保存这个修改

这个地方是十分重要的地方,如果这个操作没有做千万不要启动OpenNebula服务,否则系统会默认OpenNebula的资料库为SQLite,会给以后造成麻烦,官网资料也给出了说明

【关于内容库的说明】

2.3 MySQL Setup
The MySQL/MariaDB back-end is an alternative to the default SQLite back-end. In this guide and in the rest of Open-
Nebula’s documentation and configuration files we will refer to this database as the MySQL, however OpenNebula
you can use either MySQL or MariaDB.
The two back-ends cannot coexist (SQLite and MySQL), and you will have to decide which one is going to be used
while planning your OpenNebula installation.
Note: If you are planning to install OpenNebula with MySQL back-end, please follow this guide prior to start
OpenNebula the first time to avoid problems with oneadmin and serveradmin credentials.

【关于MySQL配置时间点的说明】

确保上面的操作都完成后,就可以启动opennebula和sunstone服务
systemctl start opennebula

systemctl start opennebula-sunstone

或者使用Linux的 service 命令

service opennebula start

service opennebula-sunstone start

启动的时候需要输入OS的密码进行验证(如果不需要认证则直接跳过),在这个时候就会针对各种服务进行授权,如下图所示,每次启动一个服务后,输入密码

提示AUTHENTICATION COMPLETE,则说明认证完成启动OK

查看one服务是否启动成功

确定启动成功后,我们再次用root用户登录mysql,可以发现这个时候OpenNebula的数据库已经自动创建好了

接下来我们访问OpenNebula前端服务UI,在浏览器输入http://<fontend_address>:9869即可访问OpenNebula的登录页面

使用你上面设置的oneadmin用户的用户名:oneadmin  密码:youpassword进行登录,登录后即可看到OpenNebula的主管理界面

看着不舒服的话,可以在设置里面设置一下语言为简体中文,设置后会显示中文的界面,如下图所示

到这里为止,OpenNebula在Ubuntu16.04上面的基于MySQL内容库的安装已经全部完成了,这一天也该结束了。

OpenNebula学习第一节OpenNebula Front-end Installation的更多相关文章

  1. OpenNebula学习第二节OpenNebula Node Installation

    一.准备工作 准备一台物理机或者虚拟机:Ubuntu16.0.4 已经更新了aliyun的source cpu支持虚拟化 关闭防火墙 二.安装步骤 2.1:下载opennebula repo源 wge ...

  2. MapServer Tutorial——MapServer7.2.1教程学习——第一节:MapServer的基本配置管理,静态地图应用以及MapFile文件

    MapServer Tutorial——MapServer7.2.1教程学习——第一节:MapServer的基本配置管理,静态地图应用以及MapFile文件 前言 万事开头难,有了<MapSer ...

  3. 1001-MySQL学习-第一节自习课

    MySQL学习(第一节自习课) 一. 软件下载.安装 下载地址:https://dev.mysql.com/downloads/installer/ 位置:mysql->installer-&g ...

  4. VUE2.0实现购物车和地址选配功能学习第一节(来源--慕课网河畔一角)

    第一节  vue知识 vue-resource:和后台交互的一个插件,实现get.post和jsonp等功能.(替代jQuery) vue特点: 1.易用:通过创建vue实例,{{}}绑定数据十分方便 ...

  5. Python-01 学习第一节

    python是一种解释型.面向对象.动态数据类型的高级程序设计语言. 执行Python程序: 对于大多数程序语言,第一个入门编程代码便是"Hello World!",以下代码为使用 ...

  6. Netty学习第一节Netty的总体概况

    一.Netty简介 什么是Netty? 1.高性能事件驱动,异步非阻塞的IO加载开源框架. 它是由JBoss提供,用于建立TCP等底层链接.基于Netty可以建立高性能的HTTP服务器,快速开发高性能 ...

  7. JPA学习---第一节:JPA详解

    一.详解 JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据.他的出现主要是 ...

  8. Coursera在线学习---第一节.梯度下降法与正规方程法求解模型参数比较

    一.梯度下降法 优点:即使特征变量的维度n很大,该方法依然很有效 缺点:1)需要选择学习速率α 2)需要多次迭代 二.正规方程法(Normal Equation) 该方法可以一次性求解参数Θ 优点:1 ...

  9. Ant学习---第一节:Ant安装和简单使用

    一.下载 ant 插件,路径如下: http://ant.apache.org/bindownload.cgi 二.安装 ant 插件,解压下载下来的 ant 插件,配置环境变量(最好系统环境变量), ...

随机推荐

  1. 高性能server分析 - Hadoop的RpcServer

    一.Listener Listener线程,当Server处于运行状态时,其负责监听来自客户端的连接,并使用Select模式处理Accept事件. 同时,它开启了一个空闲连接(Idle Connect ...

  2. oracle 删除字段中空格

    update  sales_report set region =  REGEXP_REPLACE(region,  '( ){1,}', '')

  3. DWZ(JUI) 教程 跨域请求 iframeNavTab

    如果想navTab访问其他的网址,可以使用 iframe  navTab 使用时也非常简单 <li><a href="http://www.baidu.com"  ...

  4. 作为互联网人,你必须知道的一些IT类网站

  5. [Asp.net]web.config customErrors 如何设置?

    摘要 customErrors也经常在开发部署中看到<customErrors mode="Off" />,设置这样可以在页面上看到详细的错误信息.但也为黑客提供了攻击 ...

  6. Android 应用开发特色

    Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序.1. 四大组件Android 系统四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast ...

  7. Android 之窗口小部件高级篇--App Widget 之 RemoteViews

    Android 之窗口小部件高级篇--App Widget 之 RemoteViews 在之前的一篇博文(Android 之窗口小部件详解--App Widget)中,已经介绍了App Widget的 ...

  8. iOS 各种控件默认高度(图示)

    1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置为灰色,黑色或者半透明 ...

  9. jquery.jCal.js显示日历插件

    描述:日历插件jCal用于需要输入日期的表单文本框. 兼容浏览器:IE浏览器/Firefox/Google Chrome 官方链接: http://www.overset.com/2008/05/1 ...

  10. Snail—UI学习之得到某组件的方法

    第一种方法:依据传入函数的參数对象的tag属性区分 比方 多个button运行同一个方法,可是不同的方法运行时.里面的逻辑又不一样 那就得加以区分 这时能够用tag来差别 //再新建一个Button ...