插件窝 干货文章 在CentOS上安装和配置OpenNebula入门实例

在CentOS上安装和配置OpenNebula入门实例

OpenNebula sudo oneadmin 配置 851    来源:    2025-05-19

OpenNebula在CentOS上的安装与配置指南

系统要求

  • CentOS 7或8(推荐7.9或8.3+)
  • 至少4GB RAM(生产环境建议8GB+)
  • 20GB可用磁盘空间
  • root或sudo权限

1. 环境准备

1.1 更新系统

sudo yum update -y
sudo reboot

1.2 安装EPEL仓库

# CentOS 7
sudo yum install epel-release -y

# CentOS 8
sudo dnf install epel-release -y

1.3 安装基础依赖

sudo yum install -y wget git gcc make openssl-devel libxml2-devel \
ruby-devel sqlite-devel curl libcurl-devel

2. 安装OpenNebula

2.1 添加OpenNebula仓库

# CentOS 7
sudo cat > /etc/yum.repos.d/opennebula.repo <<EOF
[opennebula]
name=opennebula
baseurl=https://downloads.opennebula.org/repo/5.8/CentOS/7/\$basearch
enabled=1
gpgkey=https://downloads.opennebula.org/repo/repo.key
gpgcheck=1
EOF

# CentOS 8
sudo cat > /etc/yum.repos.d/opennebula.repo <<EOF
[opennebula]
name=opennebula
baseurl=https://downloads.opennebula.org/repo/5.8/CentOS/8/\$basearch
enabled=1
gpgkey=https://downloads.opennebula.org/repo/repo.key
gpgcheck=1
EOF

2.2 安装OpenNebula前端

sudo yum install -y opennebula-server opennebula-sunstone opennebula-ruby

2.3 安装数据库(SQLite或MySQL)

对于生产环境推荐MySQL/MariaDB:

# 安装MariaDB
sudo yum install -y mariadb-server mariadb

# 启动并设置开机启动
sudo systemctl enable --now mariadb

# 安全配置
sudo mysql_secure_installation

# 创建OpenNebula数据库
mysql -u root -p -e "CREATE DATABASE opennebula;"
mysql -u root -p -e "GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin'@'localhost' IDENTIFIED BY 'oneadmin';"
mysql -u root -p -e "FLUSH PRIVILEGES;"

2.4 配置数据库连接

编辑/etc/one/oned.conf

sudo vi /etc/one/oned.conf

找到并修改DB配置部分:

DB = [ backend = "mysql",
       server  = "localhost",
       port    = 0,
       user    = "oneadmin",
       passwd  = "oneadmin",
       db_name = "opennebula" ]

3. 配置OpenNebula

3.1 初始化数据库

sudo /usr/share/one/install_gems
sudo -u oneadmin /usr/bin/onedb upgrade -v

3.2 设置oneadmin密码

sudo passwd oneadmin
# 设置密码,例如"oneadmin"

3.3 配置网络

sudo vi /etc/one/oned.conf

确保有以下配置:

# 网络配置
NETWORK_SIZE = 254
MAC_PREFIX   = "02:00"

3.4 启动服务

sudo systemctl enable --now opennebula opennebula-sunstone

4. 访问Web界面

4.1 防火墙设置

sudo firewall-cmd --permanent --add-port=9869/tcp
sudo firewall-cmd --reload

4.2 访问Sunstone

在浏览器中访问:

https://<服务器IP>:9869

使用以下凭据登录: - 用户名:oneadmin - 密码:oneadmin(或您设置的密码)

5. 创建第一个虚拟机

5.1 准备镜像

wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img
sudo mv focal-server-cloudimg-amd64.img /var/lib/one/images/
sudo chown oneadmin:oneadmin /var/lib/one/images/focal-server-cloudimg-amd64.img

5.2 通过Sunstone创建VM

  1. 登录Sunstone
  2. 导航到"Images" -> "Add"
  3. 选择上传的Ubuntu镜像
  4. 设置类型为"OS",格式为"qcow2"
  5. 导航到"Templates" -> "Add"创建新模板
  6. 选择刚添加的镜像,配置CPU、内存等
  7. 在"VMs"中点击"Instantiate"创建虚拟机

6. 常见问题解决

6.1 服务启动失败

检查日志:

sudo tail -f /var/log/one/oned.log

6.2 数据库连接问题

验证数据库连接:

mysql -u oneadmin -p -D opennebula -e "SHOW TABLES;"

6.3 Web界面无法访问

检查服务状态:

sudo systemctl status opennebula-sunstone

后续步骤

  • 配置更多主机节点
  • 设置存储后端(NFS、Ceph等)
  • 配置网络(VLAN、桥接等)
  • 设置用户和组权限

这个指南提供了OpenNebula在CentOS上的基本安装和配置。根据您的具体需求,可能需要进行额外的配置和优化。