Dave,
Let me try to explain a little more for you.  I understand all the
questions and that this can be confusing -- xCAT can behave differently
based on various settings, and it's difficult for us to document this well
for all cases.

First, some attributes that are of interest:

site attributes:  (lsdef -t site -h)
   master - your xCAT management node (MN)

   dhcpsetup - use default of "y" (no value) to have xCAT manage DHCP for
      you
   dhcpinterfaces - the interfaces DHCP should listen on.  This should have
      separate entries for your MN and for your service nodes (SNs).  It
      will be used to configure the dhcpd.conf files on the respective
      servers to only listen on those network interfaces.  It is important
      to get this correct, and you should verify the network definitions
      created by 'makedhcp -n' in the respective dhcpd.conf files on your
      MN and SNs.
   disjointdhcps - use default of "n" (no value) to have xCAT put an entry
      in EVERY dhcpd.leases file for EVERY node on EVERY MN, SN

   sharedtftp - use default of "y" (no value) to have the /tftpboot
      directory mounted from the MN to every SN
   tftpdir - the /tftpboot directory to use

   installloc - "/install" means that all SNs will mount /install from the
      MN.  No value means that the SNs will have a local /install directory
      which must be kept in sync from the MN for many xCAT commands
   installdir - the /install directory to use

network attributes: (lsdef -t netwwork -h)
   dhcpserver - the DHCP server that will serve dynamic IPs for this
      network.  (required when there are multiple DHCP servers on the
      network and a dynamicrange is specified)
   tftpserver - the tftpserver for this network.  Typically, you will want
      to set the node tftpserver attribute and leave this one blank.
   gateway - set to value "<xcatmaster>" to have each DHCP servers
      dhcpd.conf "option routers" set to itself.
   dynamicrange - only set if you need to serve dynamic IP addresses on
      this network

node attributes: (lsdef -t node -h)
   servicenode - the xCAT node name of the service node (as known by the
      MN) for this node.  If not set, will default to site.xcatmaster.  Set
      to list for service node pools.
   xcatmaster - the service node interface this node will use to
      communicate to the SN (will be different from servicenode if the
      MN-to-SN and SN-to-compute node are on different networks).  If not
      set, will default to servicenode.  Keep blank for service node pools.
   tftpserver - the tftpserver for this compute node.  In most cases, you
      should explicitly set this to your xcatmaster value for service node
      support.   Keep blank for service node pools.
   nfsserver - the server that will serve nfs, http, etc., for node
      deployment.  If not set, will default to xcatmaster. Keep blank for
      service node pools.

service node attributes: (lsdef -t node -h)
   These should all be set to "1" to have the service node handle these
      services for their compute nodes:
      setupdhcp
      setuptftp
      setupftp
      setupnfs


And the network possibilities with all of this can start to be
mind-boggling, but we try to address the most common ones as best we can:
   - the entire cluster on one flat network.  This means there will be
   multiple DHCP servers (and tftp servers), and xCAT needs to configure
   any DHCP server to respond correctly to a broadcast request on the
   network, so all dhcpd.leases files will need to be identical, with the
   "next-server" value set to the designated tftpserver for a given node.
   - the MN to SNs on one network, and the SNs to CNs all on a separate
   flat network.  Two possibilities here:
      - specific DHCP servers for different sets of compute nodes.  DHCP
      configuration handled same as previous case.  xCAT will use the
      servicenode attribute as the service node to handle hierarchical xCAT
      runtime management commands (such as xdsh, nodestat, updatenode,
      etc.)
      - pooled DHCP servers so any server in the list can serve any compute
      node on the network -- the first DHCP server to respond will also be
      that node's tftpserver, nfsserver, xcatmaster, etc..  xCAT will use
      the first servicenode in this list for hierarchical xCAT commands (to
      manage performance of these cmds, you may want to set different
      groups of nodes to a different order of servicenodes)
   - The MN to SNs on one network, each SN to its CNs on separate networks
   -- the DHCP server on that network needs to only manage its set of
   compute nodes.

So, because of all the different possibilities,  the xCAT makedhcp and
nodeset commands for any node are run on the MN and EVERY SN for EVERY
node.  We try to be a little smarter in some cases where we can and where
it is important to get the correct server values set, but will typically
default to just doing everything everywhere.   And depending on whether you
are using sharedtftp or not, you may see different results in
your /tftpboot/etc files and other places.

Also, if your /install directory is local on your SNs, after MN commands
such as genimage, packimage, liteimg, updating postscripts, or making
changes to other files in /install, you need to rsync /install out to all
service nodes to make sure nodeset and other commands have the correct data
to work with.

For your question:
"Can you define more than one statically assigned Service Node to a compute
node?"
the answer is "No".  You can either have 1 static service node, or use
service node pools.  We do support a manual "snmove" command to move a
compute node from one static service node to another.

In all cases, xCAT is designed so that all xCAT commands are run from the
MN.  xCAT will do all internal remote communications to the SNs as needed
and consolidate/process the results.


