本文介绍在CentOS 7系统上安装OpenNebula Front-end(前端)的方法,它是执行OpenNebula服务的管理引擎,安装的基本要求是:内存2GB、CPU 1CPU(2核)、磁盘大小100GB,Network 2 NICS。
一、添加OpenNebula和epel存储库 运行以下命令在CentOS 7上添加OpenNebula存储库,以root用户身份运行以下命令 cat << EOT > /etc/yum.repos.d/opennebula.repo [opennebula] name=opennebula baseurl=https://downloads.opennebula.org/repo/5.7/CentOS/7/x86_64 enabled=1 gpgkey=https://downloads.opennebula.org/repo/repo.key gpgcheck=1 EOT 以上针对的OpenNebula版本是5.7,你可以使用其它的版本。
二、禁用SELinux,进行系统更新并重新启动 OpenNebula在执行模式下与SELinux不兼容,我们禁用它: sudo setenforce 0 sudo sed -i 's/(^SELINUX=).*/SELINUX=disabled/' /etc/selinux/config cat /etc/selinux/config 参考:在RHEL 8/CentOS 8系统中禁用SELinux的方法。 系统更新: sudo yum -y install epel-release sudo makecache fast sudo yum -y update sudo systemctl reboot
三、安装和配置数据库 由于我们要将OpenNebula配置为使用MySQL而不是SQLite,我们来配置它,首先,使用以下命令安装MariaDB服务器和客户端(参考在CentOS 7服务器中安装MariaDB 10.4的方法): sudo yum -y install mariadb-server mariadb sudo systemctl enable mariadb sudo systemctl start mariadb 使用命令设置MariaDB的root密码: sudo mysql_secure_installation 为OpenNebula创建数据库和用户: $ mysql -u root -p CREATE DATABASE opennebula; GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'StrongPassword'; FLUSH PRIVILEGES;
四、安装OpenNebula Front-end软件包 这些是OpenNebula CentOS存储库中可用的软件包: opennebula:命令行界面。 opennebula-server:主要的OpenNebula守护进程,调度程序等。 opennebula-sunstone:Sunstone(GUI)和EC2 API。 opennebula-ruby:Ruby Bindings。 opennebula-java:Java绑定。 opennebula-gate:OneGate服务器,支持VM和OpenNebula之间的通信。 opennebula-flow:OneFlow管理服务和弹性。 opennebula-node-kvm:安装oneadmin用户的元数据包,libvirt和kvm。 opennebula-common:OpenNebula包的公共文件。 我们将安装: sudo yum -y install opennebula opennebula-server \ opennebula-sunstone opennebula-ruby opennebula-gate \ opennebula-flow 你可以使用以下命令确认已安装的软件包列表: $ sudo rpm -qai | grep openne | grep Name | cut -d: -f2 opennebula-flow opennebula opennebula-server opennebula-gate opennebula-common opennebula-ruby opennebula-sunstone
五、Ruby Runtime Installation 一些OpenNebula组件需要Ruby库,OpenNebula提供了一个脚本,用于安装所需的gem以及所需的一些开发库包。 作为root执行: # /usr/share/one/install_gems 你会收到一个提示,要求选择操作系统并确认。 Select your distribution or press enter to continue without installing dependencies. 0. Ubuntu/Debian 1. CentOS/RedHat/Scientific 选择1并在下一个提示中按Enter键。
六、配置OpenNebula DB 然后打开oned.conf文件并编辑以添加MySQL数据库设置: sudo vim /etc/one/oned.conf 取消注释该行: DB = [ BACKEND = "sqlite" ] to #DB = [ BACKEND = "sqlite" ] 然后加: DB = [ backend = "mysql", server = "localhost", port = 0, user = "oneadmin", passwd = "StrongPassword", db_name = "opennebula" ] 将StrongPassword替换为你之前为数据库指定的密码,确认用户可以登录到DB。 $ mysql -u oneadmin -p
七、配置oneadmin credentials 随机生成的文件通常放在文件/var/lib/one/.one/one_auth上: # cat /var/lib/one/.one/one_auth oneadmin:b82f13701914afc9e3c6aea69f180109 如果需要更改密码,请在此处进行操作: # su - oneadmin $ echo "oneadmin:mypassword" > ~/.one/one_auth 这将在第一次启动时设置oneadmin密码,从那时起,你必须使用以下命令更改oneadmin的密码: $ oneuser passwd
八、配置防火墙 我们需要配置防火墙以允许OpenNebula所需的特定端口。 检查是否启用了firewalld服务: $ sudo firewall-cmd --state running 如果正在运行,请打开访问Sunstone Web界面所需的端口: sudo firewall-cmd --add-port=9869/tcp --permanent sudo firewall-cmd --reload
九、启动OpenNebula守护进程 使用systemd服务管理命令启动OpenNebula服务: systemctl start opennebula opennebula-sunstone systemctl enable opennebula opennebula-sunstone
十、验证安装和访问Sunstone UI 在第一次启动OpenNebula之后,你应该检查命令是否可以连接到OpenNebula守护程序,可以在Linux CLI或图形用户界面中执行此操作:Sunstone,从前端的CLI中,以oneadmin身份运行以下命令: # su - oneadmin -c "oneuser show" USER 0 INFORMATION ID : 0 NAME : oneadmin GROUP : oneadmin PASSWORD : e6a7ce61b035faf07f4d98319dd99b19912b1bed AUTH_DRIVER : core ENABLED : Yes TOKENS USER TEMPLATE TOKEN_PASSWORD="58bb386f7b00453481b40e88cda4fea99b9390e0" RESOURCE USAGE & QUOTAS 如果收到错误消息,则无法正确启动OpenNebula守护程序。 OpenNebula日志位于/var/log/one中,即: oned.log - 核心日志,错误消息将位于此处,前缀为[E]。 sched.log - 调度程序日志位于此处。 1、访问Sunstone UI 现在你可以尝试登录Sunstone Web界面,为此,请将浏览器指向: http://<fontend_address>:9869 如果一切正常,将会看到一个登录页面:
用户是oneadmin,密码是前端文件/var/lib/one/.one/one_auth中的密码,登录后可看到如下图的控制面板:
2、OpenNebula Front-end目录结构 下表列出了安装后Front-end可用的一些值得注意的路径:
相关主题 |