Cluster Kurrola
Installation
Cluster Kurrola desing targets: easy to manage ( webmin and LTSP are tested and compared ) , get parallel solvers work ( bind9,dhcp,nfs4 ) giganet whit IP4, stabilize system ( Twin Machine , "4G Cantenna mobile internet Antenna,.." server to work outside world at IPV6 and inside IPV4 / IPV6 (wwdial,hostapd,radvd,shoreline,shoreline6) basic servers ( mysql, postresql, apache2, mediawiki, mythweb, calibre ) and wlan services to workstations
To get parallel software like elmerfem and openfoam to work correctly you need full stack ( name services DNS and routing ) of network service and as learnt at practice at twin machine configuration. Twin machine configuration for DHCP ( both ipv4 and ipv6 ), BIND9 ( master and slave ). BIND9 namaserice is needed to have stable routing even connection to global internet breaks. DHCP is used to networkboot and network address managment. To get IPV6 and IPV4 filtered and routed correctly Shoreline and Shoreline6 are simple tool to configure firewall to Linux kernel. You need device level softaware like wvdial to get 4G modem/router to talk whit server routing and brdegeing software as well hostapd to open wlan services. To manage configuration of servers as well workstations webmin is good tool. To get network working well whit software you need common usernamre as well password base to get communication work between machines and services like NFS4 and rsh-redone.
For post prosessing you need Paraview as well support for 3d mouse. That's possible by building Praview 4.0 from sources whit vrpn and hidapi.
Cluster Kurrola ( MPI4YOU ) base parameters:
/mpi3 is directory shared via NFS4 to all nodes /mpi3/B3 Build Script's for version 3 /mpi3/S3 Source Code version 3 /mpi3/C3 Code Verion 3
Each node has Ubuntu 12.04 LTS ( Long Term Suport version, no need to change OS for 7 years )
Connections
Installing NetworkManager is simple way to get all right for single machine network. I got big supprise when I understood how complex it come to setup STABILE beawulf parallel network to home, you need to setup all network components.
Ubuntu 12.04 have much automation at protocol stack, it finds devices when connected ([udev]) and most cases setups hardware drivers and creates device like eth and ttyUSB. At Cluster Kurrola Installation NetworkManager is totaly removed due instability and some server software incompatibility issues (calibre,mpich3,rsh-redone). What have to do is to glue kernel IPV4 and IPV6 part's together whit devices and give correct parameter's to devices for operation.
Physical: 4G mobile network Saunanlahti & ELISA, HSPA+DC
Modem : Huawei 398
Protocol stack:
DC-HSPA ppp
ipv4: rounting, bridge Ubuntu kernel -shorewall, vwdial, isc-dhcp., bind9
ipv6: System Six IPV6 tunnel over IPV4 network -shorewall6, isc-dhcp, bind9,aiccu
Server mpi2:
ppp0: wvdialD, wvdial, aiccu
br0: eth0 shoreline shoreline6 aiccu raddvd, wlan0 (hostapd)
80 / http, drupal 443 / https, drupal 81 / nominatim-osm-MTK MAPs 8082 / owncloud
/ bind9 / dhcp / dhcp ipv6
3142 / apt-cacher-ng 8080 / calibre 8081 / internal drupal site 7000-7200 / mpi4you mpich3
hostapd
/etc/hostapd/hostapd.conf :
interface=wlan0 bridge=br0 driver=nl80211 macaddr_acl=1 accept_mac_file=/etc/hostapd.accept ssid=KURROAIR hw_mode=g channel=3 wpa=2 wpa_passphrase=MyEncryptionKey wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP wpa_ptk_rekey=600
wvdial
/etc/wvdial.conf :
[Dialer connect] Modem Type = Analog Modem Modem = /dev/ttyUSB0 Phone = *99# Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT^SYSCFGEX="0302",3fffffff,1,4,7fffffffffffffff,, Init4 = AT+CGDCONT=1,"ip","internet",,0,0 ISDN = off Ask Username = off Username = no Ask Password = off Password = no Baud = 9600 Stupid mode = on Auto DNS = on [Dialer signal] Modem = /dev/ttyUSB1 Init1 = AT+CSQ Init2 = AT^SYSINFO Init3 = AT+CIND?
/etc/init.d/wvdialD :
#!/bin/sh NAME="wvdialD" DESC="wvdial keep alive and startup" test -x $DAEMON || exit 0 case "$1" in start) date >> /var/log/syslog echo "[wvdialD] *** Starting Mobile Broadband Connection. wvdial up" >> /var/log/syslog date >> /var/log/3g4gsession while true; do /home/joni/webon >> /var/log/3g4gsession & wvdial connect >> /var/log/3g4gsession echo "RESTART" >> /var/log/3g4gsession date >> /var/log/3g4gsession sleep 5 done date >> /var/log/syslog /home/joni/weboff echo "[wvdialD] Mobile Broadband Connection closed *******." >> /var/log/syslog echo "STOP-DROP" > /var/log/3g4gsession date >> /var/log/3g4gsession ;; stop) echo "[wvdialD] Stopping wvdial." >> /var/log/syslog killall wvdial echo "[wvdialD] wvdial down." >> /var/log/syslog echo "STOPED BY COMMAND" > /var/log/3g4gsession date >> /var/log/3g4gsession killall wvdialD ;; status) # Check network status with nmcli cat /var/log/3g4gsession ;; *) echo "[wvdialD] Keeps wvdial up" echo $"Usage: $0 {start|stop|status}" exit 1 esac exit 0
IPV4,IPV6
/etc/network/interface :
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback #Primary internet connection auto ppp0 iface ppp0 inet wvdial # The primary network interface auto eth0 iface eth0 inet manual manual wlan0 #address 192.168.0.40 iface wlan0 inet manual auto br0 iface br0 inet static network 192.168.0.0 address 192.168.0.XX broadcast 192.168.0.255 netmask 255.255.255.0 bridge_ports eth0 wlan0 dns-nameservers 192.168.0.40 192.168.0.XX dns-search X.kurrola.dy.fi X.kurrola.dy.fi dns-domain X.kurrola.dy.fi X.kurrola.dy.fi gateway 192.168.0.254 #ipv6 iface eth0 inet6 static address 2001:XXXX:100:363::40 netmask 64
ACPI - SUSPEND - HIBERNATE START
/etc/udev/rules.d/
Install:
apt-get install usb-modeswitch
http://www.draisberghof.de/usb_modeswitch/#install
Local Time keyboard
https://help.ubuntu.com/community/Howto%3A%20Custom%20keyboard%20layout%20definitions
sudo apt-get install loacles kde-l10n-fi language-selector-gnome language-selector-common language-pack-gnome-fi-base language-pack-gnome-en-base language-pack-gnome-de-base language-pack-gnome-fr-base language-pack-fi-base language-pack-de-base language-pack-fr-base language-pack-en-base language-pack-fi language-pack-fr language-pack-de language-pack-en language-pack-gnome-de language-pack-gnome-fr language-pack-gnome-en language-pack-gnome-fi language-pack-en-base language-pack-fi-base language-pack-de-base language-pack-fr-base firefox-locale-fi thunderbird-locale-fi voikko-fi #timezone dpkg-reconfigure tzdata #local languages
dpkg-reconfigure localeconf sudo dpkg-reconfigure console-data sudo dpkg-reconfigure console-setup
sudo dpkg-reconfigure keyboard-configuration - work's after reboot sudo dpkg-reconfigure kdb
setxkbmap fi - change keyboard command line
Files:
/etc/default/locale:
LANG=es_ES.UTF-8
/etc/default/keyboard /etc/X11/xorg.conf udevadm trigger --subsystem-match=input --action=change
MediaWiki
Running MediaWiki on Ubuntu [1] PDF support [2] Latex support sudo apt-get install ocml texlive and changes [3]
g++-4.7
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install g++-4.7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 sudo update-alternatives --config gcc
IPV6
Sixxs How To[4] Ipv6 How to[5]
ip -6 ro add 2001:14b8:100:363::/64 dev eth0 ip -6 route add default via 2001:14b8:100:363::40 dev eth0
See vrpn how to get it work whit Paraview.
http://docs.salome-platform.org/salome_4_1_5/visu/user/navigation_in_gauss_viewer_page.html http://code.google.com/p/liquid-galaxy/wiki/LinuxSpaceNavigator
Running Server
MPI4YOU - elmer, netgen and openfoam whit mpich3
HYDRA
GIS - Installation openstreetmap, gdal, ogr2ogr, psql2osm
Library - Installation calibre, mendelay, recol
GPG - Finish
Server start & stop
/etc/init.d/networking restart /etc/init.d/snmpd restart service bind9 restart sudo service isc-dhcp-server start /etc/init.d/apache2 restart
BACULA
What to backup: /etc/bacula - you need configuration /var/lib/bacula/bacula.sql - you need backup from database
Crete index at MySql database:
File.PathId File.FilenameId Job.FileSetId Job.ClientId
MYSQL to SSD
Mysql run on two SSD at server mpi1 and mpi2, asyncronouse mode mpi2 as master.
Innodb's can not be copyed palce to another, directory name must be same if so you can copy from system to other. So do mysqldump, setup new storage system and re-install databases.
Setup:
/etc/mysql/my.cnf datadir=<sdd dir>
datadir = /media/dbs/mysql
/etc/apparmor.d/abstractions/mysql
/var/lib/mysql/mysql.sock rw, /media/myjohn2/mysql/mysql.sock rw,
/etc/apparmor.d/usr.sbin.mysqld
/media/dbs/mysql/ r, /media/dbs/mysql/** rwk,
/etc/passwd
mysql:x:129:139:MySQL Server,,,:/media/dbs/mysql:/bin/false
cd /media/dbs/mysql/ cp -Rp /var/lib/mysql ./ chown -R mysql:mysql /media/dbs/mysql/ /etc/init.d/apparmor restart stop mysql start mysql
Mysql Replication
http://dev.mysql.com/doc/refman/5.6/en/replication-howto.html
Emergency Repair
DPKG , packages
http://www.thepowerbase.com/2012/04/how-to-fix-broken-packages-in-ubuntu-or-debian/
Copy Installation:
dpkg --get-selections > mypackages.txt sudo dpkg --set-selections < mypackages.txt sudo apt-get dselect-upgrade
or
Repair broken:
debsums -s -a 2> /tmp/broken.log sed -n 's/^.*\(checksum mismatch\|changed file\) \([^ ]*\) file.*$/\1/p;s/^.*t open \([^ ]*\) file.*$/\1/p' < /tmp/broken.log | sort -u > /tmp/broken.pkgs cd /var/cache/apt/archives rm `cat /tmp/broken.pkgs` apt-get --reinstall install `cat /tmp/broken.pkgs`
or
Try organize dpkg: https://help.ubuntu.com/community/PackageManagerTroubleshootingProcedure
ubuntu-support-status sudo grep -R proxy /etc/apt/* grep proxy /etc/environment echo $http_proxy echo $ftp_proxy grep proxy /etc/bash.bashrc grep proxy ~/.bashrc cat /etc/apt/apt.conf sudo fuser -vvv /var/lib/dpkg/lock cat /etc/lsb-release uname -a sudo rm /var/lib/apt/lists/lock sudo rm /var/lib/dpkg/lock sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup sudo mv /var/lib/dpkg/status /var/lib/dpkg/status-bad sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status || sudo cp /var/backups/apt.extended_states.0 /var/lib/dpkg/status sudo mv /var/lib/dpkg/available /var/lib/dpkg/available-bad sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available sudo rm -rf /var/lib/dpkg/updates/* sudo rm -rf /var/lib/apt/lists sudo rm /var/cache/apt/*.bin sudo mkdir /var/lib/apt/lists sudo mkdir /var/lib/apt/lists/partial LANG=C;sudo apt-get clean LANG=C;sudo apt-get autoclean LANG=C;sudo apt-get --purge autoremove LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000 sudo dpkg --configure -a sudo dpkg --clear-avail LANG=C;sudo apt-get -f install LANG=C;sudo apt-get --fix-missing install LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; cat -n "$1"' _ '{}' \;
Dpkg Packages re-install
If lot's debency, md5sum, pacpage not found,...
dpkg --get-selections > mypackages.txt
remove unwanted packages from *.txt so it looks list of packages to reinstall
Download all packages.
download:
#!/bin/bash filecontent=( `cat $1 `) echo $1 cd /var/cache/apt/archives for t in "${filecontent[@]}" do apt-get download $t done echo "Download end!"
Use dpkg to install all packages.
install:
#!/bin/bash filecontent=( `cat $1 `) echo $1 cd /var/cache/apt/archives for t in "${filecontent[@]}" do dpkg -i $t*.deb done echo "Install end!"
Bacula
RESTORE whitout DATABASE
bscan -u bacula -n bacula -P bacula73 -s -S -V ST3POOL-0125 /media/KurrolaStorage3
bscan -u bacula -n <DB username> -P <DB password> -s -S -V <backup tape/file> <tabe/file directory>
MYSQL
backup bacula DB's:
mysqldump -u steve -phuhaa bacula > bacula.sql
mysqldump -u <DB's user> -p<DB's password> bacula > <backup file name>
Restore:
mysql -u yourname -phuhaa bacula < bacula.sql
mysql -u <DB's user> -p<DB's password> bacula < <backup file name>
Status File Creation
http://www.solengtech.com/solengtech/opensource/howto-repair-ubuntu-dpkg-status-file
HowTo: Repair Ubuntu dpkg status file My Ubuntu 10.04.02 installs starting losing /var/lib/dpkg/status, and you can't update without it... Thanks to capink, but I ended up re-installing anyway so unfortunately losing this file you are near the end of the line.
http://ubuntuforums.org/archive/index.php/t-474587.html Using the script below will generate a new status file in your current directory (usually your home dir). Use this file in place of your status file after backing it up:
- !/bin/bash
get_control_info () { for i in /var/lib/apt/lists/*_Packages do sed '/Package: '"$1"'$/,/^$/!d' $i done }
for i in /var/lib/dpkg/info/*.list do package_name=`basename $i | sed 's/.list$//'` get_control_info $package_name >> status-new done
sed -i -e '/^Filename: .*/d' -e '/^MD5sum:/d' -e '/^SHA1:/d' -e '/^SHA256:/d' status-new sed -i '/^Package: /a\Status: install ok installed' status-new