minimizing downtime on upgrades? (for example: mysql 4.1 -> 5.0
or php)
Tom Judge
tom at tomjudge.com
Tue May 22 21:22:30 UTC 2007
Chuck Swiger wrote:
> On May 22, 2007, at 12:03 PM, Olivier Mueller wrote:
>> So I can only do that after the installation of mysql50-client, which
>> means all the services will have to be stopped during the compilation of
>> mysql50-server, which usually takes some time.
>>
>> Isn't there a better way? How do you handle such cases?
>
> Pretty much as you suggest below:
>
>> Same questions for php upgrades: on php5 upgrade, all the other php5-*
>> packages have to be compiled too, and keeping the webserver running
>> during this time is probably not the best idea.
>>
>> What I'm going to try is to prepare packages of the ports I have to
>> upgrade on a dev/test server, and then install them with pkg_add: is
>> that the "right way" ?
>
> You have a build box that you generate new tarballs of the packages you
> want to update (via "make package", "make package-recursive",
> "portupgrade -p", etc), which you can then test and make sure they
> behave sensibly, and then use these to rapidly update your production
> machines with minimal downtime.
>
I have found that the ports-mgmt/tinderbox port is very useful for
building and maintaining up to date packages with custom patchs, or non
default knobs set. I have a pair of dedicated build servers that it
runs on but I cant see a reason why it could not run on any old system
on your network.
You can then use pkg_add/pkg_delete to do the upgrade very quickly.
Tom
More information about the freebsd-stable
mailing list