Difference between revisions of "Highbank Fedora Installation Config"

From CDOT Wiki
Jump to: navigation, search
(DHCP configuration)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
== Introduction ==
 +
 +
These are detailed instructions for setting up an F18 installation on a [http://calxeda.com Calxeda] Highbank box such as a [http://boston.co.uk Boston] [http://www.boston.co.uk/solutions/viridis/default.aspx Viridis] server. These instructions are a more detailed (and specific) version of the notes at [[:fedora:Architectures/ARM/F18/HighBank]]
 +
 
== Assumptions ==
 
== Assumptions ==
  
Line 11: Line 15:
  
 
== NAT configuration ==
 
== NAT configuration ==
 +
The firewall and NAT is configured with a iptables script:
 +
 +
1. Stop/disable firewalld
 +
<pre>
 +
systemctl stop firewalld
 +
systemctl disable firewalld
 +
</pre>
 +
 +
2. Start/enable iptables
 +
<pre>
 +
systemctl start iptables
 +
systemctl enable iptables
 +
</pre>
 +
 +
3. Run the iptables script and save the iptables rules
 +
<pre>
 +
/root/iptables.sh
 +
iptables-save > /etc/sysconfig/iptables
 +
</pre>
 +
 +
File: /root/iptables.sh
 +
<pre>
 +
#!/bin/bash
 +
echo "Setting iptables rules"
 +
iptables -F
 +
iptables -t nat -F
 +
# Add loopback interface
 +
iptables -A INPUT -i lo -j ACCEPT
 +
iptables -A OUTPUT -o lo -j ACCEPT
 +
# Allow DNS
 +
iptables -A INPUT -i em1 -p tcp --dport 2049 -j ACCEPT
 +
iptables -A INPUT -i em1 -p udp --dport 2049 -j ACCEPT
 +
iptables -A INPUT -i em1 -p tcp --dport 111 -j ACCEPT
 +
iptables -A INPUT -i em1 -p udp --dport 111 -j ACCEPT
 +
iptables -A INPUT -i em1 -p tcp --dport 53 -j ACCEPT
 +
iptables -A INPUT -i em1 -p udp --dport 53 -j ACCEPT
 +
iptables -A INPUT -i em1 -p tcp --dport 22 -j ACCEPT
 +
iptables -A INPUT -i em1 -p tcp --dport 80 -j ACCEPT
 +
iptables -A INPUT -i em1 -p tcp --dport 443 -j ACCEPT
 +
iptables -A INPUT -i p11p1 -s 192.168.1.0/24 -j ACCEPT
 +
 +
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o em1 -j MASQUERADE
 +
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
 +
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT
 +
 +
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 +
# Drop whatever else may come to input
 +
iptables -P INPUT DROP
 +
iptables -P OUTPUT ACCEPT
 +
iptables -P FORWARD ACCEPT
 +
</pre>
  
 
== DHCP configuration ==
 
== DHCP configuration ==
 +
 +
1. Start/enable the network service
 +
<pre>
 +
systemctl start network
 +
systemctl enable network
 +
</pre>
 +
 +
2. Set static ip address on interface facing private network
 +
 +
File: /etc/sysconfig/network-scripts/ifcfg-p11p1
 +
<pre>
 +
TYPE=Ethernet
 +
DEVICE=p11p1
 +
BOOTPROTO=static
 +
NM_CONTROLLED=yes
 +
ONBOOT=yes
 +
IPADDR=192.168.1.254
 +
NETMASK=255.255.255.0
 +
NETWORK=192.168.1.0
 +
BROADCAST=192.168.1.255
 +
DNS1=142.204.43.43
 +
DNS2=8.8.8.8
 +
DOMAIN="proximity.on.ca senecac.on.ca"
 +
HWADDR=00:0A:CD:1E:83:BA
 +
</pre>
 +
 +
3. Restart the NetworkManager service
 +
<pre>
 +
systemctl restart NetworkManager
 +
</pre>
 +
 +
4. Configure dhcpd
 +
 +
File: /etc/dhcp/dhcpd.conf
 +
<pre>
 +
option domain-name-servers 142.204.1.2,142.204.43.43;
 +
 +
default-lease-time 86400;
 +
max-lease-time 86400;
 +
authoritative;
 +
log-facility local7;
 +
 +
allow booting;
 +
allow bootp;
 +
 +
subnet 192.168.1.0 netmask 255.255.255.0 {
 +
        option routers 192.168.1.254;
 +
        option subnet-mask 255.255.255.0;
 +
        option broadcast-address 192.168.1.255;
 +
        range 192.168.1.100 192.168.1.199;
 +
        next-server 192.168.1.254;
 +
        host seneca0 { option host-name "seneca0";      hardware ethernet fc:2f:40:48:06:a0;    fixed-address 192.168.1.100;}
 +
}
 +
</pre>
  
 
== TFTP configuration ==
 
== TFTP configuration ==
Line 43: Line 152:
 
     kernel f18-highbank/vmlinuz-highbank
 
     kernel f18-highbank/vmlinuz-highbank
 
     initrd f18-highbank/initrd-highbank.img
 
     initrd f18-highbank/initrd-highbank.img
     append console=ttyAMA0 ip=eth0:dhcp ks=http://192.168.1.254/f18-highbank/F18-highbank.ks rd.shell
+
     append console=ttyAMA0 ip=eth0:dhcp ks=<nowiki>http://192.168.1.254/f18-highbank/F18-highbank.ks</nowiki> rd.shell
  
 
== HTTP configuration ==
 
== HTTP configuration ==
  
# Configure httpd to serve <code>/var/lib/tftpboot/f18-highbank</code> as <code>/f18-highbank</code> by adding this text to <code>/etc/httpd/conf.d/f18-highbank.cfg</code>:
+
# Configure httpd to serve <code>/var/lib/tftpboot/f18-highbank</code> as <code>/f18-highbank</code> by adding this text to <code>/etc/httpd/conf.d/f18-highbank.conf</code>:
  
 
  Alias /f18-highbank "/var/lib/tftpboot/f18-highbank"
 
  Alias /f18-highbank "/var/lib/tftpboot/f18-highbank"
Line 58: Line 167:
 
     Deny from all
 
     Deny from all
 
  </Directory>
 
  </Directory>
 +
 +
== IPMI Control of the Highbank Server ==
 +
 +
Fedora includes a version of ipmitool but this does not include the Calxeda (cxoem) extensions. You can build the Calxeda version from the source:
 +
 +
git clone git://sources.calxeda.com/ipmitool.git
 +
cd ipmitol
 +
./configure
 +
make
 +
sudo make install
 +
 +
The cxmanage wrapper script can also be retrieved in a similar way:
 +
 +
git clone git://sources.calxeda.com/cxmanage.git
 +
cd cxmanage
 +
python setup.py install
 +
 +
== Getting Console Access on the Highbank Server ==
 +
 +
You can connect to the console of a particular node on the Highbank server with:
 +
 +
ipmitool -I lanplus -H '''ipaddress''' -U admin -P admin sol activate
 +
 +
Change the IP address to address the management processor on the desired node.
 +
 +
== Node Power Control on the Highbank Server ==
 +
 +
Turn a node on:
 +
 +
ipmitool -H '''ipaddress''' -U admin -P admin chassis power on
 +
 +
Reset a node (hard):
 +
 +
ipmitool -H '''ipaddress''' -U admin -P admin chassis power reset
 +
 +
Turn a node off:
 +
 +
ipmitool -H '''ipaddress''' -U admin -P admin chassis power off

Latest revision as of 14:52, 3 August 2013

Introduction

These are detailed instructions for setting up an F18 installation on a Calxeda Highbank box such as a Boston Viridis server. These instructions are a more detailed (and specific) version of the notes at fedora:Architectures/ARM/F18/HighBank

Assumptions

  1. Highbank box is on a private LAN 192.168.1.0/24
  2. F18 x86_64 host has two NICs - one to private LAN, one to Internet

Packages Required

  • dhcp
  • tftp-server
  • httpd

NAT configuration

The firewall and NAT is configured with a iptables script:

1. Stop/disable firewalld

systemctl stop firewalld
systemctl disable firewalld

2. Start/enable iptables

systemctl start iptables
systemctl enable iptables

3. Run the iptables script and save the iptables rules

/root/iptables.sh
iptables-save > /etc/sysconfig/iptables

File: /root/iptables.sh

#!/bin/bash
echo "Setting iptables rules"
iptables -F
iptables -t nat -F
# Add loopback interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow DNS
iptables -A INPUT -i em1 -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -i em1 -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -i em1 -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -i em1 -p udp --dport 111 -j ACCEPT
iptables -A INPUT -i em1 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i em1 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i em1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i em1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i em1 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i p11p1 -s 192.168.1.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o em1 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/24 -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Drop whatever else may come to input
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

DHCP configuration

1. Start/enable the network service

systemctl start network
systemctl enable network

2. Set static ip address on interface facing private network

File: /etc/sysconfig/network-scripts/ifcfg-p11p1

TYPE=Ethernet
DEVICE=p11p1
BOOTPROTO=static
NM_CONTROLLED=yes
ONBOOT=yes
IPADDR=192.168.1.254
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
DNS1=142.204.43.43
DNS2=8.8.8.8
DOMAIN="proximity.on.ca senecac.on.ca"
HWADDR=00:0A:CD:1E:83:BA

3. Restart the NetworkManager service

systemctl restart NetworkManager

4. Configure dhcpd

File: /etc/dhcp/dhcpd.conf

option domain-name-servers 142.204.1.2,142.204.43.43;

default-lease-time 86400;
max-lease-time 86400;
authoritative;
log-facility local7;

allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
        range 192.168.1.100 192.168.1.199;
        next-server 192.168.1.254;
        host seneca0 { option host-name "seneca0";      hardware ethernet fc:2f:40:48:06:a0;    fixed-address 192.168.1.100;}
}

