1 |
On Thu, 2006-01-12 at 04:39 -0600, Tom McDonald wrote: |
2 |
> Sven Vermeulen wrote: |
3 |
> |
4 |
> >On Mon, Jan 09, 2006 at 04:24:13PM -1000, Gavin Seo wrote: |
5 |
> > |
6 |
> > |
7 |
> >>Does anyone have any documentation/guides on how to setup a automated |
8 |
> >>deployment server? I currently want to install gentoo on 30 nodes, I have |
9 |
> >>an existing machine running gentoo that has identical hardware to the 30 |
10 |
> >>nodes that need gentoo system installed. If anyone has experience in |
11 |
> >>setting up a deployment server, it would be greatly appreciated if you |
12 |
> >>would share your experience. |
13 |
> >> |
14 |
> >> |
15 |
> > |
16 |
> >I have some experience on a quite similar field. The entire network is using |
17 |
> >the same DHCP server; when the system boots from the network (which is only |
18 |
> >allowed with the appropriate credentials af course) a small Linux image is |
19 |
> >downloaded and started. |
20 |
> > |
21 |
> >That image fires up the machine, connects to a PartImage server and places |
22 |
> >an image on the file system. The image itself is not tied to a particular |
23 |
> >host as all configuration specific to the system is obtained from LDAP or |
24 |
> >otherwise. |
25 |
> > |
26 |
> >However, due to the lack of PartImage development speed, I am contemplating |
27 |
> >on developing something more robust and flexible, so I am also interested in |
28 |
> >hearing from others... |
29 |
> > |
30 |
> >Wkr, |
31 |
> > Sven Vermeulen |
32 |
> > |
33 |
> > |
34 |
> > |
35 |
> Check out systemImager on source forge. |
36 |
|
37 |
I have setup such a system for a previous employer. Unfortunately, I |
38 |
have not gotten permission to distribute it as an open source project |
39 |
outside of the company. Anyway, it is really fairly simple.. |
40 |
|
41 |
First, I built a custom kernel, using genkernel. I used the initramfs |
42 |
overlay option to add my own files to the initramfs, along with my own |
43 |
linurc. Essentially, I only extended genkernel's linuxrc to make it |
44 |
fire up a bunch of extra scripts at the end. The scripts determine the |
45 |
architecture type of the machine, then proceed to download the latest |
46 |
version of a stage4 tarball from a web location specified in the kernel |
47 |
command line (similar to kickstart). This allows for multiple server |
48 |
types per architecture. The drives are partitioned and the file-system |
49 |
is built, then the tarball is uncompressed onto the file-system. The |
50 |
system boots via DHCP and reports its IP address to DNS using DDNS. It |
51 |
also fires off a provisioning script for our DHCP server to setup a |
52 |
reservation. After that, the bootloader is installed on the system, and |
53 |
upon completion, the system sends an email to a specified address, then |
54 |
reboots. Of course, we also use LDAP for authentication, and store most |
55 |
of our information in either LDAP or on large filers running NFS, so |
56 |
configuration isn't as much of an issue, though the tarballs are |
57 |
pre-configured. |
58 |
|
59 |
Since this doesn't use any form of imaging, it is actually quite quick, |
60 |
and also allows for any type of file-system supported by the kernel to |
61 |
be used. |
62 |
|
63 |
-- |
64 |
Chris Gianelloni |
65 |
Release Engineering - Strategic Lead |
66 |
x86 Architecture Team |
67 |
Games - Developer |
68 |
Gentoo Linux |