Difference between revisions of "CentOS installation as kickstart pxe server"
m (→Preparing for PXE boot) |
m (→Harddisk partitionering) |
||
Line 18: | Line 18: | ||
|sda || /boot || ext3 || align="right"| 4.000 MB | |sda || /boot || ext3 || align="right"| 4.000 MB | ||
|- | |- | ||
− | | | + | |sdb || /var || ext3 || align="right"| 100.000 MB |
|- | |- | ||
|sda || /tmp || ext3 || align="right"| 25.000 MB | |sda || /tmp || ext3 || align="right"| 25.000 MB | ||
Line 24: | Line 24: | ||
|sda || /usr || ext3 || align="right"| 40.000 MB | |sda || /usr || ext3 || align="right"| 40.000 MB | ||
|- | |- | ||
− | |sdb || /home || ext3 || align="right"| | + | |sdb || /home || ext3 || align="right"| 100.000 MB |
|- | |- | ||
|sda || swap || swap || align="right"| 5.000 MB | |sda || swap || swap || align="right"| 5.000 MB |
Revision as of 17:21, 10 March 2009
Contents
Introduction
Installation of Centos 5.2 as a PXE server to install Centos Servers via the network.
The reason for this project is that we need to teach the students Linux Clustering, and the students need to install a CentOS cluster. This server will reduce the time needed to install several cluster nodes.
Installation of CentOS 5.2
Find a suitable server with at least 1GB of ram and two NIC's of which one should be 1000BASET.
Harddisk partitionering
SATA Harddisk sda 115 GB SATA Harddisk sdb 305 GB
Harddisk | Mount point | Type | Size |
---|---|---|---|
sda | / | ext3 | 5.000 MB |
sda | /boot | ext3 | 4.000 MB |
sdb | /var | ext3 | 100.000 MB |
sda | /tmp | ext3 | 25.000 MB |
sda | /usr | ext3 | 40.000 MB |
sdb | /home | ext3 | 100.000 MB |
sda | swap | swap | 5.000 MB |
sdb | swap | swap | 5.000 MB |
Choosing installation categories
- Desktop - Gnome
- Desktop - KDE
- Server
- Server - GUI
No Selinux firewall. Running in secure environment.
Post installation
Upgrading software
Update the installed software to newest versions.
[root@localhost]# yum update[root@localhost ~]#
Permit ssh login as root
Uncomment the #PermitRootLogin yes line in /etc/ssh/sshd_config file and restart sshd
[root@localhost ~]# vi +/PermitRootLogin /etc/ssh/sshd_config [root@localhost ~]# service sshd restart
Changing hostname
Changing the hostname to ks.tekkom.dk
[root@localhost ~]# hostname ks.tekkom.dk [root@localhost ~]# vi /etc/sysconfig/network
Preparing for network installation
Copying the ISO images to the server
Make a directory for NFS export or FTP access. Copy the dvd or the six cd's iso image to it.
Prepare for centos installation
[root@localhost home]# mkdir /home/iso [root@localhost home]# mkdir /home/iso/centos52 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk1 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk2 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk3 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk4 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk5 [root@localhost home]# dd if=/dev/hda of=/home/iso/centos52/disk6
export ISO images directory via NFS
Export /home/iso directory read-only and start NFS daemons. Now and permanently.
[root@ks init.d]# echo "/home/iso *(ro,no_root_squash)" >> /etc/export [root@ks init.d]# chkconfig --level 345 nfs on [root@ks init.d]# service nfs start Starter NFS-tjenester: [ O.k. ] Starter NFS-kvoter: [ O.k. ] Starter NFS-dæmonen: [ O.k. ] Starter NFS mountd: [ O.k. ]
Network access
edit /etc/sysconfig/network-scripts/ifcfg-eth1 to contain
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none HWADDR=00:0e:0c:cf:d2:cb NETMASK=255.255.255.0 IPADDR=172.20.0.1 TYPE=Ethernet
NAT through the server
Allow masqerading from eth1 (172.20.0.0/24) network to outside eth0 (dhcp) network. Add the following lines to /etc/rc.local
# Enable IP Forwading between Interfaces (Routing) echo "1" > /proc/sys/net/ipv4/ip_forward # Allow the internal hosts to connect to any IP address on the outside 0.0.0.0/24 iptables -t nat -A POSTROUTING -s 172.20.0.0/24 -d 0.0.0.0/0 -o eth0 -j MASQUERADE
Installing additional services
[root@ks init.d]# yum install tftp-server [root@ks init.d]# yum install dhcp
TFTP server setup
Edit /etc/xinetd.d/tftp and change disable from yes to no, and restart xinetd.
[root@ks ~]# vi /etc/xinetd.d/tftp [root@ks ~]# service xinetd restart Stopper xinetd: [ O.k. ] Starter xinetd: [ O.k. ]
DHCPD server setup
Change /etc/dhcpd.conf to the contain the scope shown below:
ddns-update-style interim; not authoritative; option domain-name "tekkom.dk"; option domain-name-servers 172.16.4.77; option subnet-mask 255.255.255.0; subnet 172.20.0.0 netmask 255.255.255.0 { authoritative; range 172.20.0.10 172.20.0.90; next-server 172.20.0.1; option routers 172.20.0.1; allow unknown-clients; allow booting; allow bootp; filename "pxelinux.0"; }
Start the dhcpd daemon now and permanently.
[root@ks ~]# chkconfig --level 345 dhcpd on [root@ks ~]# service dhcpd start Starter dhcpd: [ O.k. ]
Preparing for PXE boot
Copy pxe boot files to tftp server directory
Copy the PXE boot file to TFTP directory. Create /tftpboot/centos52 directory and copy the pxeboot files from CentOS installation cd 1 (or DVD)
[root@ks ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot [root@ks ~]# mkdir /tftpboot/centos [root@ks ~]# cp /media/CentOS_5.2_Final/images/pxeboot/* /tftpboot/centos52/
Create the PXE menu
Copy the COM executable file to tftp server root. And create directory to hold menufile.
cp /usr/lib/syslinux/menu.c32 /tftpboot [root@ks ~]# mkdir /tftpboot/pxelinux.cfg
Create /tftpboot/pxelinux.cnf/default configuration file with the following content.
default menu.c32 prompt 0 timeout 300 MENU TITLE Mercantec PXE Menu for Tekkom. LABEL CentoS 5.2 i386 MENU LABEL CentOS 5.2 i386 KERNEL images/centos/i386/5.2/vmlinuz append vga=normal initrd=images/centos/i386/5.2/initrd.img ramdisk_size=32768 method=ftp://172.20.0.1/install/centos5.2