sudo yum update -y
sudo reboot
# CentOS 7
sudo yum install epel-release -y
# CentOS 8
sudo dnf install epel-release -y
sudo yum install -y wget git gcc make openssl-devel libxml2-devel \
ruby-devel sqlite-devel curl libcurl-devel
# 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
sudo yum install -y opennebula-server opennebula-sunstone opennebula-ruby
对于生产环境推荐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;"
编辑/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" ]
sudo /usr/share/one/install_gems
sudo -u oneadmin /usr/bin/onedb upgrade -v
sudo passwd oneadmin
# 设置密码,例如"oneadmin"
sudo vi /etc/one/oned.conf
确保有以下配置:
# 网络配置
NETWORK_SIZE = 254
MAC_PREFIX = "02:00"
sudo systemctl enable --now opennebula opennebula-sunstone
sudo firewall-cmd --permanent --add-port=9869/tcp
sudo firewall-cmd --reload
在浏览器中访问:
https://<服务器IP>:9869
使用以下凭据登录: - 用户名:oneadmin - 密码:oneadmin(或您设置的密码)
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
检查日志:
sudo tail -f /var/log/one/oned.log
验证数据库连接:
mysql -u oneadmin -p -D opennebula -e "SHOW TABLES;"
检查服务状态:
sudo systemctl status opennebula-sunstone
这个指南提供了OpenNebula在CentOS上的基本安装和配置。根据您的具体需求,可能需要进行额外的配置和优化。