Hope all of this helped more than it added more confusion to the mix.  If
you have a specific end-result you're trying to achieve, let us know, and
we'll try to help you figure out how the xcat database should be set to
accomplish that (if possible).

Linda


                                                                       
  From:       Dave Barry <[email protected]>                        
                                                                       
  To:         xCAT Users Mailing list <[email protected]>
                                                                       
  Date:       07/18/2011 11:41 AM                                      
                                                                       
  Subject:    Re: [xcat-user] Confused regarding service node pools and 
defining specific service nodes
                                                                       





Thanks! I am just trying to understand this part of xCAT more clearly so
that I can make the correct decisions for my setup. So let me make sure I
have this straight, please feel free to correct as needed:

      For any nodes who are specifically assigned a service node (as
      opposed to assigned to a service node pool), their management
      commands (such as nodeset etc.) should be ran on the Service Node
      they are assigned to, and not the Management Node.    - I did notice
      that when defining the "xcatmaster" in noderes for this compute node
      as its service node, even though the management node could still DHCP
      boot the node, the imgurl for where to pull the netboot image was
      statically assigned to the service node.
       When using service node pools, it becomes a first-come, first-serve
      basis, in that any service node will have its imgurl defined back to
      itself in /tftpboot, so that if that service node ends up being the
      one that pxe boots the compute node, it essentially becomes that
      compute node's master. Management commands should be ran on the
      management node instead of the service node in a service node pool
      architecture. Correct?


Questions:
      Can you define more than one statically assigned Service Node to a
      compute node? How would the imgurl that is defined in tftpboot be
      handled in this situation?
      I cannot seem to figure out how the "servicenode" column actually
      comes into play in the various services configuration. I even tried
      putting fake service node hostnames in there that do not exist, and
      was still able to makedhcp, nodeset, and boot both diskless and
      install diskful nodes from either service node or master node with,
      what appeared to be, no ill effects. What does this column actually
      affect, and when does it come into play in fail over situations?


Sorry for the multiple questions, just trying to gather as much information
as possible =)  I've read the service node pools documentation and
unfortunately, unless I missed something, it doesn't seem to go into as
much depth as I am trying to gather.


Here are my lsdef's. c1n01 is a diskful install, and c1n02 is a diskless
node. I was able to successfully boot c1n02 from service01, which is not
defined as that compute node's service node, without an issue. I even made
sure it was booting from service01 by stopping dhcp on the master node.
That's what is confusing to me... it would seem to me that if I have
service10 and service11 defined as c1n02's service nodes (which by the way
are non-existant service nodes), service01 wouldn't care about c1n02 and as
a result wouldn't create the tftpboot/dhcp configuration needed for that
node, only service10/11 would (if they existed). What is the actual purpose
of the servicenode column in noderes in a service node pool setup?



Object name: c1n01
    arch=x86_64
    chain=runcmd=standby
    currchain=boot
    currstate=install centos5.5-x86_64-compute
    groups=compute,all
    initrd=xcat/centos5.5/x86_64/initrd.img
    installnic=eth0
    interface=eth0
    ip=192.168.1.2
    kcmdline=nofb utf8 ks=http://mn/install/autoinst/c1n01 ksdevice=eth0
noipv6
    kernel=xcat/centos5.5/x86_64/vmlinuz
    mac=00:50:56:11:11:11
    mgt=ipmi
    netboot=pxe
    nfsserver=mn
    nodetype=osi
    ondiscover=nodediscover
    os=centos5.5
    postbootscripts=otherpkgs
    postscripts=updaterepos.sh,syslog,remoteshell,syncfiles
    power=ipmi
    primarynic=eth0
    profile=compute
    provmethod=install
    servicenode=service10,service11
    status=booted
    statustime=07-15-2011 18:32:09
[root@mn ~]# lsdef c1n02

Object name: c1n02
    arch=x86_64
    chain=runcmd=standby
    currchain=boot
    currstate=netboot centos5.5-x86_64-compute
    groups=compute,all
    initrd=xcat/netboot/centos5.5/x86_64/compute/initrd-stateless.gz
    installnic=eth0
    interface=eth0
    ip=192.168.1.3

kcmdline=imgurl=http://!myipfn!/install/netboot/centos5.5/x86_64/compute/rootimg.gz
 XCAT=!myipfn!:3001 ifname=eth0:00:50:56:11:11:15 netdev=eth0
    kernel=xcat/netboot/centos5.5/x86_64/compute/kernel
    mac=00:50:56:11:11:15
    mgt=ipmi
    netboot=pxe
    nodetype=osi
    ondiscover=nodediscover
    os=centos5.5
    postbootscripts=otherpkgs
    postscripts=updaterepos.sh,syslog,remoteshell,syncfiles
    power=ipmi
    primarynic=eth0
    profile=compute
    provmethod=netboot
    servicenode=service10,service11
    status=booted
    statustime=07-17-2011 20:29:51





Thanks!



On Mon, Jul 18, 2011 at 7:31 AM, Lissa Valletta <[email protected]> wrote:
  So first do you really want service node pools or as you indicate below
  you just want to assign a compute node to a particular service. If you
  check this link the two sections have a description of setting up Service
  Nodes and pools:


  
https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_a_Linux_Hierarchical_Cluster#Assigning_Nodes_to_their_Service_Nodes_.28_updating_the_noderes_table.29


  If you want compute1 to just use the Management Node, you do not have to
  put anything in the noderes table for it. That will be the default, or
  just assign the xcatmaster attribute to the Management node as know by
  compute1.

  If not a pool then in the noderes table:
  The servicenode attribute for a compute node should be set to the
  hostname of the service node(s) that the management node knows it by. The
  xcatmaster attribute in the noderes table should be set to the hostname
  of the service node that the compute node knows it by.
  Make sure your service node is defined in the servicenode table.

  For pools, make sure you note this restriction.
  Note: the noderes table's xcatmaster, tftpserver,nfsserver attributes
  should be blank for any node entry that has the noderes servicenode
  attribute set to a pool of service nodes.


  The command(s) that is reference, is all xCAT commands that will actually
  be run on the servicenode at this point instead of the Management Node,
  because the Service Node is the master of the compute node. Some examples
  are your nodeset , nodestat, xdsh. Some of these commands do some work on
  the Management Node ( our preprocess setup) before the actual executing
  the real work on the Service Node.

  Also run lsdef compute1 and lsdef compute2, we can check the entire setup
  from that output.

  Lissa K. Valletta
  2-3/T12
  Poughkeepsie, NY 12601
  (tie 293) 433-3102



  Inactive hide details for Dave Barry ---07/17/2011 05:45:56 PM---Hello! I
  am attempting to understand how to manually lay out sDave Barry
  ---07/17/2011 05:45:56 PM---Hello! I am attempting to understand how to
  manually lay out specific service nodes

  From: Dave Barry <[email protected]>
  To: [email protected]
  Date: 07/17/2011 05:45 PM
  Subject: [xcat-user] Confused regarding service node pools and defining
  specific service nodes



  Hello!

  I am attempting to understand how to manually lay out specific service
  nodes that are responsible to specific compute nodes, but am having a
  hard time doing so. I read the following paragraph:


  To define a list of service nodes that support a set of compute node(s),
  in the noderes table, in the service node attribute, put a
  comma-delimited list of the
  service nodes. The list will be processed left to right, picking the
  first service node on the list to run the command. If that service node
  is not available, then
  the next service node on the list will be chosen until the command is
  successful. Errors will be logged. If no service node on the list can
  process the
  command, then the error will be returned. You can provide some
  load-balancing by assigning your service nodes as we do below.



  I have tried manually defining my node "compute1" to have its servicenode
  (in the noderes table) to be my masternode, and then defining compute2 to
  have its servicenode be sn1. However when I run "nodeset compute1
  netboot"
  the command appears to be sent to both the master node and the service
  node. The same happens if I do "nodeset compute2 netboot". The /tftpboot
  files and /install/autoinst files are written out on both the masternode
  and service node
  as if xcat is ignoring the fact that I have separated these two compute
  nodes to different service nodes. I am successfully able to netboot
  compute1 from service01 without any problems. DHCP from service01 will
  happily respond and boot this node even though it is not assigned as this
  node's servicenode.


  Am I misunderstanding how this is supposed to work?

  Also: "The list will be processed left to right, picking the first
  service node on the list to run the command. If that service node is not
  available, then
  the next service node on the list will be chosen until the command is
  successful."


  What "command" is this documentation referring to?



  Thanks!
  ------------------------------------------------------------------------------

  AppSumo Presents a FREE Video for the SourceForge Community by Eric
  Ries, the creator of the Lean Startup Methodology on "Lean Startup
  Secrets Revealed." This video shows you how to validate your ideas,
  optimize your ideas and identify your business strategy.
  http://p.sf.net/sfu/appsumosfdev2dev
  _______________________________________________
  xCAT-user mailing list
  [email protected]
  https://lists.sourceforge.net/lists/listinfo/xcat-user


  ------------------------------------------------------------------------------

  AppSumo Presents a FREE Video for the SourceForge Community by Eric
  Ries, the creator of the Lean Startup Methodology on "Lean Startup
  Secrets Revealed." This video shows you how to validate your ideas,
  optimize your ideas and identify your business strategy.
  http://p.sf.net/sfu/appsumosfdev2dev
  _______________________________________________
  xCAT-user mailing list
  [email protected]
  https://lists.sourceforge.net/lists/listinfo/xcat-user

------------------------------------------------------------------------------

AppSumo Presents a FREE Video for the SourceForge Community by Eric
Ries, the creator of the Lean Startup Methodology on "Lean Startup
Secrets Revealed." This video shows you how to validate your ideas,
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
xCAT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xcat-user

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
xCAT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xcat-user

Reply via email to