目录
OpenNebula介绍
主要特点
应用场景
一. 虚拟机准备
二. 下载安装
1. 导入yum源
2. 数据库配置
3. 安装包
4. 设置配置
数据存放位置
端口介绍
命令介绍
OpenNebula介绍
OpenNebula 是一个开源的云计算平台,主要用于创建和管理虚拟化环境。它被设计成一个轻量级且易于使用的解决方案,适用于私有云、公有云以及混合云环境。以下是 OpenNebula 的主要特点和功能概述:
主要特点
-
多平台支持: OpenNebula 支持多种虚拟化技术,包括 KVM、Xen 和 VMware,允许用户在不同的虚拟化环境中创建和管理虚拟机。
-
简化的用户体验: OpenNebula 提供了直观的用户界面和强大的命令行工具,旨在简化虚拟化和云计算的管理过程。它的 Web 前端(Sunstone)提供了易于使用的仪表盘和管理功能。
-
灵活的架构: OpenNebula 的架构设计允许它在各种规模的环境中运行,从小型企业的单一服务器到大规模的数据中心。它支持多租户环境,允许用户在同一平台上运行多个虚拟数据中心。
-
自动化和编排: OpenNebula 提供了自动化部署和资源编排功能,包括虚拟机的自动扩展、负载均衡和故障恢复。这些功能有助于提高资源利用率和服务可靠性。
-
集成和插件: OpenNebula 支持与其他云管理工具、存储系统、网络系统和监控工具的集成。它提供了丰富的 API 和插件机制,支持与第三方系统的无缝集成。
-
开放性和扩展性: 作为一个开源平台,OpenNebula 允许用户根据需要自定义和扩展其功能。社区和企业版本都可以在 OpenNebula 的基础上进行二次开发和定制。
-
资源管理和监控: OpenNebula 提供了强大的资源管理功能,包括虚拟机、存储和网络资源的分配、监控和优化。用户可以通过仪表盘实时监控资源使用情况。
-
网络和存储功能: OpenNebula 支持多种网络配置,包括虚拟网络、VLAN 和 SDN(软件定义网络)。在存储方面,它支持多种存储后端,包括本地存储、NFS 和 Ceph 等分布式存储系统。
应用场景
- 私有云:企业可以使用 OpenNebula 构建和管理自己的私有云环境,提供按需的计算资源和服务。
- 公有云:OpenNebula 可以用于创建和管理公有云基础设施,提供云计算服务给外部用户。
- 混合云:它支持混合云架构,允许用户将本地数据中心与公有云服务进行集成,实现资源的灵活调配和扩展。
- 虚拟化管理:OpenNebula 也适用于纯粹的虚拟化管理,帮助企业优化数据中心的虚拟化资源和提高运营效率。
一. 虚拟机准备
这里我是用的是一台新虚拟机,关闭防火墙和selinux,配置了阿里云镜像源,进行了时间同步,安装配置见:KVM——安装桌面版本Rocky_linux9.4-CSDN博客
一些参数参考如图:
二. 下载安装
官方网站:OpenNebula – Open Source Cloud & Edge Computing Platform
历史版本:OpenNebula Downloads
官网文档下载地址:https://docs.opennebula.io/6.9/installation_and_configuration/frontend_installation/opennebula_repository_configuration.html#repositories-ce
注意:官方文档里的yum源有点问题,这里我是进行了一点修改
1. 导入yum源
[root@localhost ~]# cat << "EOT" > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=OpenNebula Community Edition
baseurl=https://downloads.opennebula.io/repo/6.9/RedHat/9/$basearch
# baseurl=https://downloads.opennebula.io/repo/6.0/CentOS/7/$basearch
enabled=1
gpgkey=https://downloads.opennebula.io/repo/repo.key
gpgcheck=0
repo_gpgcheck=0
EOT
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
2. 数据库配置
下载mysql
[root@localhost ~]# yum install -y https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
[root@localhost ~]# yum install -y mysql-community-server --enablerepo mysql80-community --disablerepo mysql-8.4-lts-community
[root@localhost ~]# systemctl start mysqld && systemctl enable mysqld、
[root@localhost ~]# grep -o 'root@localhost.*' /var/log/mysqld.log | awk 'END{print $NF}'
[root@localhost ~]# mysql -uroot -p'+e0-#6Ai;gCr' #这里注意替换成你的初始化密码
[root@localhost ~]# mysql -uroot -p'+e0-#6Ai;gCr'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.39
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qaz123456+'; # 修改密码为1234
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE DATABASE opennebula default charset 'utf8'; # 创建库
Query OK, 1 row affected, 1 warning (0.01 sec)
mysql> CREATE USER 'oneadmin' IDENTIFIED BY 'Qaz123456+'; # 设置密码
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin'; # 授权
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED; # s设置事务隔离级别
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT;
Bye
3. 安装包
[root@localhost ~]# yum -y install epel-release
链接:https://pan.baidu.com/s/1EI2sn5fOYh5Dz_nQlvy9Lg?pwd=x3zv
提取码:x3zv
--来自百度网盘超级会员V2的分享
上传缓存好的包opennebula6.9.tgz
解压
[root@localhost ~]# tar -xf opennebula6.9.tgz
[root@localhost ~]# cd opennebula6.9/
安装
[root@localhost opennebula6.9]# yum install -y ./*.rpm
在 /etc/sysctl.conf 中加入配置
[root@localhost opennebula6.9]# cd ~
[root@localhost ~]# vim /etc/sysctl.conf
net.bridge.bridge-nf-call-arptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
安装kvm
[root@localhost ~]# yum install -y qemu-kvm libvirt virt-manager virt-install
[root@localhost ~]# systemctl enable --now libvirtd
4. 设置配置
配置前端使用mysql
[root@localhost ~]# vim /etc/one/oned.conf
DB = [ BACKEND = "mysql",
SERVER = "localhost",
PORT = 0,
USER = "oneadmin",
PASSWD = "Qaz123456+",
DB_NAME = "opennebula",
CONNECTIONS = 25,
COMPARE_BINARY = "no" ]
设置oneadmin账号密码
[root@localhost ~]# sudo -u oneadmin /bin/sh
sh-5.1$ echo 'oneadmin:Qaz123456' > /var/lib/one/.one/one_auth
sh-5.1$ exit
修改如下配置
[root@localhost ~]# vim /etc/one/sunstone-server.conf
:private_fireedge_endpoint: http://192.168.226.149:2616
:public_fireedge_endpoint: http://192.168.226.149:2616
[root@localhost ~]# vim /etc/one/onegate-server.conf
:host: 0.0.0.0
[root@localhost ~]# vim /etc/one/oned.conf
ONEGATE_ENDPOINT = "http://192.168.226.149:5030"
[root@localhost ~]# vim /etc/one/oneflow-server.conf
:host: 0.0.0.0
启动并设置自启
[root@localhost ~]# systemctl enable --now opennebula opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow
[root@localhost ~]# ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 127.0.0.1:6010 0.0.0.0:* users:(("sshd",pid=2326,fd=9))
LISTEN 0 128 127.0.0.1:6011 0.0.0.0:* users:(("sshd",pid=2424,fd=9))
LISTEN 0 100 0.0.0.0:29876 0.0.0.0:* users:(("python",pid=12155,fd=0))
LISTEN 0 32 192.168.122.1:53 0.0.0.0:* users:(("dnsmasq",pid=11927,fd=6))
LISTEN 0 8 0.0.0.0:4124 0.0.0.0:* users:(("onemonitord",pid=12322,fd=51))
LISTEN 0 100 0.0.0.0:5030 0.0.0.0:* users:(("ruby",pid=12415,fd=8))
LISTEN 0 5 0.0.0.0:4822 0.0.0.0:* users:(("guacd",pid=12101,fd=4))
LISTEN 0 4096 127.0.0.1:631 0.0.0.0:* users:(("cupsd",pid=1070,fd=7))
LISTEN 0 100 0.0.0.0:2474 0.0.0.0:* users:(("ruby",pid=12413,fd=10))
LISTEN 0 15 0.0.0.0:2633 0.0.0.0:* users:(("oned",pid=12118,fd=29))
LISTEN 0 511 0.0.0.0:2616 0.0.0.0:* users:(("node",pid=12414,fd=20))
LISTEN 0 100 127.0.0.1:2102 0.0.0.0:* users:(("one_hm.rb",pid=12157,fd=39))
LISTEN 0 100 127.0.0.1:2101 0.0.0.0:* users:(("one_hm.rb",pid=12157,fd=37))
LISTEN 0 100 0.0.0.0:9869 0.0.0.0:* users:(("ruby",pid=12432,fd=8))
LISTEN 0 4096 0.0.0.0:111 0.0.0.0:* users:(("systemd",pid=1,fd=247))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1074,fd=3))
LISTEN 0 128 [::1]:6010 [::]:* users:(("sshd",pid=2326,fd=8))
LISTEN 0 128 [::1]:6011 [::]:* users:(("sshd",pid=2424,fd=8))
LISTEN 0 151 *:3306 *:* users:(("mysqld",pid=3277,fd=22))
LISTEN 0 4096 [::1]:631 [::]:* users:(("cupsd",pid=1070,fd=6))
LISTEN 0 70 *:33060 *:* users:(("mysqld",pid=3277,fd=23))
LISTEN 0 4096 [::]:111 [::]:* users:(("systemd",pid=1,fd=251))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=1074,fd=4))
验证安装
[root@localhost ~]# su - oneadmin -c "oneuser show"
USER 0 INFORMATION
ID : 0
NAME : oneadmin
GROUP : oneadmin
PASSWORD : 417ecded6c250ecf06e463c01b71dacc8a07f6d8e96545cee8de6f1352ef6f6a
AUTH_DRIVER : core
ENABLED : Yes
TOKENS
USER TEMPLATE
TOKEN_PASSWORD="00cd3978dd57729edea0a837186097e9f504608f27753b63faf1dc18f79aaf65"
VMS USAGE & QUOTAS
VMS USAGE & QUOTAS - RUNNING
DATASTORE USAGE & QUOTAS
NETWORK USAGE & QUOTAS
IMAGE USAGE & QUOTAS
浏览器访问主机IP+9869端口:http://192.168.226.149:9869/
默认的用户名:oneadmin
默认的密码:Qaz123456
数据存放位置
路径 | 描述 |
---|---|
/etc/one/ | 配置文件 |
/var/log/one/ | 日志文件,例如 、 和oned.log``sched.log``sunstone.log``<vmid>.log |
/var/lib/one/ | oneadmin |
主目录 | |
/var/lib/one/datastores/<dsid>/ | 数据存储的存储 |
/var/lib/one/vms/<vmid>/ | VM 的操作文件(部署文件、传输管理器脚本等) |
/var/lib/one/.one/one_auth | oneadmin |
凭据 | |
/var/lib/one/remotes/ | 将同步到主机的探测器和脚本 |
/var/lib/one/remotes/etc | 探测器和脚本的配置文件 |
/var/lib/one/remotes/hooks/ | 钩子脚本 |
/var/lib/one/remotes/vmm/ | Virtual Machine Manager 驱动程序脚本 |
/var/lib/one/remotes/auth/ | 身份验证驱动程序脚本 |
/var/lib/one/remotes/im/ | 信息管理器(监视)驱动程序脚本 |
/var/lib/one/remotes/market/ | MarketPlace 驱动程序脚本 |
/var/lib/one/remotes/datastore/ | 数据存储驱动程序脚本 |
/var/lib/one/remotes/vnm/ | 网络驱动程序脚本 |
/var/lib/one/remotes/tm/ | Transfer Manager 驱动程序脚本 |
端口介绍
端口 | 描述 |
---|---|
22 | 前端主机 SSH 服务器 |
2474 | OneFlow 服务器 |
2616 | 下一代 GUI 服务器 FireEdge |
2633 | 主 OpenNebula Daemon (oned), XML-RPC API 端点 |
4124 | 监视守护程序(TCP/UDP) |
5030 | OneGate 服务器 |
9869 | GUI服务器 Sunstone |
29876 | noVNC 代理服务器 |
命令介绍
使用以下命令停止所有 OpenNebula 服务:
[root@localhost ~]#
systemctl stop opennebula opennebula-scheduler opennebula-hem \
opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow \
opennebula-guacd opennebula-novnc opennebula-showback.timer \
opennebula-ssh-agent opennebula-ssh-socks-cleaner.timer
使用以下命令重新启动所有已在运行的 OpenNebula 服务:
[root@localhost ~]#
systemctl start opennebula opennebula-scheduler opennebula-hem \
opennebula-sunstone opennebula-fireedge opennebula-gate opennebula-flow \
opennebula-guacd opennebula-novnc opennebula-ssh-agent