Were running BigIP 12.1.3 on a Viprion 2400 and noticed when we manually edited /config//bigip_base.conf file, changes did not take effect until we reloaded the configuration from disk. Moreover, if we wrote the configuration to disk before reloading it (save sys config), the changes we had made to the configuration file were lost.
This seems a bit counter intuitive, so could someone please shed the light on why its working this way?
The config exists in multiple places.
mcpd has a copy of the config in memory - this is what is used by tmm and other processes on the BigIP to process traffic. When you make a change to the config, it is made in the in-memory copy, and then written to the on-disk config files. This process does not work the other way way round - the on-disk config files are only loaded into mcpd to become the running config if you do a "tmsh load sys config" or run some other config-reloading command.
So we have two copies of the config - in-memory or the config files. The third copy is a binary config written to disk by mcpd. This is a direct dump of the in-memory data structure on to disk. This is much faster to load than parsing the config files, so when mcpd is starting, it uses this (if it exists). It's the difference between a few seconds to load the config, or minutes to parse and load the config files.
So if you change bigip.conf or bigip_base.conf, you will need to reload the config to see the change have effect. If you make a change in the WebUI, mcpd makes the change in running memory, and then writes the running config back into the config files on disk (both the binary and text config files) overwriting any pending changes that may have been in those files.
So, then why when we changed bigip_base.conf and followed it up with the command "save sys config", the changes we made to the bigip_base.conf file got removed?
save sys config writes config from in memory to the config files.
This will overwrite any changes you made to the config files.
Thanks Simon and apologies if I am not following you. But, if I am making changes to the config file stored on the disk, not in memory, what am I overwriting it with when I do save sys config?
The config from memory - which is *not changed* when you make a change to the config files. You need to do a load sys config to get changes from the config files into memory.