InstallationGuide » History » Version 21
Anonymous, 09/10/2007 03:39 PM
1 | 1 | Anonymous | = Installation Guide = |
---|---|---|---|
2 | 1 | Anonymous | |
3 | 1 | Anonymous | This guide describes the installation procedure for ''ProCKSI''. |
4 | 1 | Anonymous | |
5 | 4 | Anonymous | ||'''Release''' ||procksi_8-2 |
6 | 21 | Anonymous | ||'''Environment''' ||Cluster with one master node and several slave nodes |
7 | 1 | Anonymous | |
8 | 1 | Anonymous | All installations must be done with ''root'' access. |
9 | 1 | Anonymous | |
10 | 1 | Anonymous | |
11 | 1 | Anonymous | = System Design and Requirements = |
12 | 1 | Anonymous | |
13 | 1 | Anonymous | == Software Requirements == |
14 | 21 | Anonymous | We are assuming the following software components to be already installed the '''master node''': |
15 | 2 | Anonymous | |
16 | 21 | Anonymous | ||'''Operating system''' || ''Centos5'' (''RHEL5'') |
17 | 21 | Anonymous | ||'''Webserver''' || Apache2 |
18 | 21 | Anonymous | ||'''Database''' || MySQL |
19 | 21 | Anonymous | ||'''Email server''' || Postfix (SMTP) |
20 | 21 | Anonymous | ||'''Queuing system''' || PBS torque + maui |
21 | 1 | Anonymous | |
22 | 1 | Anonymous | |
23 | 21 | Anonymous | The '''slave nodes''' only requires the following components: |
24 | 1 | Anonymous | |
25 | 21 | Anonymous | ||'''Operating system''' || ''Centos5'' (''RHEL5'') |
26 | 21 | Anonymous | ||'''Queuing system ''' || PBS torque |
27 | 1 | Anonymous | |
28 | 1 | Anonymous | |
29 | 1 | Anonymous | The configuration for these components will be described later in this installation guide. |
30 | 1 | Anonymous | |
31 | 1 | Anonymous | |
32 | 1 | Anonymous | |
33 | 1 | Anonymous | = URL and Email Forwarding = |
34 | 1 | Anonymous | ProCKSI uses URL and email forwarding in order to provide a stable internet address and corresponding email addresses. |
35 | 1 | Anonymous | |
36 | 1 | Anonymous | |
37 | 1 | Anonymous | |
38 | 1 | Anonymous | == Provider == |
39 | 4 | Anonymous | These are data for the domain and email domain provider. |
40 | 1 | Anonymous | |
41 | 4 | Anonymous | ||'''Provider''' || [http://www.planetdomain.com/ukcheap/home.jsp www.planetdomain.com/ukcheap/home.jsp] |
42 | 4 | Anonymous | ||'''Login''' || nkrasnogor |
43 | 4 | Anonymous | ||'''Password''' || [BBSRC GRANT NUMBER] |
44 | 1 | Anonymous | |
45 | 4 | Anonymous | |
46 | 1 | Anonymous | == Domains == |
47 | 4 | Anonymous | ProCKSI's main domain name is [http://www.procksi.net www.procksi.net], which is redirected to [http://procksi.cs.nott.ac.uk procksi.cs.nott.ac.uk], which is an alias for [http://procksi0.cs.nott.ac.uk procksi0.cs.nott.ac.uk]. All other domain names are redirected to its main domain name. |
48 | 1 | Anonymous | |
49 | 1 | Anonymous | |
50 | 1 | Anonymous | |
51 | 4 | Anonymous | ||'''Domain Name''' ||'''Redirected to''' ||'''Expires at''' |
52 | 4 | Anonymous | ||www.procksi.net ||[http://procksi.cs.nott.ac.uk procksi.cs.nott.ac.uk] ||11-01-2011 |
53 | 4 | Anonymous | ||www.procksi.org ||[http://www.procksi.net/ www.procksi.net] ||11-01-2011 |
54 | 4 | Anonymous | ||www.procksi.com ||[http://www.procksi.net/ www.procksi.net] ||11-01-2011 |
55 | 4 | Anonymous | ||www.procksi.info ||[http://www.procksi.net/ www.procksi.net] ||11-01-2008 |
56 | 1 | Anonymous | |
57 | 1 | Anonymous | |
58 | 1 | Anonymous | |
59 | 1 | Anonymous | |
60 | 1 | Anonymous | == DNS Settings == |
61 | 1 | Anonymous | The primary and secondary DNS servers must be set as follows: |
62 | 1 | Anonymous | |
63 | 4 | Anonymous | {{{ |
64 | 4 | Anonymous | Primary ns1.iprimus.com.au |
65 | 4 | Anonymous | Secondary ns2.iprimus.com.au |
66 | 4 | Anonymous | }}} |
67 | 1 | Anonymous | |
68 | 1 | Anonymous | |
69 | 1 | Anonymous | The following changes must be made manually in ''Advanced DNS settings'': |
70 | 1 | Anonymous | |
71 | 4 | Anonymous | {{{ |
72 | 4 | Anonymous | CNAME *.procksi.net procksi.cs.nott.ac.uk. |
73 | 4 | Anonymous | CNAME *.procksi.org www.procksi.net. |
74 | 4 | Anonymous | CNAME *.procksi.com www.procksi.net. |
75 | 4 | Anonymous | CNAME *.procksi.info www.procksi.net. |
76 | 4 | Anonymous | }}} |
77 | 1 | Anonymous | |
78 | 1 | Anonymous | |
79 | 1 | Anonymous | |
80 | 1 | Anonymous | == Email Settings == |
81 | 1 | Anonymous | The following email addresses must be created and redirected to ''procksi@cs.nott.ac.uk'', which must be available: |
82 | 1 | Anonymous | |
83 | 4 | Anonymous | ||'''Email Address''' ||'''Redirected to''' |
84 | 4 | Anonymous | ||admin@procksi.net ||procksi@cs.nott.ac.uk |
85 | 4 | Anonymous | ||develop@procksi.net ||procksi@cs.nott.ac.uk |
86 | 4 | Anonymous | ||info@procksi.net ||procksi@cs.nott.ac.uk |
87 | 4 | Anonymous | ||research@procksi.net ||procksi@cs.nott.ac.uk |
88 | 4 | Anonymous | ||pbs@procksi.net ||procksi@cs.nott.ac.uk |
89 | 4 | Anonymous | ||webmaster@procksi.net||procksi@cs.nott.ac.uk |
90 | 1 | Anonymous | |
91 | 1 | Anonymous | The following changes must be made manually in ''Advanced DNS settings:'' |
92 | 1 | Anonymous | |
93 | 4 | Anonymous | {{{ |
94 | 4 | Anonymous | MX @.procksi.net mailhost.planetdomain.com 10 |
95 | 4 | Anonymous | }}} |
96 | 1 | Anonymous | |
97 | 1 | Anonymous | |
98 | 1 | Anonymous | |
99 | 1 | Anonymous | == Domain Usage Monitoring == |
100 | 1 | Anonymous | The usage of ProCKSI's domains is monitored. |
101 | 1 | Anonymous | |
102 | 8 | Anonymous | ||Provider ||[http://www.sitemeter.com www.sitemeter.com] |
103 | 4 | Anonymous | ||Login: ||s18procksi |
104 | 4 | Anonymous | ||Password: ||FAKUIL |
105 | 1 | Anonymous | |
106 | 1 | Anonymous | |
107 | 1 | Anonymous | All HTML documents must contain the following code in order to be tracked correctly. |
108 | 1 | Anonymous | |
109 | 4 | Anonymous | {{{ |
110 | 1 | Anonymous | <!-- Site Meter --> |
111 | 1 | Anonymous | <script type="text/javascript" src="http://s18.sitemeter.com/js/counter.js?site=s18procksi"> |
112 | 1 | Anonymous | </script> |
113 | 1 | Anonymous | <noscript> |
114 | 1 | Anonymous | <a href="http://s18.sitemeter.com/stats.asp?site=s18procksi" target="_top"> |
115 | 1 | Anonymous | <img src=[http://s18.sitemeter.com/meter.asp?site=s18procksi http://s18.sitemeter.com/meter.asp?site=s18procksi] |
116 | 1 | Anonymous | alt="Site Meter" border="0"/> |
117 | 1 | Anonymous | </a> |
118 | 1 | Anonymous | </noscript> |
119 | 1 | Anonymous | |
120 | 1 | Anonymous | <!-- Copyright (c)2006 Site Meter --> |
121 | 4 | Anonymous | }}} |
122 | 1 | Anonymous | |
123 | 1 | Anonymous | |
124 | 1 | Anonymous | |
125 | 1 | Anonymous | = Data Management and Exchange = |
126 | 20 | Anonymous | The master node and all slave nodes must be able to communicate with each other and exchange data. Therefore, a common user management and shared file system is necessary. |
127 | 1 | Anonymous | |
128 | 17 | Anonymous | |
129 | 17 | Anonymous | == Network Configuration == |
130 | 17 | Anonymous | Make the following changes on the head node and each compute node: |
131 | 17 | Anonymous | |
132 | 17 | Anonymous | * Modify ''/etc/sysconfig/network'' in order to enable networking, set the hostname, and disable the Zero Configuration Newtworking: |
133 | 1 | Anonymous | {{{ |
134 | 17 | Anonymous | NETWORKING=yes |
135 | 20 | Anonymous | NETWORKING_IPV6=no |
136 | 17 | Anonymous | HOSTNAME=[Add Hostname] |
137 | 1 | Anonymous | NOZEROCONF=yes |
138 | 17 | Anonymous | }}} |
139 | 17 | Anonymous | |
140 | 20 | Anonymous | * Configure the internal network inferface (eth0) in ''/etc/sysconfig/networking/devices/ifcfg-eth0'': |
141 | 1 | Anonymous | {{{ |
142 | 1 | Anonymous | DEVICE=eth0 |
143 | 17 | Anonymous | TYPE=Ethernet |
144 | 17 | Anonymous | ONBOOT=yes |
145 | 20 | Anonymous | BOOTPROTO=static |
146 | 17 | Anonymous | HWADDR=[Add MAC Address] |
147 | 20 | Anonymous | IPADDR=[Add Internal IP Address] |
148 | 1 | Anonymous | BROADCAST=192.168.199.255 |
149 | 17 | Anonymous | GATEWAY=192.168.0.10 |
150 | 17 | Anonymous | NETWORK=192.168.199.0 |
151 | 17 | Anonymous | NETMASK=255.255.255.0 |
152 | 1 | Anonymous | }}} |
153 | 1 | Anonymous | |
154 | 20 | Anonymous | * Configure the external network inferface (eth1) in ''/etc/sysconfig/networking/devices/ifcfg-eth1'': |
155 | 17 | Anonymous | {{{ |
156 | 17 | Anonymous | DEVICE=eth1 |
157 | 17 | Anonymous | TYPE=Ethernet |
158 | 17 | Anonymous | ONBOOT=yes |
159 | 20 | Anonymous | BOOTPROTO=static |
160 | 17 | Anonymous | HWADDR=[Add MAC Address] |
161 | 20 | Anonymous | IPADDR=[Add External IP Address] |
162 | 17 | Anonymous | BROADCAST=128.243.21.255 |
163 | 17 | Anonymous | GATEWAY=128.243.21.1 |
164 | 17 | Anonymous | NETWORK=128.243.21.0 |
165 | 17 | Anonymous | NETMASK=255.255.255.0 |
166 | 17 | Anonymous | }}} |
167 | 17 | Anonymous | |
168 | 20 | Anonymous | * Add a default gateway, and routes to the internal and external networks to the Routing Table (if not done automatically yet): |
169 | 17 | Anonymous | {{{ |
170 | 17 | Anonymous | /sbin/route add -net 192.168.199.0 netmask 255.255.255.0 dev eth0 |
171 | 17 | Anonymous | /sbin/route add -net 128.243.21.0 netmask 255.255.255.0 dev eth1 |
172 | 17 | Anonymous | /sbin/route add default gw 128.243.21.1 dev eth1 |
173 | 17 | Anonymous | }}} |
174 | 1 | Anonymous | |
175 | 1 | Anonymous | |
176 | 1 | Anonymous | == User Management == |
177 | 4 | Anonymous | Make the following changes on the head node and each compute node: |
178 | 1 | Anonymous | |
179 | 4 | Anonymous | * Add a new user into ''/etc/passwd'': |
180 | 4 | Anonymous | {{{ |
181 | 4 | Anonymous | procksi:x:510:510:ProCKSI-Server:/home/procksi:/bin/bash |
182 | 4 | Anonymous | }}} |
183 | 4 | Anonymous | * Add an entry for the new user into ''/etc/shadow'' if desired: |
184 | 4 | Anonymous | {{{ |
185 | 4 | Anonymous | procksi:[ENCRYPTED_PASSWORD]:13483:0:99999:7::: |
186 | 4 | Anonymous | }}} |
187 | 1 | Anonymous | * Add a new group into ''/etc/group'', and add all users who should have access: |
188 | 4 | Anonymous | {{{ |
189 | 1 | Anonymous | procksi:x:510:dxb |
190 | 1 | Anonymous | }}} |
191 | 4 | Anonymous | The members for group procksi are now: ''procksi'', ''dxb'' |
192 | 1 | Anonymous | * Generate home directory for ''procksi'' |
193 | 1 | Anonymous | |
194 | 1 | Anonymous | |
195 | 1 | Anonymous | |
196 | 1 | Anonymous | == Firewall == |
197 | 20 | Anonymous | All network traffic using the internal (private) network is trusted and considered to be secure. So no firewall is needed on the internal network interface (''eth0''). |
198 | 1 | Anonymous | |
199 | 4 | Anonymous | * Modify ''/etc/sysconfig/iptables'' on the head node and on each compute node. [[BR]] |
200 | 20 | Anonymous | If ''eth0'' is on the private network, add |
201 | 4 | Anonymous | {{{ |
202 | 20 | Anonymous | -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT |
203 | 4 | Anonymous | }}} |
204 | 4 | Anonymous | directly after |
205 | 4 | Anonymous | {{{ |
206 | 4 | Anonymous | -A RH-Firewall-1-INPUT -i lo -j ACCEPT |
207 | 4 | Anonymous | }}} |
208 | 4 | Anonymous | * Restart the firewall on the head node and on each compute node: |
209 | 4 | Anonymous | {{{ |
210 | 4 | Anonymous | /sbin/service iptables restart |
211 | 4 | Anonymous | }}} |
212 | 1 | Anonymous | |
213 | 20 | Anonymous | Changes in the firewall settings regarding the external network interface (''eth1'') will be described in other sections where necessary. |
214 | 1 | Anonymous | |
215 | 1 | Anonymous | |
216 | 1 | Anonymous | |
217 | 1 | Anonymous | == Host Name Resolution == |
218 | 1 | Anonymous | As each node consists of two network interfaces (= multihomed host), the host name resolution must be configured correctly in order to prioritize the internal, trusted network for communication between different nodes. |
219 | 1 | Anonymous | |
220 | 1 | Anonymous | * The official hostname for each node must be set to the ''internal'' name of the machine in ''/etc/sysconfig/network''. This is an example for the head node: |
221 | 1 | Anonymous | {{{ |
222 | 4 | Anonymous | HOSTNAME=procksi0-priv.cs.nott.ac.uk |
223 | 4 | Anonymous | }}} |
224 | 1 | Anonymous | |
225 | 1 | Anonymous | The compute nodes must be named and configured accordingly. |
226 | 20 | Anonymous | * Add the following to ''/etc/hosts'' on the master node: |
227 | 1 | Anonymous | {{{ |
228 | 20 | Anonymous | 127.0.0.1 master01.procksi.local master01 localhost.localdomain localhost |
229 | 1 | Anonymous | }}} |
230 | 20 | Anonymous | and alter the line for each slave node (slave01 ... slaveXX) accordingly. |
231 | 1 | Anonymous | * Add the following to ''/etc/hosts'' on the head node and each compute node: |
232 | 4 | Anonymous | {{{ |
233 | 20 | Anonymous | 192.168.199.10 master01.procksi.local master01 m01 |
234 | 20 | Anonymous | 192.168.199.11 slave01.procksi.local slave01 s01 |
235 | 20 | Anonymous | 192.168.199.12 slave02.procksi.local slave02 s02 |
236 | 20 | Anonymous | 192.168.199.13 slave03.procksi.local slave03 s03 |
237 | 20 | Anonymous | 192.168.199.14 slave04.procksi.local slave04 s04 |
238 | 4 | Anonymous | }}} |
239 | 4 | Anonymous | Edit ''/etc/host.conf'' so that local setting in ''/etc/hosts'' take precedence over DNS: |
240 | 4 | Anonymous | {{{ |
241 | 4 | Anonymous | order hosts,bind |
242 | 1 | Anonymous | }}} |
243 | 1 | Anonymous | |
244 | 1 | Anonymous | == Data Access == |
245 | 20 | Anonymous | The head node hosts a RAID system of hard disks that will store all data generated by ProCKSI on all slave nodes and the master node itself. This partition must be accessible by all nodes and is exported as a network file system (NFS) therefore. Executables used by ProCKSI must be installed locally on each slave node for better performance. |
246 | 4 | Anonymous | |
247 | 20 | Anonymous | * Add the following to the end of ''/etc/exports'' on the master node (''master01''): |
248 | 4 | Anonymous | {{{ |
249 | 20 | Anonymous | /home 192.168.199.0/4(rw,async,no_subtree_check,no_root_squash) |
250 | 4 | Anonymous | }}} |
251 | 20 | Anonymous | * Add the following to the end of ''/etc/fstab'' on each slave node (''slave01'' ... ''slaveXX''): |
252 | 4 | Anonymous | {{{ |
253 | 20 | Anonymous | master01:/home /home nfs bg,hard,intr,tcp 0 0 |
254 | 11 | Anonymous | }}} |
255 | 20 | Anonymous | * Tune NFS by increasing the number of nfsd threads. Modify ''/etc/sysconfig/nfs'' on the master node: |
256 | 11 | Anonymous | {{{ |
257 | 20 | Anonymous | RPCNFSDCOUNT=16 |
258 | 4 | Anonymous | }}} |
259 | 20 | Anonymous | * Make the NFS daemons start at bootup. Enter at the command line of the master node and each slave node: |
260 | 4 | Anonymous | {{{ |
261 | 4 | Anonymous | /sbin/chkconfig nfs on |
262 | 4 | Anonymous | }}} |
263 | 20 | Anonymous | * Start the NFS daemons. Enter at the command line on the master node and on each slave node: |
264 | 4 | Anonymous | {{{ |
265 | 4 | Anonymous | /sbin/service nfsd start |
266 | 4 | Anonymous | }}} |
267 | 20 | Anonymous | * Generate the following temp directory on the master node and each slave node, at best on a separate partition: |
268 | 4 | Anonymous | {{{ |
269 | 4 | Anonymous | mkdir /scratch |
270 | 1 | Anonymous | }}} |
271 | 1 | Anonymous | |
272 | 1 | Anonymous | |
273 | 4 | Anonymous | == Time Synchronisation == |
274 | 4 | Anonymous | The system time on all nodes must be synchronized as |
275 | 4 | Anonymous | a) data is written/read on/from a common, shared file system or even expires after a certain period of time and must be deleted, and |
276 | 1 | Anonymous | b) system logs are maintained independently but entries must be able to be associated with each other. |
277 | 4 | Anonymous | |
278 | 4 | Anonymous | * Add your own time server to ''/etc/ntp/ntpservers'': |
279 | 15 | Anonymous | {{{ |
280 | 15 | Anonymous | 128.243.21.16 #marian.cs.nott.ac.uk |
281 | 15 | Anonymous | 128.243.21.17 #robin.cs.nott.ac.uk |
282 | 15 | Anonymous | 128.243.21.18 #tuck.cs.nott.ac.uk |
283 | 1 | Anonymous | 128.243.21.19 #pat.cs.nott.ac.uk |
284 | 15 | Anonymous | }}} |
285 | 15 | Anonymous | |
286 | 1 | Anonymous | * Modify ''/etc/ntp.conf'' in order to permit systems on the subnet to synchronise with this time service: |
287 | 15 | Anonymous | {{{ |
288 | 15 | Anonymous | # -- CLIENT NETWORK ------- |
289 | 15 | Anonymous | restrict 192.168.199.0 mask 255.255.255.0 nomodify notrap |
290 | 15 | Anonymous | broadcastclient |
291 | 15 | Anonymous | }}} |
292 | 15 | Anonymous | * Modify ''/etc/ntp.conf'' and add further time servers: |
293 | 15 | Anonymous | {{{ |
294 | 15 | Anonymous | # --- OUR TIMESERVERS ----- |
295 | 15 | Anonymous | server 128.243.21.16 #marian.cs.nott.ac.uk |
296 | 15 | Anonymous | restrict 128.243.21.16 mask 255.255.255.255 nomodify notrap noquery |
297 | 15 | Anonymous | server 128.243.21.17 #robin.cs.nott.ac.uk |
298 | 15 | Anonymous | restrict 128.243.21.17 mask 255.255.255.255 nomodify notrap noquery |
299 | 15 | Anonymous | server 128.243.21.18 #tuck.cs.nott.ac.uk |
300 | 15 | Anonymous | restrict 128.243.21.18 mask 255.255.255.255 nomodify notrap noquery |
301 | 15 | Anonymous | server 128.243.21.19 #pat.cs.nott.ac.uk |
302 | 4 | Anonymous | restrict 128.243.21.19 mask 255.255.255.255 nomodify notrap noquery |
303 | 4 | Anonymous | }}} |
304 | 4 | Anonymous | * Make the NTP daemon start at bootup. Enter at the command line: |
305 | 4 | Anonymous | {{{ |
306 | 4 | Anonymous | /sbin/chkconfig ntpd on |
307 | 4 | Anonymous | }}} |
308 | 4 | Anonymous | * Start the NTP daemon. Enter at the command line: |
309 | 4 | Anonymous | {{{ |
310 | 1 | Anonymous | /sbin/service ntpd start |
311 | 1 | Anonymous | }}} |
312 | 1 | Anonymous | |
313 | 1 | Anonymous | |
314 | 1 | Anonymous | |
315 | 1 | Anonymous | = Queuing System = |
316 | 1 | Anonymous | The queueing system (resource manager) is the heart of the distributed computing on a cluster. It consists of three parts, the server, the scheduler, and the machine-oriented mini-server (MOM) executing the jobs. |
317 | 1 | Anonymous | |
318 | 1 | Anonymous | |
319 | 1 | Anonymous | |
320 | 1 | Anonymous | We are assuming the following configuration: |
321 | 1 | Anonymous | |
322 | 1 | Anonymous | ||PBS TORQUE|| version 2.1.6 ||server, basic scheduler, mom |
323 | 1 | Anonymous | ||MAUI || version 3.2.6.p18 ||scheduler |
324 | 1 | Anonymous | |
325 | 1 | Anonymous | |
326 | 1 | Anonymous | The sources can be obtained from: |
327 | 1 | Anonymous | |
328 | 1 | Anonymous | ||PBS TORQUE ||http://www.clusterresources.com/pages/products/torque-resource-manager.php |
329 | 1 | Anonymous | ||MAUI ||http://www.clusterresources.com/pages/products/maui-cluster-scheduler.php |
330 | 1 | Anonymous | |
331 | 1 | Anonymous | |
332 | 1 | Anonymous | The install directories for ''TORQUE'' and ''MAUI'' will be: |
333 | 1 | Anonymous | |
334 | 1 | Anonymous | ||PBS TORQUE ||''/usr/local/torque'' |
335 | 1 | Anonymous | ||MAUI ||''/usr/local/maui'' |
336 | 1 | Anonymous | |
337 | 1 | Anonymous | |
338 | 1 | Anonymous | |
339 | 1 | Anonymous | == TORQUE == |
340 | 1 | Anonymous | |
341 | 4 | Anonymous | === Register new services === |
342 | 1 | Anonymous | Edit ''/etc/services'' and add at the end: |
343 | 1 | Anonymous | {{{ |
344 | 1 | Anonymous | # PBS/Torque services |
345 | 1 | Anonymous | |
346 | 1 | Anonymous | pbs 15001/tcp # pbs_server |
347 | 1 | Anonymous | pbs 15001/udp # pbs_server |
348 | 1 | Anonymous | pbs_mom 15002/tcp # pbs_mom <-> pbs_server |
349 | 1 | Anonymous | pbs_mom 15002/udp # pbs_mom <-> pbs_server |
350 | 1 | Anonymous | pbs_resmom 15003/tcp # pbs_mom resource management |
351 | 1 | Anonymous | pbs_resmom 15003/udp # pbs_mom resource management |
352 | 4 | Anonymous | pbs_sched 15004/tcp # pbs scheduler (pbs_sched) |
353 | 1 | Anonymous | pbs_sched 15004/udp # pbs scheduler (pbs_sched) |
354 | 1 | Anonymous | }}} |
355 | 1 | Anonymous | |
356 | 1 | Anonymous | |
357 | 1 | Anonymous | |
358 | 1 | Anonymous | |
359 | 4 | Anonymous | |
360 | 4 | Anonymous | === Setup and Configuration on the Head Node === |
361 | 4 | Anonymous | Extract and build the distribution TORQUE on the head node. Configure server, monitor and clients to use secure file transfer (scp). |
362 | 4 | Anonymous | {{{ |
363 | 4 | Anonymous | export TORQUECFG=/usr/local/torque |
364 | 4 | Anonymous | tar -xzvf TORQUE.tar.gz |
365 | 4 | Anonymous | cd TORQUE |
366 | 4 | Anonymous | }}} |
367 | 13 | Anonymous | Configuration for a 64bit machine with the following compiler options: |
368 | 13 | Anonymous | {{{ |
369 | 13 | Anonymous | FFLAGS = "-m64 -march=nocona -O3 -fPIC" |
370 | 13 | Anonymous | CFLAGS = "-m64 -march=nocona -O3 -fPIC" |
371 | 4 | Anonymous | CXXFLAGS = "-m64 -march=nocona -O3 -fPIC" |
372 | 4 | Anonymous | LDFLAGS = "-L/usr/local/lib -L/usr/local/lib64" |
373 | 4 | Anonymous | }}} |
374 | 4 | Anonymous | Configure, build, and install: |
375 | 4 | Anonymous | {{{ |
376 | 4 | Anonymous | ./configure --enable-server --enable-monitor --enable-clients |
377 | 4 | Anonymous | --with-server-home=$TORQUECFG --with-server-name |
378 | 4 | Anonymous | --with-rcp=scp --disable-filesync |
379 | 4 | Anonymous | make |
380 | 1 | Anonymous | make install |
381 | 1 | Anonymous | }}} |
382 | 4 | Anonymous | |
383 | 4 | Anonymous | |
384 | 1 | Anonymous | If not configures otherwise, binaries are installed in ''/usr/local/bin'' and ''/usr/local/sbin''. You should have these directories included in your path. But you can configure TORQUE to have the binaries in the default system directory with |
385 | 4 | Anonymous | {{{ |
386 | 1 | Anonymous | ./configure --bindir=/usr/bin --sbindir=/usr/sbin |
387 | 1 | Anonymous | }}} |
388 | 4 | Anonymous | |
389 | 4 | Anonymous | |
390 | 4 | Anonymous | Initialise/configure the queueing system's server daemon (pbs_server): |
391 | 4 | Anonymous | {{{ |
392 | 1 | Anonymous | pbs_server -t create |
393 | 4 | Anonymous | }}} |
394 | 4 | Anonymous | |
395 | 4 | Anonymous | Set the PBS operator and manager (must be a valid user name). |
396 | 4 | Anonymous | {{{ |
397 | 4 | Anonymous | qmgr |
398 | 4 | Anonymous | > set server_name = procksi0-priv.cs.nott.ac.uk |
399 | 4 | Anonymous | > set server scheduling = true |
400 | 4 | Anonymous | > set server operators += “root@procksi.cs.nott.ac.uk" |
401 | 4 | Anonymous | > set server operators += “procksi@ procksi.cs.nott.ac.uk" |
402 | 4 | Anonymous | > set server managers += “root@ procksi.cs.nott.ac.uk" |
403 | 1 | Anonymous | > set server managers += “procksi@ procksi.cs.nott.ac.uk" |
404 | 4 | Anonymous | }}} |
405 | 4 | Anonymous | |
406 | 4 | Anonymous | Allow only ''procksi'' and ''root'' to submit jobs into the queue: |
407 | 4 | Anonymous | {{{ |
408 | 4 | Anonymous | > set server acl_users = “root, procksi" |
409 | 1 | Anonymous | > set server acl_user_enable = true |
410 | 4 | Anonymous | }}} |
411 | 4 | Anonymous | |
412 | 4 | Anonymous | Set the default queue to ''batch'' |
413 | 4 | Anonymous | {{{ |
414 | 1 | Anonymous | > set server default_queue=batch |
415 | 1 | Anonymous | }}} |
416 | 4 | Anonymous | |
417 | 4 | Anonymous | |
418 | 4 | Anonymous | Set email address for email that is sent by PBS: |
419 | 4 | Anonymous | {{{ |
420 | 1 | Anonymous | > set mail_from = pbs@procksi.net |
421 | 1 | Anonymous | }}} |
422 | 4 | Anonymous | |
423 | 4 | Anonymous | |
424 | 4 | Anonymous | Allow submissions from compute hosts (only): |
425 | 4 | Anonymous | {{{ |
426 | 4 | Anonymous | > set server allow_node_submit = true |
427 | 4 | Anonymous | > set server submit_hosts = procksi0-priv.cs.nott.ac.uk |
428 | 4 | Anonymous | procksi1-priv.cs.nott.ac.uk |
429 | 1 | Anonymous | procksi2-priv.cs.nott.ac.uk |
430 | 1 | Anonymous | }}} |
431 | 4 | Anonymous | |
432 | 1 | Anonymous | |
433 | 4 | Anonymous | Restrict nodes that can access the PBS server: |
434 | 4 | Anonymous | {{{ |
435 | 4 | Anonymous | > set server acl_hosts = procksi0-priv.cs.nott.ac.uk |
436 | 4 | Anonymous | procksi1-priv.cs.nott.ac.uk |
437 | 1 | Anonymous | procksi2-priv.cs.nott.ac.uk |
438 | 4 | Anonymous | > set acl_host_enable = true |
439 | 4 | Anonymous | }}} |
440 | 4 | Anonymous | And set in ''torque.cfg'' in order to use the internal interface: |
441 | 4 | Anonymous | {{{ |
442 | 4 | Anonymous | SERVERHOST procksi0-priv.cs.nott.ac.uk |
443 | 1 | Anonymous | ALLOWCOMPUTEHOSTSUBMIT true |
444 | 1 | Anonymous | }}} |
445 | 4 | Anonymous | |
446 | 4 | Anonymous | |
447 | 4 | Anonymous | Configure the main queue ''batch'': |
448 | 4 | Anonymous | {{{ |
449 | 4 | Anonymous | > create queue batch queue_type=execution |
450 | 4 | Anonymous | > set queue batch started=true |
451 | 4 | Anonymous | > set queue batch enabled=true |
452 | 1 | Anonymous | > set queue batch resources_default.nodes=1 |
453 | 4 | Anonymous | }}} |
454 | 1 | Anonymous | |
455 | 4 | Anonymous | Configure queue ''test ''accordingly''. |
456 | 4 | Anonymous | |
457 | 4 | Anonymous | Configure default node to be used (see below): |
458 | 4 | Anonymous | {{{ |
459 | 1 | Anonymous | > set server default_node = slave |
460 | 4 | Anonymous | }}} |
461 | 1 | Anonymous | |
462 | 4 | Anonymous | Specify all compute nodes to be used by creating/editing ''$TORQUECFG/server_priv/nodes.'' This may include the same machine where pbs_server will run. If the compute nodes have more than one processor, just add np=X after the name with X being the number of processors. Add node attributes so that a subset of nodes can be requested during the submission stage. |
463 | 4 | Anonymous | {{{ |
464 | 4 | Anonymous | procksi0-priv.cs.nott.ac.uk np=1 procksi head |
465 | 1 | Anonymous | procksi1-priv.cs.nott.ac.uk np=2 procksi slave slave1 |
466 | 1 | Anonymous | procksi2-priv.cs.nott.ac.uk np=2 procksi slave slave2 |
467 | 4 | Anonymous | }}} |
468 | 1 | Anonymous | |
469 | 1 | Anonymous | Although the head node (''procksi0'') has two processors as well, we only allow one processor to be used for the queueing system as the other processor will be used for handling all frontend communication and I/O. (Make sure that hyperthreading technology is disabled on the head node and all compute nodes!) |
470 | 4 | Anonymous | |
471 | 4 | Anonymous | |
472 | 4 | Anonymous | Build packages for the compute nodes and copy them to each compute node: |
473 | 1 | Anonymous | {{{ |
474 | 4 | Anonymous | cd $TORQUE |
475 | 4 | Anonymous | make packages |
476 | 4 | Anonymous | scp torque-package-mom-linux-i686.sh procksi1|procksi2 |
477 | 13 | Anonymous | scp torque-package-clients-linux-i686.sh procksi1|procksi2 |
478 | 1 | Anonymous | }}} |
479 | 1 | Anonymous | ATTENTION: Does only work for the same architecture! Thus, building on the Intel head node and deploying to AMD slaves does not work! |
480 | 1 | Anonymous | |
481 | 4 | Anonymous | |
482 | 4 | Anonymous | === Setup and Configuration on the Compute Nodes === |
483 | 13 | Anonymous | Install prepared packes. A directory similar to ''$TORQUECFG'' will be automatically created. |
484 | 13 | Anonymous | {{{ |
485 | 4 | Anonymous | pdsh torque-package-mom-linux-i686.sh --install |
486 | 1 | Anonymous | pdsh torque-package-clients-linux-i686.sh --install |
487 | 1 | Anonymous | }}} |
488 | 4 | Anonymous | |
489 | 4 | Anonymous | |
490 | 4 | Anonymous | Check if the nodes know the head node |
491 | 4 | Anonymous | {{{ |
492 | 4 | Anonymous | $TORQUECFG/server_name |
493 | 1 | Anonymous | #procksi0-priv.cs.nott.ac.uk |
494 | 4 | Anonymous | }}} |
495 | 1 | Anonymous | |
496 | 1 | Anonymous | Configure the compute nodes by creating/editing ''$TORQUECFG/mom_priv/config''. The first line specifies the PBS server, the second line specifies hosts which can be trusted to access mom services as non-root, and the last line allows to copy data via NFS without using SCP. |
497 | 4 | Anonymous | |
498 | 4 | Anonymous | {{{ |
499 | 4 | Anonymous | $pbsserver procksi0-priv.cs.nott.ac.uk |
500 | 4 | Anonymous | $loglevel 255 |
501 | 1 | Anonymous | $restricted procksi?-priv.cs.nott.ac.uk |
502 | 1 | Anonymous | $usecp procksi0-priv.cs.nott.ac.uk:/home/procksi /home/procksi |
503 | 4 | Anonymous | }}} |
504 | 4 | Anonymous | |
505 | 4 | Anonymous | Start the queueing system (manually) in the correct order: |
506 | 4 | Anonymous | * Start the mom: |
507 | 4 | Anonymous | {{{ |
508 | 4 | Anonymous | /usr/local/sbin/pbs_mom |
509 | 4 | Anonymous | }}} |
510 | 4 | Anonymous | * Kill the server: |
511 | 4 | Anonymous | {{{ |
512 | 4 | Anonymous | /usr/local/sbin/qterm -t quick |
513 | 4 | Anonymous | }}} |
514 | 4 | Anonymous | * Start the server: |
515 | 4 | Anonymous | {{{ |
516 | 4 | Anonymous | /usr/local/sbin/pbs_server |
517 | 4 | Anonymous | }}} |
518 | 4 | Anonymous | * Start the scheduler: |
519 | 4 | Anonymous | {{{ |
520 | 1 | Anonymous | /usr/local/sbin/pbs_sched |
521 | 4 | Anonymous | }}} |
522 | 1 | Anonymous | |
523 | 1 | Anonymous | If you want to use MAUI as the final scheduler, keep in mind to kill ''pbs_sched'' after testing the TORQURE installation. |
524 | 4 | Anonymous | |
525 | 4 | Anonymous | |
526 | 4 | Anonymous | Check that all nodes are properly configured and correctly reporting |
527 | 4 | Anonymous | {{{ |
528 | 4 | Anonymous | qstat -q |
529 | 1 | Anonymous | pbsnodes -a |
530 | 1 | Anonymous | }}} |
531 | 1 | Anonymous | |
532 | 1 | Anonymous | |
533 | 1 | Anonymous | |
534 | 4 | Anonymous | |
535 | 4 | Anonymous | === Prologue and Epilogue Scripts === |
536 | 4 | Anonymous | The ''prologue'' script is executed just before the submitted job starts. Here, it generates a unique temp directory for each job in ''/scratch''. It must be installed on each node: |
537 | 4 | Anonymous | {{{ |
538 | 4 | Anonymous | cp $PROCKSI/install/prologue $TORQUECFG/mom_priv |
539 | 1 | Anonymous | chmod 500 $TORQUECFG/mom_priv/prologue |
540 | 4 | Anonymous | }}} |
541 | 4 | Anonymous | |
542 | 4 | Anonymous | The ''epilogue'' script is executed right after the submitted job has ended. Here, it deletes the job's temp directory from ''/scratch.'' It must be installed on each node: |
543 | 4 | Anonymous | {{{ |
544 | 4 | Anonymous | cp $PROCKSI/install/epilogue $TORQUECFG/mom_priv |
545 | 4 | Anonymous | chmod 500 $TORQUECFG/mom_priv/epilogue |
546 | 1 | Anonymous | }}} |
547 | 1 | Anonymous | |
548 | 1 | Anonymous | |
549 | 1 | Anonymous | |
550 | 1 | Anonymous | == MAUI == |
551 | 4 | Anonymous | |
552 | 1 | Anonymous | === Register new services === |
553 | 4 | Anonymous | Edit ''/etc/services'' and add at the end: |
554 | 4 | Anonymous | {{{ |
555 | 4 | Anonymous | # PBS/MAUI services |
556 | 1 | Anonymous | pbs_maui 42559/tcp # pbs scheduler (maui) |
557 | 1 | Anonymous | pbs_maui 42559/udp # pbs scheduler (maui) |
558 | 1 | Anonymous | }}} |
559 | 1 | Anonymous | |
560 | 4 | Anonymous | |
561 | 4 | Anonymous | === Setup and Configuration on the Head Node === |
562 | 4 | Anonymous | Extract and build the distribution MAUI. |
563 | 4 | Anonymous | {{{ |
564 | 4 | Anonymous | export MAUIDIR=/usr/local/maui |
565 | 4 | Anonymous | tar -xzvf MAUI.tar.gz |
566 | 1 | Anonymous | cd TORQUE |
567 | 4 | Anonymous | }}} |
568 | 4 | Anonymous | |
569 | 4 | Anonymous | Configuration for a 64bit machine with the following compiler options: |
570 | 18 | Anonymous | {{{ |
571 | 18 | Anonymous | FFLAGS = “-m64 -march=[Add Architecture] -O3 -fPIC" |
572 | 18 | Anonymous | CFLAGS = “-m64 -march=[Add Architecture] -O3 -fPIC" |
573 | 4 | Anonymous | CXXFLAGS = “-m64 -march=[Add Architecture] -O3 -fPIC" |
574 | 4 | Anonymous | LDFLAGS = “-L/usr/local/lib -L/usr/local/lib64" |
575 | 18 | Anonymous | }}} |
576 | 4 | Anonymous | Attention: For Intel Xenon processors use ''-march=nocona'', for AMD Opteron processors use ''-march=opteron''. |
577 | 4 | Anonymous | |
578 | 4 | Anonymous | Configure, build, and install: |
579 | 4 | Anonymous | {{{ |
580 | 4 | Anonymous | ./configure --with-pbs=$TORQUECFG --with-spooldir=$MAUIDIR |
581 | 4 | Anonymous | make |
582 | 1 | Anonymous | make install |
583 | 4 | Anonymous | }}} |
584 | 1 | Anonymous | |
585 | 4 | Anonymous | Fine-tune MAUI in $''MAUIDIR/maui.cfg'': |
586 | 1 | Anonymous | {{{ |
587 | 4 | Anonymous | SERVERHOST procksi0-priv.cs.nott.ac.uk |
588 | 4 | Anonymous | |
589 | 4 | Anonymous | # primary admin must be first in list |
590 | 1 | Anonymous | ADMIN1 procksi |
591 | 4 | Anonymous | ADMIN1 root |
592 | 4 | Anonymous | |
593 | 4 | Anonymous | # Resource Manager Definition |
594 | 4 | Anonymous | RMCFG[PROCKSI0-PRIV.CS.NOTT.AC.UK] |
595 | 4 | Anonymous | TYPE=PBS |
596 | 4 | Anonymous | HOST=PROCKSI0-PRIV.CS.NOTT.AC.UK |
597 | 4 | Anonymous | PORT=15001 |
598 | 4 | Anonymous | EPORT=15004 [CAN BE ALTERNATIVELY: 15017 - TRY!!!] |
599 | 1 | Anonymous | SERVERPORT 42559 |
600 | 4 | Anonymous | SERVERMODE NORMAL |
601 | 4 | Anonymous | |
602 | 4 | Anonymous | # Node Allocation: |
603 | 1 | Anonymous | NODEALLOCATIONPOLICY PRIORITY |
604 | 1 | Anonymous | NODECFG[DEFAULT] PRIORITY='- JOBCOUNT' |
605 | 4 | Anonymous | }}} |
606 | 4 | Anonymous | |
607 | 4 | Anonymous | Configure attributes of compute nodes: |
608 | 4 | Anonymous | {{{ |
609 | 4 | Anonymous | qmgr |
610 | 4 | Anonymous | > set node procksi0.cs.nott.ac.uk properties = “procksi, head" |
611 | 4 | Anonymous | > set node procksi1.cs.nott.ac.uk properties = “procksi, slave" |
612 | 1 | Anonymous | > set node procksi0.cs.nott.ac.uk properties = “procksi, slave" |
613 | 4 | Anonymous | }}} |
614 | 1 | Anonymous | |
615 | 4 | Anonymous | Request job to be run on specific nodes (on submission): |
616 | 4 | Anonymous | |
617 | 4 | Anonymous | * Run on any compute node: |
618 | 4 | Anonymous | {{{ |
619 | 4 | Anonymous | qsub -q batch -l nodes=1:procksi |
620 | 4 | Anonymous | }}} |
621 | 4 | Anonymous | * Run on any slave node: |
622 | 4 | Anonymous | {{{ |
623 | 4 | Anonymous | qsub -q batch -l nodes=1:slave |
624 | 4 | Anonymous | }}} |
625 | 4 | Anonymous | * Run on head node: |
626 | 4 | Anonymous | {{{ |
627 | 1 | Anonymous | qsub -q batch -l nodes=1:head |
628 | 4 | Anonymous | }}} |
629 | 1 | Anonymous | |
630 | 4 | Anonymous | Start the MAUI scheduler manually. Make sure that pbs_sched is not running any longer. |
631 | 4 | Anonymous | |
632 | 4 | Anonymous | * Start the scheduler: |
633 | 4 | Anonymous | {{{ |
634 | 1 | Anonymous | /usr/local/sbin/maui |
635 | 1 | Anonymous | }}} |
636 | 4 | Anonymous | |
637 | 4 | Anonymous | |
638 | 4 | Anonymous | Make the entire queueing system start at bootup: |
639 | 4 | Anonymous | {{{ |
640 | 4 | Anonymous | cp /home/procksi/latest/install/pbs_head-node /etc/init.d/pbs |
641 | 4 | Anonymous | /sbin/chkconfig --add pbs |
642 | 1 | Anonymous | /sbin/chkconfig pbs on |
643 | 1 | Anonymous | }}} |
644 | 1 | Anonymous | |
645 | 4 | Anonymous | |
646 | 1 | Anonymous | === Setup and Configuration on the Compute Nodes === |
647 | 1 | Anonymous | __Attention:__ If the head node is a compute node itself, do NOT proceed with the following steps as the head node was configured in the previous step! |
648 | 4 | Anonymous | |
649 | 4 | Anonymous | |
650 | 4 | Anonymous | Make the entire queueing system start at bootup: |
651 | 4 | Anonymous | {{{ |
652 | 4 | Anonymous | cp /home/procksi/latest/install/pbs_compute-node /etc/init.d/pbs |
653 | 4 | Anonymous | /sbin/chkconfig --add pbs |
654 | 1 | Anonymous | /sbin/chkconfig pbs on |
655 | 1 | Anonymous | }}} |
656 | 1 | Anonymous | |
657 | 1 | Anonymous | |
658 | 1 | Anonymous | = Cluster Monitoring = |
659 | 4 | Anonymous | |
660 | 1 | Anonymous | == Ganglia == |
661 | 14 | Anonymous | “Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids." |
662 | 14 | Anonymous | |
663 | 14 | Anonymous | * Download the latest release of the ''Ganglia Monitoring Core'' from [http://ganglia.sourceforge.net/ http://ganglia.sourceforge.net]. |
664 | 1 | Anonymous | * Install Ganglia into ''/usr/local/ganglia'', its web frontend into ''/usr/local/ganglia/html/', and its databases into ''/usr/local/ganglia/rrds/'. |
665 | 14 | Anonymous | * Install the ''Ganglia Monitoring Daemon'' (gmond) on each node, and the ''Ganglia Meta Daemon'' (gmetad) on the the head node. |
666 | 14 | Anonymous | |
667 | 14 | Anonymous | === Ganglia Monitoring Daemon === |
668 | 14 | Anonymous | * Configure the ''Ganglia Moditoring Daemon'' in ''/etc/gmond.conf'': |
669 | 14 | Anonymous | * Set the name of the cluster: |
670 | 14 | Anonymous | {{{ |
671 | 14 | Anonymous | cluster { |
672 | 14 | Anonymous | name = "ProCKSI" |
673 | 14 | Anonymous | } |
674 | 14 | Anonymous | }}} |
675 | 14 | Anonymous | * Set the IP address and port for multicast data exchange: |
676 | 14 | Anonymous | {{{ |
677 | 14 | Anonymous | udp_send_channel { |
678 | 14 | Anonymous | mcast_join = 239.2.11.71 |
679 | 14 | Anonymous | port = 8649 |
680 | 14 | Anonymous | } |
681 | 14 | Anonymous | udp_recv_channel { |
682 | 14 | Anonymous | mcast_join = 239.2.11.71 |
683 | 14 | Anonymous | port = 8649 |
684 | 14 | Anonymous | bind = 239.2.11.71 |
685 | 14 | Anonymous | } |
686 | 16 | Anonymous | }}} |
687 | 1 | Anonymous | * Add additional route for correct data exchange via multicast using the ''internal'' interface (''eth0''). Modify ''/etc/inid.d/gmond'': |
688 | 16 | Anonymous | {{{ |
689 | 16 | Anonymous | #Add multicast route to internal interface |
690 | 16 | Anonymous | /sbin/route add -host 239.2.11.71 dev eth0 |
691 | 16 | Anonymous | daemon $GMOND |
692 | 16 | Anonymous | }}} |
693 | 16 | Anonymous | {{{ |
694 | 16 | Anonymous | #Remove multicast route to internal interface |
695 | 16 | Anonymous | /sbin/route delete -host 239.2.11.71 dev eth0 |
696 | 14 | Anonymous | killproc gmond |
697 | 14 | Anonymous | }}} |
698 | 14 | Anonymous | * Make the Ganglia Monitoring Daemon start at bootup. |
699 | 14 | Anonymous | {{{ |
700 | 14 | Anonymous | /sbin/chkconfig gmond on |
701 | 14 | Anonymous | }}} |
702 | 14 | Anonymous | * Start the Ganglia Monitoring Daemon: |
703 | 14 | Anonymous | {{{ |
704 | 14 | Anonymous | /sbin/service gmond start |
705 | 14 | Anonymous | }}} |
706 | 14 | Anonymous | |
707 | 14 | Anonymous | === Ganglia Meta Daemon === |
708 | 14 | Anonymous | * Install and configure the ''Ganglia Meta Daeomn'' (gmetad) on the head node. |
709 | 14 | Anonymous | * Make the Ganglia Meta Daemon start at bootup. |
710 | 14 | Anonymous | {{{ |
711 | 14 | Anonymous | /sbin/chkconfig gmetad on |
712 | 14 | Anonymous | }}} |
713 | 14 | Anonymous | * Start the Meta Meta Daemon: |
714 | 14 | Anonymous | {{{ |
715 | 14 | Anonymous | /sbin/service gmetad start |
716 | 14 | Anonymous | }}} |
717 | 1 | Anonymous | |
718 | 6 | Anonymous | |
719 | 6 | Anonymous | |
720 | 6 | Anonymous | === Further Customisation === |
721 | 6 | Anonymous | In order to display more fine-grained time intervals, edit the following files in ''/usr/local/ganglia/html/'': |
722 | 6 | Anonymous | * '''header.php''' |
723 | 6 | Anonymous | {{{ |
724 | 6 | Anonymous | if (!$physical) { |
725 | 6 | Anonymous | $context_ranges[]="10 minutes"; |
726 | 6 | Anonymous | $context_ranges[]="20 minutes"; |
727 | 6 | Anonymous | $context_ranges[]="30 minutes"; |
728 | 6 | Anonymous | $context_ranges[]="1 hour"; |
729 | 6 | Anonymous | $context_ranges[]="2 hours"; |
730 | 6 | Anonymous | $context_ranges[]="4 hours"; |
731 | 6 | Anonymous | $context_ranges[]="8 hours"; |
732 | 6 | Anonymous | $context_ranges[]="12 hours"; |
733 | 6 | Anonymous | $context_ranges[]="1 day"; |
734 | 6 | Anonymous | $context_ranges[]="2 days"; |
735 | 6 | Anonymous | $context_ranges[]="week"; |
736 | 6 | Anonymous | $context_ranges[]="month"; |
737 | 6 | Anonymous | $context_ranges[]="year"; |
738 | 6 | Anonymous | }}} |
739 | 6 | Anonymous | |
740 | 6 | Anonymous | * '''get_context.php''' |
741 | 6 | Anonymous | {{{ |
742 | 6 | Anonymous | switch ($range) { |
743 | 6 | Anonymous | case "10 minutes": $start = -600; break; |
744 | 6 | Anonymous | case "20 minutes": $start = -1200; break; |
745 | 6 | Anonymous | case "30 minutes": $start = -1800; break; |
746 | 6 | Anonymous | case "1 hour": $start = -3600; break; |
747 | 6 | Anonymous | case "2 hours": $start = -7200; break; |
748 | 6 | Anonymous | case "4 hours": $start = -14400; break; |
749 | 6 | Anonymous | case "8 hours": $start = -28800; break; |
750 | 6 | Anonymous | case "12 hours": $start = -43200; break; |
751 | 6 | Anonymous | case "1 day": $start = -86400; break; |
752 | 6 | Anonymous | case "2 days": $start = -172800; break; |
753 | 6 | Anonymous | case "week": $start = -604800; break; |
754 | 6 | Anonymous | case "month": $start = -2419200; break; |
755 | 1 | Anonymous | case "year": $start = -31449600; break; |
756 | 1 | Anonymous | }}} |
757 | 1 | Anonymous | |
758 | 4 | Anonymous | |
759 | 1 | Anonymous | == !JobMonarch == |
760 | 4 | Anonymous | !JobMonarch is an add-on to Ganglia which provides PBS job monitoring through the web browser. |
761 | 1 | Anonymous | |
762 | 1 | Anonymous | See [http://subtrac.rc.sara.nl/oss/jobmonarch/wiki/Documentation http://subtrac.rc.sara.nl/oss/jobmonarch/wiki/Documentation] for information on requirements, configuration and installation. |
763 | 1 | Anonymous | |
764 | 1 | Anonymous | |
765 | 1 | Anonymous | = Additional Software = |
766 | 1 | Anonymous | |
767 | 1 | Anonymous | == PERL Libraries == |
768 | 1 | Anonymous | Please make sure that the following libraries are installed in the official library directory and install all depending libraries, if necessary. For ''Image::Magick'', use the corresponding libraries that come with the main installation. |
769 | 1 | Anonymous | |
770 | 18 | Anonymous | |
771 | 18 | Anonymous | ||Error|| 0.17008 |
772 | 18 | Anonymous | ||Config::Simple||4.58 |
773 | 18 | Anonymous | ||DBI||1.53||Remember to install DBD::mysql from the OS sources, too! |
774 | 18 | Anonymous | ||CGI||3.25 |
775 | 18 | Anonymous | ||CGI::Session||4.13 |
776 | 18 | Anonymous | ||Data::!FormValidator||4.40 |
777 | 18 | Anonymous | ||HTML::Template||2.8 |
778 | 18 | Anonymous | ||HTML::Template::Pro||0.64 |
779 | 18 | Anonymous | ||MIME::Lite|| |
780 | 18 | Anonymous | ||!FreezeThaw|| |
781 | 18 | Anonymous | ||Storable|| |
782 | 18 | Anonymous | ||Time::Format|| |
783 | 18 | Anonymous | ||IMAP::Client|| |
784 | 18 | Anonymous | ||Time::Local|| |
785 | 18 | Anonymous | ||Clone|| |
786 | 18 | Anonymous | ||SOAP::Lite|| |
787 | 1 | Anonymous | ||Inline::Python|| |
788 | 1 | Anonymous | |
789 | 4 | Anonymous | |
790 | 4 | Anonymous | PERL modules are installed best with the CPAN shell: |
791 | 4 | Anonymous | {{{ |
792 | 1 | Anonymous | perl -MCPAN -eshell |
793 | 1 | Anonymous | }}} |
794 | 1 | Anonymous | |
795 | 1 | Anonymous | |
796 | 1 | Anonymous | |
797 | 1 | Anonymous | |
798 | 4 | Anonymous | == Third Party Executables for ProCKSI == |
799 | 4 | Anonymous | Generate the following directories on each compute node to contain important executables: |
800 | 5 | Anonymous | {{{ |
801 | 4 | Anonymous | /usr/local/procksi/Cluster/ |
802 | 5 | Anonymous | /usr/local/procksi/DaliLite |
803 | 4 | Anonymous | /usr/local/procksi/MaxCMO |
804 | 1 | Anonymous | /usr/local/procksi/MolScript |
805 | 1 | Anonymous | }}} |
806 | 4 | Anonymous | |
807 | 4 | Anonymous | For the following installation of the ProCKSI server components, the following executables must be present: |
808 | 5 | Anonymous | {{{ |
809 | 4 | Anonymous | /usr/local/procksi/Cluster/qclust |
810 | 4 | Anonymous | /usr/local/procksi/DaliLite/DaliLite |
811 | 4 | Anonymous | /usr/local/procksi/MaxCMO/ProtCompVNS |
812 | 4 | Anonymous | /usr/local/procksi/molauto |
813 | 1 | Anonymous | /usr/local/procksi/molscript |
814 | 1 | Anonymous | }}} |
815 | 1 | Anonymous | |
816 | 1 | Anonymous | |
817 | 1 | Anonymous | == Image Software == |
818 | 4 | Anonymous | |
819 | 4 | Anonymous | === Installation === |
820 | 1 | Anonymous | * Install ''!ImageMagick'' from [http://www.imagemagick.org www.imagemagick.org] if not already installed. |
821 | 1 | Anonymous | * Install ''!MolScript'' from [http://www.avatar.se/molscript www.avatar.se/molscript]. Please link the MesaGL libraries instead of the OpenGL libraries; a modified makefile can be found under [source:ProCKSI/install/Makefile.molscript] |
822 | 1 | Anonymous | |
823 | 1 | Anonymous | |
824 | 1 | Anonymous | |
825 | 1 | Anonymous | === Virtual Display === |
826 | 1 | Anonymous | !MolScript needs an X display in order to generate images (jpg, gif, …). Its possible to use the console X display for the OpenGL bits even if it is not logged in. Therefore, ''procksi'' must be authenticated and allowed to use this X display virtually. |
827 | 19 | Anonymous | |
828 | 1 | Anonymous | Get and unpack the ProCKSI x-authentication patch from [repos:Externals/Cluster/xauth.tgz]. |
829 | 4 | Anonymous | |
830 | 4 | Anonymous | On each node copy magic cookie file for x-authentication: |
831 | 19 | Anonymous | {{{ |
832 | 1 | Anonymous | cp :0.Xauth /var/gdm/:0.Xauth |
833 | 1 | Anonymous | }}} |
834 | 4 | Anonymous | |
835 | 4 | Anonymous | On each node copy scripts for automatic x-authentication: |
836 | 19 | Anonymous | {{{ |
837 | 19 | Anonymous | cp procksixauth /usr/local/sbin/procksixauth |
838 | 1 | Anonymous | cp :0 /etc/gdm/Init/:0 |
839 | 1 | Anonymous | }}} |
840 | 4 | Anonymous | |
841 | 4 | Anonymous | Restart the X display manager for the changes to take effect: |
842 | 4 | Anonymous | {{{ |
843 | 1 | Anonymous | /usr/sbin/gdm-restart |
844 | 1 | Anonymous | }}} |
845 | 4 | Anonymous | |
846 | 4 | Anonymous | |
847 | 4 | Anonymous | The virtual X display can be used with unix socket '':0'', e.g.: |
848 | 4 | Anonymous | {{{ |
849 | 1 | Anonymous | molauto protein.pdb | DISPLAY=unix:0.0 molscript -jpeg -out protein.jpeg |
850 | 1 | Anonymous | }}} |
851 | 1 | Anonymous | |
852 | 1 | Anonymous | |
853 | 1 | Anonymous | = ProCKSI Server Component = |
854 | 1 | Anonymous | |
855 | 1 | Anonymous | == Installation and Basic Configuration == |
856 | 1 | Anonymous | This section describes the installation and configuration of the ProCKSI server component. This includes the configuration of the web server and the database. |
857 | 1 | Anonymous | |
858 | 1 | Anonymous | The server component will be installed into the home directory of the user ''procksi''. Therefore, make sure that it is on a separate partition / hard disk with much space. In the best case, this will be a RAID system. |
859 | 4 | Anonymous | |
860 | 4 | Anonymous | Get the latest release of the server component, referred to in the following as ''RELEASE'', and extract it into ''/home/procksi/RELEASE.'' |
861 | 4 | Anonymous | {{{ |
862 | 1 | Anonymous | tar -xvzf RELEASE.tgz |
863 | 1 | Anonymous | }}} |
864 | 4 | Anonymous | |
865 | 4 | Anonymous | Create a softlink from ''RELEASE'' to a generic directory ''/home/procksi/latest''. This will be accessed by the web server: |
866 | 4 | Anonymous | {{{ |
867 | 1 | Anonymous | ln -s /home/procksi/RELEASE /home/procksi/latest |
868 | 1 | Anonymous | }}} |
869 | 4 | Anonymous | |
870 | 4 | Anonymous | In order to test new versions, referred in the following as ''TEST'', before taking them officially online, create a softlink from ''TEST'' to a generic directory ''/home/procksi/test''. This will be accessed by the web server: |
871 | 4 | Anonymous | {{{ |
872 | 1 | Anonymous | ln -s /home/procksi/TEST /home/procksi/test |
873 | 1 | Anonymous | }}} |
874 | 1 | Anonymous | |
875 | 1 | Anonymous | In case that you want to bring the test version online, just delete the softlinks and repeat the previous steps for the new release. Please make sure that always both softlinks exist! |
876 | 4 | Anonymous | |
877 | 4 | Anonymous | Change into the administrative directory and run the installation script. Change the server settings, database settings and directory settings if necessary. |
878 | 4 | Anonymous | {{{ |
879 | 4 | Anonymous | cd /home/procksi/latest/admin |
880 | 1 | Anonymous | ./configure.pl |
881 | 1 | Anonymous | }}} |
882 | 1 | Anonymous | |
883 | 1 | Anonymous | |
884 | 4 | Anonymous | == Database Configuration == |
885 | 4 | Anonymous | Make sure that the MySQL daemon is running, and that it will start at boot time: |
886 | 4 | Anonymous | {{{ |
887 | 4 | Anonymous | /sbin/service mysqld start |
888 | 4 | Anonymous | /sbin/chkconfig --add mysqld |
889 | 1 | Anonymous | /sbin/chkconfig mysqld on |
890 | 1 | Anonymous | }}} |
891 | 4 | Anonymous | |
892 | 4 | Anonymous | Make sure that you have access to the MySQL database management as ''root'' and login as user ''root ''with the corresponding password: |
893 | 4 | Anonymous | {{{ |
894 | 1 | Anonymous | mysql -u root -p |
895 | 1 | Anonymous | }}} |
896 | 4 | Anonymous | |
897 | 4 | Anonymous | Create new mysql users ''procksi_user ''and ''procksi_admin'': |
898 | 4 | Anonymous | {{{ |
899 | 4 | Anonymous | USE mysql; |
900 | 4 | Anonymous | INSERT INTO user SET host='localhost', user='procksi_user', password=PASSWORD('''password_procksi_user'''); |
901 | 4 | Anonymous | INSERT INTO user SET host='localhost', user='procksi_admin', password=PASSWORD('''password_procksi_admin'''); |
902 | 1 | Anonymous | FLUSH PRIVILEGES; |
903 | 4 | Anonymous | }}} |
904 | 1 | Anonymous | |
905 | 1 | Anonymous | Repeat these steps analogously for ''procksi0-priv'', ''procksi1-priv'', and ''procksi2-priv.'' |
906 | 1 | Anonymous | |
907 | 1 | Anonymous | |
908 | 4 | Anonymous | |
909 | 4 | Anonymous | Create a new database: |
910 | 4 | Anonymous | {{{ |
911 | 1 | Anonymous | CREATE DATABASE procksi_latest; |
912 | 1 | Anonymous | }}} |
913 | 1 | Anonymous | |
914 | 4 | Anonymous | |
915 | 4 | Anonymous | Give privileges to users ''procksi_user ''and ''procksi_admin'' for all compute nodes: |
916 | 4 | Anonymous | {{{ |
917 | 4 | Anonymous | GRANT ALL ON procksi_latest.* TO procksi_admin@localhost WITH GRANT OPTION; |
918 | 4 | Anonymous | GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* TO procksi_user@localhost; |
919 | 4 | Anonymous | GRANT ALL ON procksi_latest.* TO procksi_admin@procksi0.cs.nott.ac.uk WITH GRANT OPTION; |
920 | 4 | Anonymous | GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* TO procksi_user@procksi0.cs.nott.ac.uk; |
921 | 4 | Anonymous | GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* TO procksi_user@procksi1.cs.nott.ac.uk; |
922 | 4 | Anonymous | GRANT SELECT, UPDATE, INSERT, DELETE ON procksi_latest.* TO procksi_user@procksi2.cs.nott.ac.uk; |
923 | 1 | Anonymous | FLUSH PRIVILEGES; |
924 | 1 | Anonymous | }}} |
925 | 1 | Anonymous | |
926 | 1 | Anonymous | If you change the password for ''procksi_user'', please make sure that you also change it in ''/home/procksi/latest/config/main.ini'' |
927 | 4 | Anonymous | |
928 | 4 | Anonymous | Import the main database ''procksi_latest'' from the backup given in ''/home/procksi/RELEASE/admin'': |
929 | 4 | Anonymous | {{{ |
930 | 1 | Anonymous | msysql -u procksi_admin -p procksi_latest < procksi_latest.sql |
931 | 1 | Anonymous | }}} |
932 | 1 | Anonymous | |
933 | 1 | Anonymous | In order to create a database ''procksi_test'' for the test version, repeat the previous steps and set the privileges accordingly. |
934 | 1 | Anonymous | |
935 | 1 | Anonymous | |
936 | 1 | Anonymous | |
937 | 1 | Anonymous | == Web Server Configuration == |
938 | 4 | Anonymous | Make the following changes to the Apache configuration file (''/etc/httpd/conf/httpd.conf''): |
939 | 4 | Anonymous | {{{ |
940 | 4 | Anonymous | User procksi |
941 | 4 | Anonymous | Group procksi |
942 | 4 | Anonymous | ServerAdmin procksi@cs.nott.ac.uk |
943 | 4 | Anonymous | ServerName procksi.cs.nott.ac.uk |
944 | 4 | Anonymous | DocumentRoot /home/procksi/latest/html |
945 | 4 | Anonymous | <Directory /home/procksi/latest/html"> |
946 | 4 | Anonymous | AllowOverride AuthConfig |
947 | 4 | Anonymous | </Directory> |
948 | 4 | Anonymous | LogFormat "%t %h %l %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined |
949 | 4 | Anonymous | LogFormat "%t %h %l %u \"%r\" %>s %b" common |
950 | 1 | Anonymous | LogFormat "%t %{Referer}i -> %U" referer |
951 | 4 | Anonymous | LogFormat "%t %{User-agent}i" agent |
952 | 4 | Anonymous | |
953 | 1 | Anonymous | #Exclude Logging of Ganglia Requests |
954 | 4 | Anonymous | SetEnvIf Request_URI "ganglia" ganglia |
955 | 4 | Anonymous | |
956 | 4 | Anonymous | # |
957 | 4 | Anonymous | # The location and format of the access logfile (Common Logfile Format). |
958 | 4 | Anonymous | # If you do not define any access logfiles within a <VirtualHost> |
959 | 4 | Anonymous | # container, they will be logged here. Contrariwise, if you *do* |
960 | 4 | Anonymous | # define per-<VirtualHost> access logfiles, transactions will be |
961 | 1 | Anonymous | # logged therein and *not* in this file. |
962 | 5 | Anonymous | # |
963 | 1 | Anonymous | |
964 | 4 | Anonymous | CustomLog /home/procksi/latest/logs/access.log common env=!ganglia |
965 | 4 | Anonymous | |
966 | 4 | Anonymous | # |
967 | 4 | Anonymous | # If you would like to have agent and referer logfiles, uncomment the |
968 | 1 | Anonymous | # following directives. |
969 | 4 | Anonymous | # |
970 | 4 | Anonymous | |
971 | 1 | Anonymous | CustomLog /home/procksi/latest/logs/referer.log referer env=!ganglia |
972 | 4 | Anonymous | CustomLog /home/procksi/latest/logs/agent.log agent env=!ganglia |
973 | 4 | Anonymous | |
974 | 4 | Anonymous | # |
975 | 4 | Anonymous | # For a single logfile with access, agent, and referer information |
976 | 4 | Anonymous | # (Combined Logfile Format), use the following directive: |
977 | 1 | Anonymous | # |
978 | 4 | Anonymous | #CustomLog logs/access_log combined env=!ganglia |
979 | 1 | Anonymous | |
980 | 4 | Anonymous | ScriptAlias /cgi-bin/ /home/procksi/latest/cgi-bin/ |
981 | 4 | Anonymous | |
982 | 4 | Anonymous | <Directory "/home/procksi/latest/cgi-bin"> |
983 | 4 | Anonymous | AllowOverride None |
984 | 4 | Anonymous | Options None |
985 | 4 | Anonymous | Order allow,deny |
986 | 1 | Anonymous | Allow from all |
987 | 4 | Anonymous | </Directory> |
988 | 4 | Anonymous | |
989 | 4 | Anonymous | Alias /data/ /home/procksi/latest/data/ |
990 | 4 | Anonymous | Alias /images/ /home/procksi/latest/images/ |
991 | 4 | Anonymous | Alias /styles/ /home/procksi/latest/styles/ |
992 | 7 | Anonymous | Alias /applets/ /home/procksi/latest/applets/ |
993 | 7 | Anonymous | Alias /scripts/ /home/procksi/latest/scripts/ |
994 | 7 | Anonymous | Alias /ganglia/ /usr/local/ganglia/html/ |
995 | 7 | Anonymous | |
996 | 1 | Anonymous | #Redirection |
997 | 4 | Anonymous | Redirect /trac https://psiren.cs.nott.ac.uk/projects/procksi/ |
998 | 4 | Anonymous | |
999 | 4 | Anonymous | AddLanguage de .de |
1000 | 4 | Anonymous | AddLanguage en .en |
1001 | 4 | Anonymous | AddLanguage es .es |
1002 | 1 | Anonymous | AddLanguage fr .fr |
1003 | 4 | Anonymous | LanguagePriority en es de fr |
1004 | 4 | Anonymous | |
1005 | 4 | Anonymous | Alias /errordocs/ "/home/procksi/errordocs" |
1006 | 4 | Anonymous | <IfModule mod_negotiation.c> |
1007 | 4 | Anonymous | <IfModule mod_include.c> |
1008 | 4 | Anonymous | <Directory /home/procksi/errordocs> |
1009 | 4 | Anonymous | AllowOverride none |
1010 | 4 | Anonymous | Options MultiViews IncludesNoExec FollowSymLinks |
1011 | 5 | Anonymous | AddType text/html .shtml |
1012 | 4 | Anonymous | <FilesMatch "\.shtml[.$]"> |
1013 | 4 | Anonymous | SetOutputFilter INCLUDES |
1014 | 1 | Anonymous | </FilesMatch> |
1015 | 4 | Anonymous | </Directory> |
1016 | 4 | Anonymous | |
1017 | 4 | Anonymous | ErrorDocument 400 /errordocs/400_BAD_REQUEST |
1018 | 4 | Anonymous | ErrorDocument 401 /errordocs/401_UNAUTHORIZED |
1019 | 4 | Anonymous | ErrorDocument 403 /errordocs/403_FORBIDDEN |
1020 | 4 | Anonymous | ErrorDocument 404 /errordocs/404_NOT_FOUND |
1021 | 4 | Anonymous | ErrorDocument 405 /errordocs/405_METHOD_NOT_ALLOWED |
1022 | 4 | Anonymous | ErrorDocument 406 /errordocs/406_NOT_ACCEPTABLE |
1023 | 4 | Anonymous | ErrorDocument 408 /errordocs/408_REQUEST_TIMEOUT |
1024 | 4 | Anonymous | ErrorDocument 410 /errordocs/410_GONE |
1025 | 4 | Anonymous | ErrorDocument 411 /errordocs/411_LENGTH_REQUIRED |
1026 | 4 | Anonymous | ErrorDocument 412 /errordocs/412_PRECONDITION_FAILED |
1027 | 4 | Anonymous | ErrorDocument 413 /errordocs/413_REQUEST_ENTITY_TOO_LARGE |
1028 | 4 | Anonymous | ErrorDocument 414 /errordocs/414_REQUEST_URI_TOO_LARGE |
1029 | 4 | Anonymous | ErrorDocument 415 /errordocs/415_UNSUPPORTED_MEDIA_TYPE |
1030 | 4 | Anonymous | ErrorDocument 500 /errordocs/500_INTERNAL_SERVER_ERROR |
1031 | 4 | Anonymous | ErrorDocument 501 /errordocs/501_NOT_IMPLEMENTED |
1032 | 4 | Anonymous | ErrorDocument 502 /errordocs/502_BAD_GATEWAY |
1033 | 4 | Anonymous | ErrorDocument 503 /errordocs/503_SERVICE_UNAVAILABLE |
1034 | 4 | Anonymous | ErrorDocument 506 /errordocs/506_VARIANT_ALSO_VARIES |
1035 | 1 | Anonymous | </IfModule> |
1036 | 4 | Anonymous | </IfModule> |
1037 | 4 | Anonymous | |
1038 | 4 | Anonymous | <Location /server-status> |
1039 | 4 | Anonymous | SetHandler server-status |
1040 | 4 | Anonymous | Order deny,allow |
1041 | 4 | Anonymous | Deny from all |
1042 | 1 | Anonymous | Allow from .cs.nott.ac.uk |
1043 | 4 | Anonymous | </Location> |
1044 | 4 | Anonymous | |
1045 | 4 | Anonymous | <Location /server-info> |
1046 | 4 | Anonymous | SetHandler server-info |
1047 | 4 | Anonymous | Order deny,allow |
1048 | 4 | Anonymous | Deny from all |
1049 | 1 | Anonymous | Allow from .cs.nott.ac.uk |
1050 | 1 | Anonymous | </Location> |
1051 | 4 | Anonymous | }}} |
1052 | 4 | Anonymous | |
1053 | 4 | Anonymous | Make sure that the server accepts connections to port 80. Check the firewall settings in ''/etc/sysconfig/iptables'' for the following entry: |
1054 | 4 | Anonymous | {{{ |
1055 | 1 | Anonymous | -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT |
1056 | 1 | Anonymous | }}} |
1057 | 1 | Anonymous | |
1058 | 4 | Anonymous | |
1059 | 4 | Anonymous | Make sure that the apache daemon is running, and that it will start at boot time: |
1060 | 4 | Anonymous | {{{ |
1061 | 4 | Anonymous | /sbin/service httpd start |
1062 | 4 | Anonymous | /sbin/chkconfig --add httpd |
1063 | 1 | Anonymous | /sbin/chkconfig httpd on |
1064 | 1 | Anonymous | }}} |
1065 | 1 | Anonymous | |
1066 | 1 | Anonymous | |
1067 | 1 | Anonymous | |
1068 | 1 | Anonymous | == Email Configuration == |
1069 | 1 | Anonymous | The ProCKSI server component send emails to the user for several occasions. In order to make sure that they are delivered correctly even when the internet is temporarily not available, a local SMTP server (''postfix'') is set up. This will accect emails from the private network only, store them temporarily (if necessary), and forward them to an email relay server. |
1070 | 1 | Anonymous | |
1071 | 1 | Anonymous | |
1072 | 4 | Anonymous | |
1073 | 4 | Anonymous | Make sure that ''postfix'' is the default mailing software (and not ''sendmail''!). |
1074 | 4 | Anonymous | {{{ |
1075 | 1 | Anonymous | system-switch-mail -activate postfix |
1076 | 1 | Anonymous | }}} |
1077 | 1 | Anonymous | |
1078 | 4 | Anonymous | Make the following changes to the ''postfix ''configuration file (''/etc/postfix/main.cf''): |
1079 | 4 | Anonymous | {{{ |
1080 | 4 | Anonymous | myhostname = procksi0.cs.nott.ac.uk |
1081 | 4 | Anonymous | mydomain = cs.nott.ac.uk |
1082 | 5 | Anonymous | myorigin = $mydomai |
1083 | 4 | Anonymous | inet_interfaces = all |
1084 | 4 | Anonymous | mydestination = $myhostname, localhost.$mydomain, localhost |
1085 | 4 | Anonymous | mynetworks_style = subnet |
1086 | 1 | Anonymous | virtual_alias_maps = hash:/etc/postfix/virtual |
1087 | 1 | Anonymous | relayhost = marian.cs.nott.ac.uk |
1088 | 4 | Anonymous | }}} |
1089 | 1 | Anonymous | |
1090 | 4 | Anonymous | Create or modify ''/etc/postfix/virtual'': |
1091 | 4 | Anonymous | {{{ |
1092 | 4 | Anonymous | root root@localhost |
1093 | 1 | Anonymous | postmaster postmaster@localhost |
1094 | 1 | Anonymous | adm root@localhost |
1095 | 1 | Anonymous | }}} |
1096 | 4 | Anonymous | |
1097 | 4 | Anonymous | Generate the corresponding database file (''virtual.db''): |
1098 | 4 | Anonymous | {{{ |
1099 | 1 | Anonymous | postmap /etc/postfix/virtual |
1100 | 1 | Anonymous | }}} |
1101 | 4 | Anonymous | |
1102 | 4 | Anonymous | Make sure that the postfix daemon is running, and that it will start at boot time: |
1103 | 4 | Anonymous | {{{ |
1104 | 4 | Anonymous | /sbin/service postfix start |
1105 | 4 | Anonymous | /sbin/chkconfig --add postfix |
1106 | 1 | Anonymous | /sbin/chkconfig postfix on |
1107 | 1 | Anonymous | }}} |
1108 | 1 | Anonymous | |
1109 | 1 | Anonymous | Make sure that the firewall is not open for port 25 or port 28! |
1110 | 1 | Anonymous | |
1111 | 1 | Anonymous | Check that the STMTP server in ''/home/procksi/latest/conf/main.ini'' is set correctly set to ''procksi0.cs.nott.ac.uk'' |
1112 | 1 | Anonymous | |
1113 | 1 | Anonymous | |
1114 | 1 | Anonymous | |
1115 | 1 | Anonymous | == Garbage Cleanup Scheduling == |
1116 | 1 | Anonymous | After a certain period of time, given in ''/home/procksi/latest/conf/main.ini'', sessions and requests expire and must be deleted. |
1117 | 1 | Anonymous | |
1118 | 4 | Anonymous | Edit ''procksi's'' crontab file taking effect for the ''latest'' and ''test'' version: |
1119 | 4 | Anonymous | {{{ |
1120 | 4 | Anonymous | crontab -e |
1121 | 4 | Anonymous | 0-59/1 * * * * /home/procksi/latest/cron/check_sessions.sh |
1122 | 1 | Anonymous | 1-59/1 * * * * /home/procksi/latest/cron/check_tasks.sh |
1123 | 1 | Anonymous | 2-59/1 * * * * /home/procksi/latest/cron/check_requests.sh |
1124 | 4 | Anonymous | }}} |
1125 | 1 | Anonymous | |
1126 | 1 | Anonymous | Analogously for ''/home/procksi/test''. |
1127 | 1 | Anonymous | |
1128 | 1 | Anonymous | |
1129 | 1 | Anonymous | |
1130 | 4 | Anonymous | == Linking External Software == |
1131 | 4 | Anonymous | Make sure that all links in ''/home/procksi/latest/bin'' point to the correct files of the operating system: |
1132 | 4 | Anonymous | {{{ |
1133 | 1 | Anonymous | sh, compress, bzip2, gzip, zip, ppmz, qsub |
1134 | 1 | Anonymous | }}} |
1135 | 1 | Anonymous | |
1136 | 4 | Anonymous | |
1137 | 1 | Anonymous | Make sure that all further executable links in ''/home/procksi/latest/bin'' point to the correct files on the file system: |
1138 | 4 | Anonymous | {{{ |
1139 | 1 | Anonymous | exec_cluster, exec_!DaliLite, exec_MaxCMO, exec_molauto, exec_molscript |
1140 | 1 | Anonymous | }}} |