虚拟机安装OpenDaylight
OpenDaylight(ODL)是一个开源的软件定义网络(SDN)控制器平台,广泛应用于网络自动化、虚拟化和云计算领域,在虚拟机中安装OpenDaylight是学习和测试SDN技术的常见方式,本文将详细介绍在虚拟机环境中安装、配置和验证OpenDaylight的完整流程,涵盖环境准备、软件安装、网络配置及常见问题解决等内容。

环境准备
在安装OpenDaylight之前,需确保虚拟机硬件和软件环境满足基本要求,以下是推荐配置:
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Ubuntu 20.04 LTS/ CentOS 8 | Ubuntu 20.04 LTS 64位 |
| CPU | 2核心 | 4核心或以上 |
| 内存 | 4GB | 8GB或以上 |
| 硬盘空间 | 20GB可用空间 | 40GB或以上 |
| 网络连接 | NAT或桥接模式 | 桥接模式(便于后续实验) |
步骤说明:
- 创建虚拟机:使用VMware、VirtualBox等虚拟化工具创建新虚拟机,选择上述推荐的操作系统版本。
- 配置网络:建议将网络模式设置为“桥接模式”,使虚拟机与宿主机处于同一局域网,便于后续通过浏览器访问OpenDaylight界面。
- 更新系统:安装完成后,更新系统软件包,在Ubuntu中运行:
sudo apt update && sudo apt upgrade -y
安装Java运行环境
OpenDaylight基于Java开发,需安装JDK(Java Development Kit),推荐使用OpenJDK 11或更高版本。
安装步骤(以Ubuntu为例):
- 安装OpenJDK 11:
sudo apt install openjdk-11-jdk -y
- 验证Java安装:
java -version
若显示版本信息,则安装成功。
注意事项:
- 避免使用Oracle JDK,某些OpenDaylight版本可能与Oracle JDK存在兼容性问题。
- 若系统已安装其他版本Java,可通过
update-alternatives命令切换默认版本。
下载并安装OpenDaylight
OpenDaylight提供多种发行版,Carbon”和“Boron”版本较为稳定,适合初学者,本文以“Carbon SR4”版本为例。

安装步骤:
- 下载安装包:访问OpenDaylight官网(https://www.opendaylight.org/)下载Carbon SR4的“Distribution”版本,或直接通过wget命令下载:
wget https://nexus.opendaylight.org/content/repositories/public/org.opendaylight.odlparent/carbon/0.8.4/carbon-0.8.4.zip
- 解压文件:将下载的ZIP文件解压到指定目录(如
/opt):sudo unzip carbon-0.8.4.zip -d /opt
- 配置环境变量:编辑
~/.bashrc文件,添加OpenDaylight的bin目录到PATH:export KARAF_HOME=/opt/carbon-0.8.4 export PATH=$PATH:$KARAF_HOME/bin
保存后运行
source ~/.bashrc使配置生效。
启动与验证OpenDaylight
-
启动Karaf:OpenDaylight基于Apache Karaf运行,通过以下命令启动:
cd /opt/carbon-0.8.4 ./bin/karaf
启动后,Karaf将加载所有模块,需等待几分钟(首次启动时间较长)。
-
验证服务状态:启动成功后,可通过以下命令查看已加载的模块:
feature:list | grep odl
若看到
odl-restconf、odl-netconf-connector等模块,则表示安装成功。 -
访问Web界面:在浏览器中输入
http://虚拟机IP:8181/index.html,默认用户名和密码均为admin,若能登录到控制台,则安装完成。
网络配置与常用操作
-
配置静态IP:若虚拟机使用DHCP,建议配置静态IP以确保服务稳定,在Ubuntu中编辑
/etc/netplan/01-netcfg.yaml:network: version: 2 ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8]运行
sudo netplan apply应用配置。 -
安装ODL插件:通过Karaf命令行安装所需插件,例如安装Netconf插件:
feature:install odl-netconf-connector
-
日志查看:日志文件位于
/opt/carbon-0.8.4/data/log目录,可通过tail -f命令实时监控:tail -f /opt/carbon-0.8.4/data/log/karaf.log
常见问题与解决方案
- 启动失败:检查Java版本是否符合要求,确保端口8181未被占用。
- 无法访问Web界面:确认防火墙已放行8181端口(Ubuntu中运行
sudo ufw allow 8181)。 - 内存不足:若虚拟机内存不足,可调整
/opt/carbon-0.8.4/etc/org.apache.karaf.features.cfg中的featuresBoot参数,减少默认加载的模块。
通过以上步骤,已成功在虚拟机中安装并运行OpenDaylight,作为SDN的核心组件,OpenDaylight提供了丰富的API和插件,支持网络拓扑发现、流表下发等功能,用户可通过Web界面或CLI进一步探索其高级特性,为后续SDN实验和开发奠定基础,建议在学习过程中结合官方文档和社区资源,逐步掌握OpenDaylight的配置与优化技巧。















