Linux Network Install Options?
verch writes "I work at a Large Corporation that is considering Linux as a competing platform to our large Solaris and Wintel install bases. One of the biggest concerns is how easily a large number of linux machines can be installed mostly unattended. For Solaris we mostly use jumpstart which allows us after minor preparation to simply remotely attach to the console of a machine and boot and install it over the network. x86 hardware tends not to be as nice, I don't know of any linux hardware that has remote console capabalities as nice as Sun's, and network boot options are limited (PXE?). Installation procedures that involve having to lood a CD or boot floppy into every machine could potentially be dealbreakers. So, what options exist for completely remote unattended installs of linux machines?" Had a similar question a while ago; have things improved since then?
System Installer Suite I can't say enough about how cool this project is. Plus the developers all hang out on irc.openprojects.net in #sisuite.
Most of the questions you need to be asking at this point (especially "how do I boot a PC over the network?") are answered in this section of the Diskless-HOWTO. It discusses TFTP, BOOTP, and network boot ROM's.
If you can initiate a network install from the network, then you have a security problem. I'm glad it doesn't work like that. But PXE comes close, allowing a machine to boot from the network. Redhat supports this and the support code is available from them and Intel (who created PXE, which is found in their server grade network cards). There are also some machines that have serial consoles (like Sun). The Intel ISP-1100 rack mount servers have this, and I can control the BIOS and select the boot source this way.
Tell me why installing from a CD is a deal breaker. Is it because you see it as an interactive thing, requiring you to sit at the keyboard for each machine? I'm working on the design of a CD-based headless non-interactive install system. It can either have the files to install on the CD, or on the network (uses DHCP or generates a 10.X.X.X IP address from the low 24 bits of the ethernet address). You make sure the machine is configure to boot from a CD, stick in the CD, press reset to reboot, and the CD boots up and does it's thing without any more interaction from you. You have to have pre-built your system tree (I've done this with Slackware as well as Linux From Scratch). Unfortunately, my work is still a work in progress.
now we need to go OSS in diesel cars
Booting the computer off a network share if it fails booting from the harddrive (bootp, tftp) will get it to step 1 with a known good ssh key and account.
/usr, mount new /usr. Mount new / overtop of old /). Run daemon startup scripts for ssh (standard port, freshly installed copy).
Step 2: is to dynamically (dhcp) assign it a static (internal) IP. Have ssh come up on a non-standard port.
Login using the key to the IP and do your installation probably via a local ftp or nfs server.
Step 3: is tricky. Mount the drives overtop of currently existing partitions (ie. Drop existing
Step 4: Login via ssh on standard port to ensure it works and you have access. Now shutdown your old ssh connection, and stop the daemon on the non-standard port.
Step 5: Configure away. Live IP (alias on card with DHCPd internal IP, or a seperate nic entirely), passwords, other basics.
Step 6: Reboot.
It'll boot from disk successfully, and go from there. You've already verified ssh works on the internal IP, so if there are problems you should be able to get in to fix them.
If you prefer, you could setup the kernel of the network booted copy to load serial console support, as well as the freshly installed copy. I'd to ssh anyway, just in case.
Did this with 5 boxes quite a while ago with early FreeBSD 3.x. May have been even earlier, so modify to suit current requirements.
I never did figure out what to do if the box couldn't get to the point of console or network connection. The bios won't start a netboot then as it's found something on the harddrive, it just fails.
Rod Taylor
Here you go. Mandrake's auto-install page.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
Here are the correct links. (Note to self: Drink more coffee, less vodka.)
Jumpstart Design Notes
Redhat Kickstart
Kickstart How-to
RedHat and Mandrake's answer to jumpstart (wonder how they came up with the name :-) ). You have 1 server dedicated to being the jumpstart server, and then boot each machine off a specially made floppy. You can do multiple machines at once. The machines can be set to boot off dhcp after that, and you ssh in and tweak things out. You can set them with a static, but then the floppy has to be customized for each static address, which is a pain, and relatively or you can set them with a static, but then the floppy has to be customized for each static address, which is a pain, and relatively pointless for a mass installation
I'm not sure if the machines can get an IP address through dhcp while loading packages, which would mean the floppies couldn't be clones of each other, but clones minorly modified. I think they can get from dhcp while loading, but I'm not certain.
I've loaded 20 machines in one day using this.
We never had them reboot automatically, because we needed to eject the floppies, but if you make CD images, you can probably figure a way to eject them and then they will load off the HD correctly on the reboot.
You can also use the same jumpstart server with floppies customized for different machines if you have clusters of machines with different baseline package sets.
Drawbacks: It works over nfs (not sure if there are other delivery methods), which you would want to firewal off at the router.
Random nice things: you can put the passwd files on the floppy, which is more secure than having `them fly across the netowrk, methinks. It does mean you need to take care with the floppies, however.
Rob
So, Lone Star, now you see that evil will always triumph because good is dumb.
My servers have Sun LOM/RSC serial consoles connected to a 'secure' (OpenBSD) serial console server, so forcing a re-install of the base OS is as simple as shuttting down, entering 'boot net - install' at the 'ok' prompt, and waiting 45 minutes or so. I can do this as easily from across the office or across the country.
I routinely build, hack, and rebuild test servers several times a day. Others report doing 500 machine rollouts with little or no human intervention.
Some of the features of the Sparc PROM and Jumpstart can be duplicated with a boot floppy, but many of the coolest features are not as easily imitated. The PC Weasel is a pale imitation of the boot PROM. APC remote power cycling doesn't come close to the functionality of Sun's Remote System Control. Linux 'netboot' is years behind Sun's Jumpstart software.
I do not deploy Linux. Ever.