kickstart multiple machines

Latest response

Is there a way to kickstart multiple machines using the same kickstart file? If there is, how is it configured?

Thank you for the assistance.

Arrey

Responses

Yes - I believe if you use DHCP and valid DNS you could
* create a default kickstart.ks file and store it on a web server
* comment out the network definition
* point your boot to ks=http://<webserver/kickstart.ks

I'm not sure exactly how much assistance you are looking for.
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-kickstart2.html

Thank you James for the reply. If I do not want to comment out network definition, how can I define network for all the servers within a kickstart file? In Solaris they use add install client to add each host with their MAC address. Thus, each host will know which hostname and IP address is assigned to them. In RHEL, I have not seen anything as such .

Thank you

Arrey

I was a Solaris guy too ;-) If I recall I only used the install_client to give me a template of the correct layout and then manually updated my jumpstart infrastructure after that. I apologize that this response is all over the place.

Kickstart can be deployed in SO many different ways.
- I believe the easiest way to accomplish your goal would be to use Red Hat Satellite.
- I have not used cobbler (by itself) but I believe it is responsible for managing a build environment similar to install_client.
http://magazine.redhat.com/2007/08/10/cobbler-how-to-set-up-a-network-boot-server-in-10-minutes/
- If you are able to utilze PXE/tftp - you have a lot of flexibility as well.
When the host boots, it reaches out to DHCP and is assigned the PXE server and tftp-boot directory. On your PXE host, you could include a single file for each MAC address.

Here is an example of my directory tree

[root@apoc ~]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── CentOS-6.4-x86_64
│   ├── initrd.img
│   ├── TRANS.TBL
│   └── vmlinuz
├── msgs
│   ├── boot.menu
│   ├── RHELH01
│   ├── RHELH02
│   └── RHELKVM01
├── pxelinux.0
├── pxelinux.cfg
│   ├── ~
│   ├── 01-52-54-00-1d-76-2b
│   ├── 01-7c-05-07-0e-63-a4
│   ├── 01-a0-36-9f-1c-0d-2c
│   ├── 01-e8-40-f2-3c-4e-aa
│   ├── create_default_files.sh
│   ├── default
│   └── MACs
└── RHEL-6.4-x86_64
    ├── initrd.img
    ├── TRANS.TBL
    └── vmlinuz

In each of the files based on the MAC, it has an entry for hostname and IP information

append initrd=CentOS-6.4-x86_64/initrd.img ksdevice=bootif ramdisk=5939 dhcpclass=CentOS-6.4-x86_64 noipv6 ks=http://192.168.0.11/RHEL6.ks ip=192.168.0.130 netmask=255.255.255.0 gateway=192.168.0.1 hostname=devstack.matrix.private

In my kickstart file, I have commented out the network entry so that it will inherit the information (rather than overwrite once the kickstart file is retrieved).

Otherwise, if you are building your own boot media, you could create the same structure and update msgs/boot.menu and pxelinux.cfg/default to have custom entries for each node.

I only have 3 physical nodes that use this environment and it's only for RHEL and CentOS. Personally, I feel this model would not scale well - but, if you have relatively few hosts and tight control of your environment, it should do what you need.

Unfortunately I think this is one of those conversations that are best to have in-person - there are just so many options and requirements to work out.

So - I suppose the most important questions:
* are you using RH Satellite? (or do you plan to - which I highly recommend)
* do you use dhcp? If so, do you also have PXE?

Thank you very much

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.