1 |
Grant (Sat, 2 Jul 2011 15:14:38 -0700): |
2 |
> After a frustrating experience with a Linksys WRT54GL, I've decided to |
3 |
> stick with Gentoo routers. This increases the number of Gentoo |
4 |
> systems I'm responsible for and they're nearing double-digits. What |
5 |
> can be done to make the management of multiple Gentoo systems easier? |
6 |
> I think identical hardware in each system would help a lot but I'm not |
7 |
> sure that's practical. I need to put together a bunch of new |
8 |
> workstations and I'm thinking some sort of server/client arrangement |
9 |
> with the only Gentoo install being on the server could be appropriate. |
10 |
|
11 |
I used to do it the rsync way. Dozens of machines with varying |
12 |
hardware, although not profoundly. All machines had all the software any |
13 |
single machine could need. CFLAGS, kernel config and such were filled |
14 |
with the greatest common divisor of all the boxes. There was one |
15 |
'reference box' which did all the compiling and from which all the |
16 |
other machines would rsync /, minus selected variables, such |
17 |
as /dev, /etc/mtab, /mnt, /proc, /var/log, etc. |
18 |
|
19 |
Another set of things excluded from rsync were things that do not |
20 |
handle themselves locally, but are different accross computers. I had |
21 |
groups of computers that I wanted to, for example, run different set of |
22 |
boot-up services. That means that /etc/runlevels was excluded from |
23 |
rsync'ing, but what was being rsynced were the dirs |
24 |
/etc/runlevels-group{1,2,3,...} and every machine had a local |
25 |
symlink /etc/runlevels -> one of the runlevels-groupX. Administrative |
26 |
tasks are still limited to working with the single reference box and |
27 |
its single filesystem (plus a few more runlevels-group's and similar |
28 |
exceptions). |
29 |
|
30 |
That way you can have specialized runlevel layouts, specialized fstabs |
31 |
and other configs, etc. Even specialized kernels for every group of |
32 |
machines, in theory. |
33 |
|
34 |
There was also a script being distributed that was called by local crons |
35 |
and allowed for batch rebooting at midnight, or whatever you may need |
36 |
to run locally. |
37 |
|
38 |
You may want to check out lsyncd for keeping dirs in sync in a smart |
39 |
way on-the-fly, but rsyncing from a cronjob at a safe moment may be the |
40 |
recommended option, depending on your environment. By 'safe' I mean |
41 |
when there are no users logged in, for example. |
42 |
|
43 |
The most tricky part was fine-tuning the set of stuff to exclude |
44 |
from rsyncing. But if sure can be done in reasonable environments. |
45 |
|
46 |
HTH, |
47 |
-rz |