2

Is it possible to DRDB a entire server?

We have ~5 or so webservers that have identical specs but for each one I had to log in and install all the software, etc..

With DRDB I was thinking if I update one (say recompile apache), all of them would be updated.

Thanks

1

4 Answers 4

1

Perhaps you could use GlusterFS to distribute /usr/local, but it does sound like distributing the configs using Puppet is probably the best solution.

Are you using a distribution with a good package manager, RPM or APT?

You could compile the packages centrally, publish them to your own repo, and then use puppet to get the servers to update themselves from your own repo.

0

this will not work, because drbd only supports three nodes.

for your automatic updates you should use something like puppet or a central software distribution tool (e.g. spacewalk), depending on the type of your updates. puppet would be best for configuration changes, but can also do software distribution. spacewalk would mainly be used to do software updates, but can also be used for configuration changes.

2
  • good post - unfortunately he wants to have something akin to live rsync (serverfault.com/questions/110599/real-time-rsync) - which puppet won't do - although it is great :)
    – Chopper3
    Feb 8, 2010 at 11:35
  • My impression was that the live rsync problem was for data, and in researching DRBD the OP got to thinking that this might be a way to simplify updating systems too :-) Probably not good to yoink live filesystem data under running binaries though. Plus you'd have a wonderful cascade of awesome if your update went south and each server nearly instantly replicated it. Might be neat to see, but not mop up afterwards... Feb 8, 2010 at 13:12
0

What about serving out an NFS root partition in which changes can be made?

Use boot with NFS root.

0

As others have said, there is a limit to the number of nodes with DRBD. Further, it is probably the wrong solution. Puppet is nice for centralized configuration management, but I wouldn't use only puppet for delivering updated binaries. Learn to use the package tool of your Linux distribution, and set up a private repository from where the software can be installed by puppet on all of the servers. If this seems like a too complex solution, use rsync. Or even NFS-mounted /usr.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .