logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

[SSI] openssi/docs/debian README.ntp,NONE,1.1 README.upgrade,NONE,1.1: msg#00107

Subject: [SSI] openssi/docs/debian README.ntp,NONE,1.1 README.upgrade,NONE,1.1
Update of /cvsroot/ssic-linux/openssi/docs/debian
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16109/debian

Added Files:
        README.ntp README.upgrade 
Log Message:
Reorganization of openssi/docs to be common across all distro branches


--- NEW FILE: README.ntp ---
This versions was originally written for RedHat, but has had some
changes added for Debian. Volunteers are welcome to fully "Debian-ize"
it.

The README assumes that ntp was configured on the original
installation node and that ssi has been installed.

NOTE:   I am trying these things out as I write this, for the most
part, but your mileage may vary.

NOTE:   Once you perform the following procedures, the Red Hat
"dateconfig" GUI cannot be used to change the ntp settings.

NOTE:   All shell commands are for bash.

First, make sure ntp is off.

        /sbin/service ntpd off

Second, we may need to use ntp authentication, so generate the ntp
keys file.

        /usr/sbin/ntp-genkeys -f

Third, each node will need an individual "drift" file. Edit your
ntp.conf and make sure there is a driftfile line like the following:

        driftfile /var/lib/ntp/drift

If the directory /var/lib/ntp already exists:

        mkdir -p /cluster/node\{nodenum\}/var/lib
        mv /var/lib/ntp /cluster/node\{nodenum\}/var/lib

Make /cluster/node<node>/var/lib/ directories for all the nodes in the cluster.
Note for Debian users, there may be no ntp user or group.

        ( cd /cluster; for d in node*; do
        mkdir -p $d/var/lib/ntp; chown ntp:ntp $d/var/lib/ntp; 
        chmod 0755 $d/var/lib/ntp; done )
 
Make a context-symlink in /var/lib for the ntp directory:

        ln -s /cluster/node\{nodenum\}/var/lib/ntp /var/lib/ntp

*** Configuration #1: All nodes have access to an external timeserver

This is a very straightforward configuration. All nodes use the same
configuration files with the exception of the drift file we have
already set up.

Edit your /etc/ntp.conf file:

        Assuming your ICS network is 192.168.0.0/255.255.255.0, add the
        following lines to /cluster/etc/ntp.conf (The key can be any
        one of the keys generated in /etc/ntp/keys by ntp-genkeys.):

        restrict 192.168.0.0 mask 255.255.255.0
        broadcast 192.168.0.255 key 1
        broadcastclient
        trustedkey 1
        requestkey 1

        This allows all the machines on the ICS network for to use the
        machine as a broadcast server and all nodes in the cluster to
        use the other's idea of the time. The "requestkey" line is
        needed so a script can modify the server configuration on the fly.

        If the following lines are present in the ntp.conf, they should be
        deleted or commented out:

        server  127.127.1.0     # local clock
        fudge   127.127.1.0 stratum 10

        This lines allow ntpd to use the local clock as a time source
        that ntp clients can synchronize to. We want only one node in
        the cluster to have this setting at any given time: the
        current CLMS master. A script named ssi-ntpsetrefclk will
        be run from /etc/rc.d/rc and /etc/rc.d/rc.sysrecover to set
        the local clock as a reference clock.

Add the ICS addresses for all the nodes to
/cluster/etc/ntp/step-tickers. (Any external servers should already be there.)

Start ntp

        /sbin/service ntpd start

        Assuming your networking is setup correctly, you should see a series
        of messages similar to the following:

        (node 1)
        ntpd: Synchronizing with time server:                      [  OK  ]
        Starting ntpd:                                             [  OK  ]
        (node 2)
        ntpd: Synchronizing with time server:                      [  OK  ]
        Starting ntpd:                                             [  OK  ]


*** Configuration #2: A limited number of nodes have access to the external
time server. The nodes with the external access should synchronize to
the external clocks; all other nodes should synchronize with those
nodes via the ICS network.

For the nodes in communication with the external network, you need one
ntp.conf file; for the nodes that are only on the internal network you
need another. This means we need another set of context-symlinks.

        mv /etc/ntp.conf /cluster/etc
        ln -s /cluster/node\{nodenum\}/etc/ntp.conf /etc/ntp.conf


Set up /cluster/etc/ntp.conf as for #1.  This ntp.conf file is used only by 
the nodes with access to the external time servers. (Note: all possible CLMS 
masters must have external access for things to work properly.)  For the 
step-tickers file, add the ICS addresses of only those nodes that can talk to 
the external servers.  Note Debian does not use step-tickers.  See below.  

Copy the /cluster/etc/ntp.conf to /cluster/etc/ntp.conf.dep and remove
the lines referring to external servers and the "broadcast" line and
the "requestkey" line. (The "broadcastclient" line is still required.)
This ntp.conf will be used by nodes without external access. (These
nodes are ntp clients only.)

For each node that has access to an external time server:

        ln -s /cluster/etc/ntp.conf /cluster/node<number>/etc/ntp.conf

For example node 1:

        ln -s /cluster/etc/ntp.conf /cluster/node1/etc/ntp.conf

For all nodes that do not have access to the external time servers:

        ln -s /cluster/etc/ntp.conf.dep /cluster/node<number>/etc/ntp.conf

Also, assuming that any node now added to the cluster will not have
access to the external network, make the following symlink as well.

        ln -s /cluster/etc/ntp.conf.dep /cluster/nodetemplate/etc/ntp.conf

All new nodes will get this symlink when they are added.

RedHat passes the servers in the step-tickers file to the ntpdate
command and uses it to set the time on boot. The ntp-server on the
CLMS master will take approximately 1 minute to stabilize. During this
window, nodes joining the cluster will get the following error:

        ntpd: Synchronizing with time server:                   [FAILED]

The time on the node should have been set within a second by via the
ssi-timesync script and ntpd should begin to correct the time once the
server on the CLMS master node becomes ready.

For Debian, there is no step-tickers file.  Make sure the ntpdate package is 
installed, and update the /etc/default/ntp-servers with your favorite 
timeserver.  
Add "ntpdate initnode Y" to /etc/rc.nodeinfo.

##################################################
### begin Debian ntp.conf for Configuration #2 ###
##################################################
# /etc/ntp.conf, configuration for ntpd

broadcast 192.168.0.255 ttl 6
restrict 192.168.0.0 mask 255.255.255.0

# ntpd will use syslog() if logfile is not defined
logfile /var/log/ntpd

driftfile /var/lib/ntp/ntp.drift
#statsdir /var/log/ntpstats/

#statistics loopstats peerstats clockstats
#filegen loopstats file loopstats type day enable
#filegen peerstats file peerstats type day enable
#filegen clockstats file clockstats type day enable

### lines starting 'server' are auto generated,
### use dpkg-reconfigure to modify those lines.

server 127.127.1.0     # local clock
fudge  127.127.1.0 stratum 10

# Need a few external sources before your own server 
# believes in its own time serving capabilities
server time_server_01
server time_server_02
server time_server_03

authenticate yes
keys    /var/lib/ntp/ntp.keys
################################################
### end Debian ntp.conf for Configuration #2 ###
################################################

######################################################
### begin Debian ntp.conf.dep for Configuration #2 ###
######################################################
# /etc/ntp.conf, configuration for ntpd

broadcastclient

# ntpd will use syslog() if logfile is not defined
logfile /var/log/ntpd

driftfile /var/lib/ntp/ntp.drift
#statsdir /var/log/ntpstats/

#statistics loopstats peerstats clockstats
#filegen loopstats file loopstats type day enable
#filegen peerstats file peerstats type day enable
#filegen clockstats file clockstats type day enable

### lines starting 'server' are auto generated,
### use dpkg-reconfigure to modify those lines.

#server 127.127.1.0     # local clock
#fudge  127.127.1.0 stratum 10

authenticate yes
keys    /var/lib/ntp/ntp.keys
####################################################
### end Debian ntp.conf.dep for Configuration #2 ###
####################################################


Wait about five minutes, and check your initnode with ntpq:

# ntpq

ntpq> pe
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 192.168.0.255   0.0.0.0         16 -    -   64    0    0.000    0.000 4000.00
 LOCAL(0)        LOCAL(0)        10 l   39   64  377    0.000    0.000   0.008
+cudns.cit.corne gps1.tns.its.ps  2 u   98  256  377   46.723   -7.012   5.960
+louie.udel.edu  huey.udel.edu    2 u   27  256  377   23.131   -1.695   0.874
*ns1.usg.edu     ntp0.mcs.anl.go  2 u  229  256  377   35.252   -4.181   3.286

ntpq> as
ind assID status  conf reach auth condition  last_event cnt
===========================================================
  1   364  8000   yes   yes  none    reject
  2   365  9014   yes   yes  none    reject   reachable  1
  3   366  9414   yes   yes  none  candidat   reachable  1
  4   367  9414   yes   yes  none  candidat   reachable  1
  5   368  9614   yes   yes  none  sys.peer   reachable  1

ntpq> rv
status=0664 leap_none, sync_ntp, 6 events, event_peer/strat_chg,
version="ntpd 4.1.2a@1:4.1.2a-2 Tue Nov 11 11:33:28 UTC 2003 (2)",
processor="i686", system="Linux2.4.20-pre3", leap=00, stratum=3,
precision=-17, rootdelay=52.037, rootdispersion=29.729, peer=368,
refid=ns1.usg.edu,
reftime=c3df82e7.4c49cb25  Thu, Feb 19 2004 13:45:59.298, poll=8,
clock=c3df83d4.c7574f72  Thu, Feb 19 2004 13:49:56.778, state=4,
offset=-2.768, frequency=-185.529, jitter=4.524, stability=0.030
ntpq> 


*** Configuration #3: A cluster without access to any external ntp
timeservers. All nodes should synchronize with the CLMS master via the
ICS network.

As #2 above, except there are no external servers listed in the
ntp.conf or step-tickers files. The ntp.conf should be used by all the
potential master nodes in the cluster; the step-tickers file should
contain all the potential master nodes in ther cluster. The
ntp.conf.dep should be used by all non-master nodes.

The ntp.conf I used follows.

# Prohibit general access to this service.
restrict default ignore
# External servers
restrict 192.168.0.10 mask 255.255.255.255 nomodify notrap noquery
server 192.168.0.10     # linuxbuild1
restrict 192.168.0.11 mask 255.255.255.255 nomodify notrap noquery
server 192.168.0.11     # kahuna

restrict 192.168.0.0 mask 255.255.255.0
broadcast 192.168.0.255 key 1
broadcastclient
trustedkey 1
requestkey 1 

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1 


# -- CLIENT NETWORK -------
# Permit systems on this network to synchronize with this
# time service.  Do not permit those systems to modify the
# configuration of this service.  Also, do not use those
# systems as peers for synchronization.
# restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap


# --- OUR TIMESERVERS ----- 
# or remove the default restrict line 
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.

# restrict mytrustedtimeserverip mask 255.255.255.255 nomodify notrap noquery
# server mytrustedtimeserverip



# --- NTP MULTICASTCLIENT ---
#multicastclient                        # listen on default 224.0.1.1
# restrict 224.0.1.1 mask 255.255.255.255 notrust nomodify notrap
# restrict 192.168.1.0 mask 255.255.255.0 notrust nomodify notrap



# --- GENERAL CONFIGURATION ---
#
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available. The
# default stratum is usually 3, but in this case we elect to use stratum
# 0. Since the server line does not have the prefer keyword, this driver
# is never used for synchronization, unless no other other
# synchronization source is available. In case the local host is
# controlled by some external source, such as an external oscillator or
# another protocol, the prefer keyword would cause the local host to
# disregard all other synchronization sources, unless the kernel
# modifications are in use and declare an unsynchronized condition.
#
#server  127.127.1.0 # local clock
#fudge  127.127.1.0 stratum 10  

#
# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
#
driftfile /var/lib/ntp/drift
broadcastdelay  0.008

#
# Authentication delay.  If you use, or plan to use someday, the
# authentication facility you should make the programs in the auth_stuff
# directory and figure out what this number should be on your machine.
#
authenticate yes

#
# Keys file.  If you want to diddle your server at run time, make a
# keys file (mode 600 for sure) and define the key number to be
# used for making requests.
#
# PLEASE DO NOT USE THE DEFAULT VALUES HERE. Pick your own, or remote
# systems might be able to reset your clock at will. Note also that
# ntpd is started with a -A flag, disabling authentication, that
# will have to be removed as well.
#
keys            /etc/ntp/keys



--- NEW FILE: README.upgrade ---
Upgrading an OpenSSI Cluster from previous releases on 
Debian 3.1(Sarge)

These instructions describe how to upgrade an OpenSSI 
cluster on Debian Testing (3.1, Sarge) from  previous
releases of openssi. Openssi can be upgraded on Debian 
using apt-get utility following the steps mentioned below.

1. Comment out the entry used for installing 'openssi 
  1.0.0' in the file "/etc/apt/sources.list" and add 
  following entries in addition to entries used for 
  Debian installation. 

  deb http://www.openssi.org/contrib/debian/openssidebs-devel ./

  deb-src http://www.openssi.org/contrib/debian/openssidebs-devel ./

2. Add following entries to /etc/apt/preferences if it 
  is not already there. 

  Package: * 

  Pin: origin www.openssi.org 

  Pin-Priority: 1001

3. Configure http proxy. In the bash shell , you can 
  export environment variable "http_proxy" by setting its 
  value to local proxy server.

4. Add necessary drivers list to 
  "/etc/mkinitrd/modules". Most important drivers are 
  network drivers, depending upon the network cards 
  used in the participating nodes in the cluster (Ex: 
  e100, eepro100 etc.), which would be used while 
  booting cluster nodes. If it is already there , no problem.

5. Execute:

  # apt-get update 

  # apt-get dist-upgrade

  This would upgrade openssi from previous release to 
  new release . Please see the 'known problems' in this 
  document if apt-get fails due to any error or configuration 
  and get the work around with few manual steps as 
  mentiond. 

6. Reboot the cluster .

  NOTE: It has been observed that some time tftp server 
  will not respond to request once it already responded 
  to client's request. So restart the inetd on the init 
  node if client could get IP address , but could not 
  continue booting.

  # invoke-rc.d inetd restart

7. After booting execute(If few manual steps are 
  executed as mentioned in the workaround for the kown problems).

  # apt-get dist-upgrade.

 Known Problems

1. Initrd doesn't get unmounted.

2. Added new configuration "OPENSSI_CLUSTER=yes" in the 
  /etc/mkinitrd.conf. Either allow the mkinitrd.conf to 
  be rewritten while upgrading the mkinitrd package Or 
  add above entry manually and rebuild the ramdisk. You 
  can follow the mkinitrd manpage to find out how to 
  rebuild the ramdisk. It is shown below how to use 
  mkinitrd. 

3. If you are creating the kernel and initrd image 
  manually, make sure the kernel name and initrd name 
  should follow the format shown below.. The file 
  /cluster/kernel_version is written when installing 
  the kernel package.

  VERSION=`cat /cluster/kernel_version` 
  kernel="/boot/vmlinuz-"$VERSION 
  initrd="/boot/initrd.img-"$VERSION 

  Ex:

    /usr/sbin/mkinitrd -o 
    /boot/initrd.img-2.4.22-ac1-ssi-686-smp 
    2.4.22-ac1-ssi-686-smp

4. 'apt-get dist-upgrade' may fail with following error 
  messages while upgrading from openssi 1.0. This is 
  due to a bug with the OpenSSI 1.0 release kernel . To 
  fix this run the mkinitrd command and create ramdisk 
  image as shown below. Please see man page of mkinitrd 
  if you need more details about mkinitrd and how to 
  use it.

  # /usr/sbin/mkinitrd -o 
  /boot/initrd.img-2.4.22-ac1-ssi-686-smp 2.4.22-ac1-ssi-686-smp

  

  Error Messages:

    dpkg: dependency problems prevent configuration of 
    kernel-image-2.4-686-smp:  kernel-image-2.4-686-smp 
    depends on kernel-image-2.4.22-ac1-ssi-686-smp; 
    however:   Package 
    kernel-image-2.4.22-ac1-ssi-686-smp is not 
    configured yet. dpkg: error processing 
    kernel-image-2.4-686-smp (--configure):  dependency 
    problems - leaving unconfigured dpkg: dependency 
    problems prevent configuration of openssi:  openssi 
    depends on kernel-image-2.4-686-smp; however:   
    Package kernel-image-2.4-686-smp is not configured 
    yet. dpkg: error processing openssi (--configure):  
    dependency problems - leaving unconfigured Errors 
    were encountered while processing:  
    kernel-image-2.4.22-ac1-ssi-686-smp  
    kernel-image-2.4-686-smp  openssi E: Sub-process 
    /usr/bin/dpkg 

    returned an error code (1)

5. Update the grub configuration, if the new kernle is 
  not listed in the "menu.list"(or any grub configuration 
  file that you are following). The below command will 
  add the new kernel and initrd to the menu.lst file .

  # /sbin/update-grub 

6. While creating initrd images using mkinitrd during 
  upgrade, you may see following messages. These 
  messages are expected and would not cause any problem 
  in upgrading opessi.

  cpio: ./dev/cciss: No such file or directory cpio: 
  ./dev/ide: No such file or directory cpio: 
  ./dev/mapper: No such file or directory cpio: 
  ./dev/md: No such file or directory cpio: ./dev/scsi: 
  No such file or directory

Maintained by Gopalakrishna <gopalak@xxxxxx>



-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click


<Prev in Thread] Current Thread [Next in Thread>