Hi!
I was able to change location by adding
"OVS_RUNDIR=/run/openvswitch" into file /etc/default/openvswitch-switch
and changing all
"/var/run/openvswitch" to "/run/openvswitch" in all scripts I've found inside folder /usr/share/openvswitch/scripts

I'm using Debian GNU/Linux 12 (bookworm), default packages.

Thank you for your help

On 27.06.2025 16:55, Ilya Maximets wrote:
On 6/27/25 3:11 PM,richman10000...@gmail.com wrote:
Hi!


Description
I have an issue with openvswitch on server.
few month ago had issue with server being inaccessible.

Probable cause:
After investigation I think found a reason for that.
folder /var is on the disk (HDD RAID)
folder /run is in memory(tmpfs)
symlink //var/run -> /run/

But openvswitch sockets are at location //var/run/
/
/lsof | grep "var/run"
ovsdb-ser     593                         root   15u     unix
0x00000000065cc4dd         0t0      12496 /var/run/openvswitch/db.sock
type=STREAM
ovsdb-ser     593                         root   16u     unix
0x00000000d853813b         0t0      12497
/var/run/openvswitch/ovsdb-server.593.ctl type=STREAM
ovsdb-ser     593                         root   18u     unix
0x000000004cba3d40         0t0      12544 /var/run/openvswitch/db.sock
type=STREAM
ovs-vswit     641                         root    9u     unix
0x000000007acb4cf4         0t0      16459
/var/run/openvswitch/ovs-vswitchd.641.ctl type=STREAM
ovs-vswit     641                         root   48u     unix
0x000000003b097565         0t0      25826
/var/run/openvswitch/ovs-inter.mgmt type=STREAM
ovs-vswit     641                         root   49u     unix
0x00000000a1bb850e         0t0      25827
/var/run/openvswitch/ovs-inter.snoop type=STREAM/


During heaving IO to disk folder /var becomes frozen. ls -l will not
return anything.
since  /var contains "run" symlink this results in ovs daemons to fail
and virtual switch stops working.

Proposed solution:
the solution is to move all pid and sockets to folder */run *but is
seems this is hard-coded into ovs daemons.
I've tried to change in conf.db /"rundir","/var/run/openvswitch" /but ovs.
But if I remove //var/run symlink - /*OVS services will not start!
*
The rundir is defined at the build time.  If you're building OVS yourself
you may specify --with-rundir=/run/openvswitch for the ./configure script
to override the default.  If you're using already built binary, you should
be able to override the value by exporting OVS_RUNDIR=/run/openvswitch
before starting OVS.  Note that all OVS programs will use the same defaults
and you'll need to export this variable before using any OVS utilities
like ovs-vsctl or ovs-appctl, otherwise they may have trouble finding the
right paths.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to