Difference between revisions of "Cluster der kan alt/PXE and Kickstart"
(→Putty Opsætning) |
m (→The kickstart file) |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | =Aim= | ||
+ | |||
+ | To enable unattended installation and configuration of Ubuntu on nodes, so that their configuration matches the master machine. This is achieved with PXE boot and configuration with Kickstart. | ||
+ | |||
=PXE= | =PXE= | ||
Install tftp server | Install tftp server | ||
Line 10: | Line 14: | ||
<source lang=cli> | <source lang=cli> | ||
cd /var/lib/tftpboot/ | cd /var/lib/tftpboot/ | ||
− | wget http://archive.ubuntu.com/ubuntu/dists/ | + | wget http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/netboot.tar.gz |
tar -xvzf netboot.tar.gz | tar -xvzf netboot.tar.gz | ||
</source> | </source> | ||
+ | Note: trusty = ubuntu 14.04, precise = ubuntu 12.04 | ||
===Set the kickstartfile as default, and the timer to 5 sec=== | ===Set the kickstartfile as default, and the timer to 5 sec=== | ||
Line 24: | Line 29: | ||
<source lang=cli> | <source lang=cli> | ||
label unattended | label unattended | ||
− | menu label | + | menu label ^Unattended install |
kernel ubuntu-installer/amd64/linux | kernel ubuntu-installer/amd64/linux | ||
− | append vga= | + | append vga=768 initrd=ubuntu-installer/amd64/initrd.gz ks=http://10.0.0.1/kickstart/ks.cfg |
</source> | </source> | ||
Change the timeout value to 50 in the default file. | Change the timeout value to 50 in the default file. | ||
Line 34: | Line 39: | ||
=Kickstart= | =Kickstart= | ||
− | Install the http server lighttpd | + | Install the http server lighttpd |
<source lang=cli> | <source lang=cli> | ||
sudo apt-get install lighttpd | sudo apt-get install lighttpd | ||
</source> | </source> | ||
− | + | Create the ks.cfg file | |
<source lang=cli> | <source lang=cli> | ||
− | + | nano /var/www/kickstart/ks.cfg | |
</source> | </source> | ||
− | == | + | ==The kickstart file== |
− | + | Copy/paste the following text to the ks.cfg file. (Make your own changes like ip addresses and domain name, so it will fit your setup.) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Note: When choosing a password, be sure to make it more than eight symbols, with letters, numbers and special symbols. "unattended" install will stop, waiting for confirmation of a weak password, if this advice is not followed... ;-) | |
− | |||
− | |||
− | |||
− | |||
− | |||
<source lang=cli> | <source lang=cli> | ||
#Generated by Kickstart Configurator | #Generated by Kickstart Configurator | ||
#platform=x86 | #platform=x86 | ||
+ | ################# | ||
+ | #Node configuration | ||
+ | ################# | ||
#System language | #System language | ||
lang da_DK | lang da_DK | ||
#Language modules to install | #Language modules to install | ||
− | langsupport | + | langsupport us_EN |
#System keyboard | #System keyboard | ||
keyboard dk | keyboard dk | ||
Line 72: | Line 69: | ||
#System timezone | #System timezone | ||
timezone Europe/Copenhagen | timezone Europe/Copenhagen | ||
+ | |||
+ | ################# | ||
+ | #User configuration | ||
+ | ################# | ||
#Root password | #Root password | ||
− | rootpw | + | rootpw cluster |
#Initial user | #Initial user | ||
− | user cluster --fullname "cluster | + | user cluster --fullname "cluster" --password <more than 8 symbols here> |
+ | |||
#Reboot after installation | #Reboot after installation | ||
reboot | reboot | ||
Line 90: | Line 92: | ||
#Partition clearing information | #Partition clearing information | ||
clearpart --all --initlabel | clearpart --all --initlabel | ||
+ | |||
+ | ################# | ||
+ | #Disk configuration | ||
+ | ################# | ||
#Disk partitioning information | #Disk partitioning information | ||
part / --fstype ext4 --size 1024 | part / --fstype ext4 --size 1024 | ||
Line 98: | Line 104: | ||
part /usr --fstype ext4 --size 5120 | part /usr --fstype ext4 --size 5120 | ||
part swap --size 1024 | part swap --size 1024 | ||
+ | |||
#System authorization infomation | #System authorization infomation | ||
auth --useshadow --enablemd5 --enablenis --nisdomain dka.local --nisserver 1$ | auth --useshadow --enablemd5 --enablenis --nisdomain dka.local --nisserver 1$ | ||
Line 106: | Line 113: | ||
#Do not configure the X Window System | #Do not configure the X Window System | ||
skipx | skipx | ||
+ | |||
+ | ################# | ||
+ | #Package installation | ||
+ | ################# | ||
#Package install information | #Package install information | ||
%packages | %packages | ||
Line 128: | Line 139: | ||
nis | nis | ||
%pre | %pre | ||
+ | |||
+ | ################# | ||
+ | #Scipt run | ||
+ | ################# | ||
#!/bin/bash | #!/bin/bash | ||
echo "Pre-installation" | echo "Pre-installation" | ||
Line 138: | Line 153: | ||
echo "10.0.0.1:/script /mnt/tmp/ nfs rw,bg,hard,intr 0 0" >> /target/etc/fstab | echo "10.0.0.1:/script /mnt/tmp/ nfs rw,bg,hard,intr 0 0" >> /target/etc/fstab | ||
/target/etc/init.d/nis restart | /target/etc/init.d/nis restart | ||
+ | |||
+ | mount 10.0.0.1:/home/ /home/ | ||
</source> | </source> | ||
− | |||
− | |||
{{Source cli}} | {{Source cli}} |
Latest revision as of 17:18, 19 October 2014
Contents
Aim
To enable unattended installation and configuration of Ubuntu on nodes, so that their configuration matches the master machine. This is achieved with PXE boot and configuration with Kickstart.
PXE
Install tftp server
apt-get install tftpd-hpa
Netinstaller
Download and install pxelinux to tftp root:
cd /var/lib/tftpboot/
wget http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -xvzf netboot.tar.gz
Note: trusty = ubuntu 14.04, precise = ubuntu 12.04
Set the kickstartfile as default, and the timer to 5 sec
Enter the txt.cfg file
sudo nano /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg
Rename the "default install" line to "default unattended" so the the unattended kickstart file will be executed by default
Insert the "label unattended" section in the bottom ofthe file
label unattended
menu label ^Unattended install
kernel ubuntu-installer/amd64/linux
append vga=768 initrd=ubuntu-installer/amd64/initrd.gz ks=http://10.0.0.1/kickstart/ks.cfg
Change the timeout value to 50 in the default file.
sudo nano /var/lib/tftpboot/pxelinux.cfg/default
Kickstart
Install the http server lighttpd
sudo apt-get install lighttpd
Create the ks.cfg file
nano /var/www/kickstart/ks.cfg
The kickstart file
Copy/paste the following text to the ks.cfg file. (Make your own changes like ip addresses and domain name, so it will fit your setup.)
Note: When choosing a password, be sure to make it more than eight symbols, with letters, numbers and special symbols. "unattended" install will stop, waiting for confirmation of a weak password, if this advice is not followed... ;-)
#Generated by Kickstart Configurator
#platform=x86
#################
#Node configuration
#################
#System language
lang da_DK
#Language modules to install
langsupport us_EN
#System keyboard
keyboard dk
#System mouse
mouse
#System timezone
timezone Europe/Copenhagen
#################
#User configuration
#################
#Root password
rootpw cluster
#Initial user
user cluster --fullname "cluster" --password <more than 8 symbols here>
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://mirror.tekkom.dk/ubuntu/
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#################
#Disk configuration
#################
#Disk partitioning information
part / --fstype ext4 --size 1024
part /boot --fstype ext4 --size 512
part /home --fstype ext4 --size 1024
part /var --fstype ext4 --size 3072
part /tmp --fstype ext4 --size 3072
part /usr --fstype ext4 --size 5120
part swap --size 1024
#System authorization infomation
auth --useshadow --enablemd5 --enablenis --nisdomain dka.local --nisserver 1$
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
#################
#Package installation
#################
#Package install information
%packages
openssh-server
nmap
ssh
screen
bmon
iperf
bonnie++
lmbench
lm-sensors
snmpd
snmp
build-essential
gcc
openssh-client
nfs-common
mpich2
dsh
portmap
nis
%pre
#################
#Scipt run
#################
#!/bin/bash
echo "Pre-installation"
%post --nochroot
echo "portmap : 10.0.0.1" >> /target/etc/hosts.allow
echo "ypserver 10.0.0.1" >> /target/etc/yp.conf
perl -pi -w -e 's/\/home/\/home.old/g;' /target/etc/fstab
mkdir /target/mnt/tmp
echo "10.0.0.1:/home /home nfs rw,bg,hard,intr 0 0" >> /target/etc/fstab
echo "10.0.0.1:/script /mnt/tmp/ nfs rw,bg,hard,intr 0 0" >> /target/etc/fstab
/target/etc/init.d/nis restart
mount 10.0.0.1:/home/ /home/