第四章:RPM包安装——配置YUM源、安装OVS RPM包、启动OVS服务、设置开机自启、验证服务状态
好,咱们继续往下走。前面几章聊了源码编译和内核模块那些事,说实话,源码编译虽然灵活,但生产环境里我其实不太推荐。为什么呢?你想想看,几十台甚至上百台服务器,每台都去编译一遍,光是等那个make就够你喝一壶的。
所以这一章,咱们聊聊RPM包安装。这是我在企业里最常用的方式,没有之一。说白了,就是利用YUM仓库,把OVS当成一个普通软件来装。省心、省力、还容易维护。
4.1 配置YUM源——先把路铺好
安装RPM包的第一步,是让系统知道去哪找包。我个人的习惯是,优先使用官方源,实在不行再考虑第三方。
OVS官方提供了RHEL/CentOS的YUM仓库。配置起来其实很简单:
# 安装yum-utils(如果还没装的话)
yum install -y yum-utils
# 添加OVS官方仓库
yum install -y https://rpm.ovn.org/centos/7.9/base/x86_64/ovn-release-2.13.0-1.el7.noarch.rpm
# 或者直接用rpm命令导入
rpm -ivh https://rpm.ovn.org/centos/7.9/base/x86_64/ovn-release-2.13.0-1.el7.noarch.rpm
嗯,这里要注意一点。不同版本的CentOS/RHEL,对应的仓库地址是不一样的。我曾经在CentOS 8上用了CentOS 7的仓库,结果依赖包死活装不上。后来查了半天才发现是版本不匹配。
配置完成后,可以验证一下仓库是否生效:
yum repolist | grep openvswitch
如果能看到类似这样的输出,说明源已经配好了:
repo id repo name
openvswitch-2.13 Open vSwitch 2.13
4.2 安装OVS RPM包——一行命令搞定
源配好了,安装就简单了。一行命令的事:
yum install -y openvswitch
如果你需要特定版本,也可以指定:
yum install -y openvswitch-2.13.0
安装过程中,YUM会自动处理依赖关系。我记得有一次在最小化安装的系统上装OVS,它自动拉了好几个依赖包进来,包括python、perl之类的。嗯,这些都是OVS运行需要的,不用慌。
yumdownloader openvswitch下载所有RPM包,然后放到本地服务器上,用createrepo创建仓库索引。
安装完成后,可以检查一下RPM包是否安装成功:
rpm -qa | grep openvswitch
输出应该类似:
openvswitch-2.13.0-1.el7.x86_64
4.3 启动OVS服务——让系统跑起来
包装好了,接下来就是启动服务。我个人习惯用systemctl来管理:
systemctl start openvswitch
等等,这里有个细节。OVS的服务名在不同版本里可能不一样。有的叫openvswitch,有的叫ovs-vswitchd。我建议你装完后先查一下:
systemctl list-unit-files | grep -i ovs
启动后,可以看看进程状态:
ps -ef | grep ovs
正常情况下,你应该能看到两个主要进程:ovs-vswitchd和ovsdb-server。前者负责数据转发,后者负责配置管理。缺一不可。
journalctl -u openvswitch -n 50。我遇到过好几次,都是因为内核模块没加载导致的。用modprobe openvswitch加载一下就好了。
4.4 设置开机自启——一劳永逸
服务启动后,还得让它开机自动运行。不然服务器重启了,你还得手动去启,那多麻烦。
systemctl enable openvswitch
这条命令会在/etc/systemd/system/multi-user.target.wants/目录下创建一个符号链接。下次系统启动时,systemd会自动拉起OVS服务。
验证一下是否设置成功:
systemctl is-enabled openvswitch
输出应该是enabled。
4.5 验证服务状态——确认一切正常
最后一步,验证服务是否正常运行。我一般会做以下几个检查:
- 检查服务状态:
systemctl status openvswitch
输出应该包含active (running)字样。
- 检查OVS版本:
ovs-vsctl --version
输出类似:
ovs-vsctl (Open vSwitch) 2.13.0
- 检查OVS数据库:
ovs-vsctl show
刚安装完,输出应该是一个空的OVS实例:
a2a3b4c5-d6e7-4f8g-9h0i-1j2k3l4m5n6o
ovs_version: "2.13.0"
- 检查网络接口:
ovs-vsctl list-br
刚安装完,这个命令应该没有任何输出,因为还没有创建任何网桥。
好了,这一章就到这里。下一章咱们聊聊如何创建OVS网桥和端口,那才是真正开始用OVS干活的时候。
apt install openvswitch-switch。原理是一样的,只是命令不同。