TFTP configuration

  1. Create /var/lib/tftpboot/pxelinux/pxelinux.cfg
  2. Create /var/lib/tftpboot/f18-highbank
  3. Place these files in /var/lib/tftpboot/f18-highbank:
  4. Change disable = yes to disable = no in /etc/xinetd.d/tftp
  5. Reload/restart xinetd (note: restart needed if there were previously no available services): systemctl restart xinetd

PXE configuration

  1. Place PXE configuration in /var/lib/tftpboot/pxelinux/pxelinux.cfg, named "01-mac" e.g., "01-fc-2f-40-48-06-a0" - repeat once for each node

PXE configuration file contents:

menu title F18 HighBank Boot Options

default Highbank-Install
prompt 1
timeout 100

label Highbank-Install
    kernel f18-highbank/vmlinuz-highbank
    initrd f18-highbank/initrd-highbank.img
    append console=ttyAMA0 ip=eth0:dhcp ks=http://192.168.1.254/f18-highbank/F18-highbank.ks rd.shell

HTTP configuration

  1. Configure httpd to serve /var/lib/tftpboot/f18-highbank as /f18-highbank by adding this text to /etc/httpd/conf.d/f18-highbank.conf:
Alias /f18-highbank "/var/lib/tftpboot/f18-highbank"

<Directory "/var/lib/tftpboot/f18-highbank">
   Options Indexes
   AllowOverride None
   Order allow,deny
   Allow from 192.168.1.0/24
   Deny from all
</Directory>

IPMI Control of the Highbank Server

Fedora includes a version of ipmitool but this does not include the Calxeda (cxoem) extensions. You can build the Calxeda version from the source:

git clone git://sources.calxeda.com/ipmitool.git
cd ipmitol
./configure
make
sudo make install

The cxmanage wrapper script can also be retrieved in a similar way:

git clone git://sources.calxeda.com/cxmanage.git
cd cxmanage
python setup.py install

Getting Console Access on the Highbank Server

You can connect to the console of a particular node on the Highbank server with:

ipmitool -I lanplus -H ipaddress -U admin -P admin sol activate

Change the IP address to address the management processor on the desired node.

Node Power Control on the Highbank Server

Turn a node on:

ipmitool -H ipaddress -U admin -P admin chassis power on

Reset a node (hard):

ipmitool -H ipaddress -U admin -P admin chassis power reset

Turn a node off:

ipmitool -H ipaddress -U admin -P admin chassis power off