0 INFO-VAX	Tue, 14 Feb 2006	Volume 2006 : Issue 89      Contents:% Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup % Re: cluster-wide logicals and startup ( file list for ftp in a command procedure3 How does a node know it needs to rebuild a volume ? 7 Re: How does a node know it needs to rebuild a volume ? 7 Re: How does a node know it needs to rebuild a volume ? 6 Re: Invoking Unix Type Commands such as netstat etc... Re: null terminated strings  Re: null terminated strings  OpenVMS 7.3-2 Hardening   F ----------------------------------------------------------------------    Date: 13 Feb 2006 15:26:35 -0500. From: brooks@cuebid.zko.hp.nospam (Rob Brooks). Subject: Re: cluster-wide logicals and startup, Message-ID: <FqQlrmZ8RLr$@cuebid.zko.hp.com>  2 (Phillip Helbig---remove CLOTHES to reply) writes:. > "Rok Vidmar" <Rok.Vidmar@gmail.com> writes:  > * >> > I need to use them in SYLOGICALS.COM. >>  G >>  No, in fact, you don't. You need to use them in SYSECURITY.COM, and , >> usually they are alive and kicking there. > . > _I_ _DO_ need to use them in SYLOGICALS.COM.  5 I have no idea why Rok Vidmar would make his comment.   . I do know that if all the below are true . . .  & 1) on a system with SHADOWING set to 2 2) part of a cluster 3) doing a FULL startup   M then the SHADOW_SERVER process is started, and that process stalls the system O startup process until clusterwide logicals are available.  This is true for any M version of OpenVMS Alpha that supports HBMM (all released versions of OpenVMS ' I64 support HBMM).                      &                                        --    L Rob Brooks    VMS Engineering -- I/O Exec Group     brooks!cuebid.zko.hp.com   ------------------------------  + Date: Mon, 13 Feb 2006 21:03:37 +0000 (UTC) P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply). Subject: Re: cluster-wide logicals and startup$ Message-ID: <dsqs79$i5c$1@online.de>  H In article <FqQlrmZ8RLr$@cuebid.zko.hp.com>, brooks@cuebid.zko.hp.nospam (Rob Brooks) writes:    4 > (Phillip Helbig---remove CLOTHES to reply) writes:0 > > "Rok Vidmar" <Rok.Vidmar@gmail.com> writes:  > > , > >> > I need to use them in SYLOGICALS.COM. > >>  I > >>  No, in fact, you don't. You need to use them in SYSECURITY.COM, and . > >> usually they are alive and kicking there. > > 0 > > _I_ _DO_ need to use them in SYLOGICALS.COM. > 7 > I have no idea why Rok Vidmar would make his comment.   B Just to repeat, I need to mount a disk in SYLOGICALS.COM since it I contains SYSUAF.DAT etc and the corresponding logicals should be defined  A in SYLOGICALS.COM.  I need the cluster-wide logicals so that, if  @ necessary, I can use them to stall the startup while a MINICOPY $ initiated on another node completes.  0 > I do know that if all the below are true . . . > ( > 1) on a system with SHADOWING set to 2 > 2) part of a cluster > 3) doing a FULL startup  > H > then the SHADOW_SERVER process is started, and that process stalls theD > system startup process until clusterwide logicals are available.     Why?   > ThisB > is true for any version of OpenVMS Alpha that supports HBMM (all2 > released versions of OpenVMS I64 support HBMM).    HBMM is ALPHA-only, right?  > At least if I am not on VAX, then, if the conditions above areE fulfilled, then I can count on cluster-wide logicals being available  C when SYLOGICALS.COM is executed (I'm assuming the shadow server is  I always started first)?  If so, this would be good to put in the comments  F in SYLOGICALS.TEMPLATE: no need to check for cluster-wide logicals if H these conditions are fulfilled.  (The comments need to be edited anyway A since there is some very confusing and perhaps wrong stuff about  < SYS$SPECIFIC and SYS$COMMON and default locations in there.)   ------------------------------  % Date: Mon, 13 Feb 2006 16:42:41 -0500 - From: JF Mezei <jfmezei.spamnot@teksavvy.com> . Subject: Re: cluster-wide logicals and startup+ Message-ID: <43F0FD4C.74AC02D@teksavvy.com>   / Phillip Helbig---remove CLOTHES to reply wrote: B > in SYLOGICALS.COM.  I need the cluster-wide logicals so that, ifA > necessary, I can use them to stall the startup while a MINICOPY & > initiated on another node completes.  H Is that just so that the booting node doesn't become responsible for the> minicopy or whatever shadow operation it feels is neceessary ?  F Have you considered using SYSMAN to tell another node to MOUNT/CLUSTERE the disk so it would magically appear mounted on your node ? Wouldn't F this ensure that your node doesn't actually become responsible for the shadow set update ?    A VMS engineer wrote: J > > then the SHADOW_SERVER process is started, and that process stalls theD > > system startup process until clusterwide logicals are available.  D Is initial clusterwide logical a binary availability ? (they are notE present, and the next microsecond, they are all present), or does the 2 table get progressively loaded as packets arrive ?  H If the table gets progressively loaded as other nodes send their logicalF names over, how does one know when the cluster-wide logicals are fully	 loaded ?      @ > At least if I am not on VAX, then, if the conditions above areF > fulfilled, then I can count on cluster-wide logicals being available! > when SYLOGICALS.COM is executed     B I would still put some code in there to check. Not only would thisF docuyment your need to sync logical name tabels before proceeding, butE also if they ever goes to VAX or to an ALPHA VMS version that doesn't & have this feature, it will still work.   ------------------------------  + Date: Mon, 13 Feb 2006 22:50:17 +0000 (UTC) P From: helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply). Subject: Re: cluster-wide logicals and startup$ Message-ID: <dsr2f9$u2p$1@online.de>  4 In article <43F0FD4C.74AC02D@teksavvy.com>, JF Mezei' <jfmezei.spamnot@teksavvy.com> writes:    1 > Phillip Helbig---remove CLOTHES to reply wrote: D > > in SYLOGICALS.COM.  I need the cluster-wide logicals so that, ifC > > necessary, I can use them to stall the startup while a MINICOPY ( > > initiated on another node completes. > J > Is that just so that the booting node doesn't become responsible for the@ > minicopy or whatever shadow operation it feels is neceessary ?  E Yes, since VAX can't do MINICOPY.  When a MOUNT is done and a COPY is I needed, then ANY node can handle the COPY; it doesn't have to be the one  G from which the MOUNT command came and it doesn't have to have a direct  G connection to any of the members of the shadow set.  For a MINICOPY to  D happen, the MOUNT command cannot come from a VAX and the node which I handles the COPY cannot be a VAX (and, of course, the member needing the  I copy has to have been DISMOUNTed with /POLICY=MINICOPY, though this will  G be relaxed in a future version of VMS).  Thus, I define a cluster-wide  D logical before I do the dismount.  At boot, I check this.  If it is E defined, the startup waits after setting SHADOW_MAX_COPY to 0 on the  G booting node.  I then set SHADOW_MAX_COPY to 0 on all other VAXes (the  H booting node has to be done separately from within SYLOGICALS.COM since I SYSMAN isn't running yet) and issue a MOUNT command.  After the MINICOPY  8 stars, I deassign the logical and the startup continues.  H > Have you considered using SYSMAN to tell another node to MOUNT/CLUSTERG > the disk so it would magically appear mounted on your node ? Wouldn't H > this ensure that your node doesn't actually become responsible for the > shadow set update ?   I First, SYSMAN isn't yet running on the booting node.  Yes, I do mount it  H from another node, but that alone isn't enough (to make sure a minicopy H happens if possible); I have to make sure that no VAX picks up the copy.  F > Is initial clusterwide logical a binary availability ? (they are notG > present, and the next microsecond, they are all present), or does the 4 > table get progressively loaded as packets arrive ? > J > If the table gets progressively loaded as other nodes send their logicalH > names over, how does one know when the cluster-wide logicals are fully > loaded ?    H Up until now, F$GETSYI(CWLOGICALS) has always been true at the start of G SYLOGICALS.COM; maybe it always will be.  After a cluster-wide logical  H is defined on one node, it DOES take a couple of seconds for it to show @ up on the other nodes.  (DEFINE/LOG also shows that, if the new G definition is the same as the old one, then it is NOT redefined, as is  ) the case with non-cluster-wide logicals.)   1 > I would still put some code in there to check.    H Definitely, the code is there, see my other post asking for comments (I  haven't gotten any yet).   > Not only would this H > docuyment your need to sync logical name tabels before proceeding, butG > also if they ever goes to VAX or to an ALPHA VMS version that doesn't ( > have this feature, it will still work.   ------------------------------  % Date: Tue, 14 Feb 2006 02:43:48 +0100 2 From: martin@radiogaga.harz.de (Martin Vorlaender). Subject: Re: cluster-wide logicals and startup; Message-ID: <43f135d4.524144494f47414741@radiogaga.harz.de>   . JF Mezei <jfmezei.spamnot@teksavvy.com> wrote: > A VMS engineer wrote: I >> then the SHADOW_SERVER process is started, and that process stalls the C >> system startup process until clusterwide logicals are available.  > F > Is initial clusterwide logical a binary availability ? (they are notG > present, and the next microsecond, they are all present), or does the 4 > table get progressively loaded as packets arrive ? > J > If the table gets progressively loaded as other nodes send their logicalH > names over, how does one know when the cluster-wide logicals are fully > loaded ?    E As I've understood it, it's the CLUSTER_SERVER process that syncs the E clusterwide definitions with the cluster, and sets CWLOGICALS when it  has completed doing so.    cu,    Martin --  A                            | Martin Vorlaender  |  OpenVMS rules! 4  UNIX is user friendly.    | work: mv@pdv-systeme.deG  It's just selective about |   http://www.pdv-systeme.de/users/martinv/ ;  who its friends are.      | home: martin@radiogaga.harz.de    ------------------------------    Date: 13 Feb 2006 21:10:50 -0500. From: brooks@cuebid.zko.hp.nospam (Rob Brooks). Subject: Re: cluster-wide logicals and startup, Message-ID: <ZAv57J3Ymufn@cuebid.zko.hp.com>  4 martin@radiogaga.harz.de (Martin Vorlaender) writes:0 > JF Mezei <jfmezei.spamnot@teksavvy.com> wrote:  G >> Is initial clusterwide logical a binary availability ? (they are not H >> present, and the next microsecond, they are all present), or does the5 >> table get progressively loaded as packets arrive ?  >>  K >> If the table gets progressively loaded as other nodes send their logical I >> names over, how does one know when the cluster-wide logicals are fully  >> loaded ?   G > As I've understood it, it's the CLUSTER_SERVER process that syncs the G > clusterwide definitions with the cluster, and sets CWLOGICALS when it  > has completed doing so.   ! Yes, that's exactly how it works.    --    L Rob Brooks    VMS Engineering -- I/O Exec Group     brooks!cuebid.zko.hp.com   ------------------------------  % Date: Tue, 14 Feb 2006 00:18:13 -0500 - From: JF Mezei <jfmezei.spamnot@teksavvy.com> . Subject: Re: cluster-wide logicals and startup, Message-ID: <43F1680C.566AAAE4@teksavvy.com>   Martin Vorlaender wrote:G > As I've understood it, it's the CLUSTER_SERVER process that syncs the G > clusterwide definitions with the cluster, and sets CWLOGICALS when it  > has completed doing so.   ? Cool. I did not know that. There is no real help for CWLOGICALS " available in the F$GETSYI lexical.   ------------------------------    Date: 13 Feb 2006 11:19:26 -08001 From: "pcoviello@gmail.com" <pcoviello@gmail.com> 1 Subject: file list for ftp in a command procedure B Message-ID: <1139858365.985600.46450@g44g2000cwa.googlegroups.com>  F I've searched the group and was unable to find what I wanted to do, ifG it is please point me there :-) anyways I want to take a dir listing by B date ( month at a time)  and put it into a file and then ftp thoseB files to a windows server... it can either be in batch or by hand!  
 any thoughts?    thanks Paul   ------------------------------  % Date: Mon, 13 Feb 2006 19:28:43 -0500 - From: JF Mezei <jfmezei.spamnot@teksavvy.com> < Subject: How does a node know it needs to rebuild a volume ?, Message-ID: <43F1242B.E1FCDD1B@teksavvy.com>  F In say, a 3 node cluster, one node crashes. When it reboots it detectsC that the disks have been improperly dismounted and proceeds to do a D volume rebuild. This applies also to disks served by the other nodesK even if those disks remained "healthy" from the other nodes' point of view.   G Does this mean that each node maintains some structure on each disks it C mounts, even those that are MSCP served by other nodes ? Is there a E limit on how many such structures can be stored in a disk ? (aka: how  many nodes can mount a disk).   A Does this mean that when one node permenently leaves a cluster by F crashing, it will leave some structures on all disks it had mounted atG the time and those structure will remain forever because there won't be  anyone to clean them up ?     F Also, say node A crashes and stays down. Then node B does a nice cleanG shutdown with a nice clean dismount. When B comes back up, will it need C to do a rebuild or will its find that it had cleaned up all its own 7 structures and not see that A left the disk in a mess ?    ------------------------------  # Date: Tue, 14 Feb 2006 05:15:04 GMT   From: John Santos <john@egh.com>@ Subject: Re: How does a node know it needs to rebuild a volume ?, Message-ID: <sHdIf.75461$_D1.38057@trnddc03>   JF Mezei wrote: H > In say, a 3 node cluster, one node crashes. When it reboots it detectsE > that the disks have been improperly dismounted and proceeds to do a F > volume rebuild. This applies also to disks served by the other nodesM > even if those disks remained "healthy" from the other nodes' point of view.  > I > Does this mean that each node maintains some structure on each disks it E > mounts, even those that are MSCP served by other nodes ? Is there a G > limit on how many such structures can be stored in a disk ? (aka: how  > many nodes can mount a disk).   F No.  Each node pre-allocates some space (extents) and file headers, by@ flagging them as "in use" in the bitmaps.  When it runs out, it E preallocates more headers or extents, as needed.  I think if the disk B completely runs out of space or headers, the node encountering theG situation asks the other nodes to release some of their pre-allocation,  and tries again.  E If a node crashes, the various bitmaps on the disk will be incorrect. E The may have headers or extents marked as "in use" which are actually D free.   There aren't any extents or headers marked as free which areC actually in use, so there is no danger of corruption, just spurious  lack of free space or headers.  D SET VOLUME/REBUILD (or MOUNT without /NOREBUILD) fixes the bit maps.  ? There is a mount count on the disk.  If a node crashes without  A dismounting the disk, then the mount count will not match, so the . mounting system will know it needs to rebuild.  E This works on a stand-alone system, or on a disk that is only mounted B on one node of a cluster.  For a disk mounted on multiple nodes, IG don't know how it works, but I suspect the mounting node asks the other F nodes if they think it already has the disk mounted, and so knows thatC it needs to rebuild.  Or maybe one of the other nodes marks all the E mounted disks as requiring a rebuild if it notices a node has dropped  out of the cluster.   D There is no per-node structure on the disk, and thus no limit on theC number of mounts.  The mount count is a word.  (SCB$W_WRITECNT, the F number of systems currently having the disk mounted with write access,F in the storage control block on the disk, and VCB$W_MCOUNT, the numberD of processes (?) that have the volume mounted, in the volume controlB block, in memory on all the cluster members)  So it looks like the mount limit is 65535.    > C > Does this mean that when one node permenently leaves a cluster by H > crashing, it will leave some structures on all disks it had mounted atI > the time and those structure will remain forever because there won't be  > anyone to clean them up ?   @ Any surviving cluster member can SET VOLUME/REBUILD to clean up.   > H > Also, say node A crashes and stays down. Then node B does a nice cleanI > shutdown with a nice clean dismount. When B comes back up, will it need E > to do a rebuild or will its find that it had cleaned up all its own 9 > structures and not see that A left the disk in a mess ?   H It didn't leave it a mess.  It just preallocated some space and headers.F I don't know if you'll see a "volume improperly dismounted" message in this case or not.    --   John Santos  Evans Griffiths & Hart, Inc. 781-861-0670 ext 539   ------------------------------  % Date: Tue, 14 Feb 2006 00:29:48 -0500 - From: JF Mezei <jfmezei.spamnot@teksavvy.com> @ Subject: Re: How does a node know it needs to rebuild a volume ?, Message-ID: <43F16AC2.93B3CA29@teksavvy.com>   John Santos wrote:B > Any surviving cluster member can SET VOLUME/REBUILD to clean up.  E I'll have to test that next time I inadvertently  unplug a node. So a F surviving node would be able to clean up the mess left by another node that improperly dismounted it ?   C If, instead of  SET VOLUME/REBUILD , a surviving node were to do an 1 ANA/DISK/REPAIR, would this accomplish the same ?    ------------------------------  % Date: Tue, 14 Feb 2006 01:34:43 +0100 ( From: Paul Sture <paul.sture@bluewin.ch>? Subject: Re: Invoking Unix Type Commands such as netstat etc... + Message-ID: <45cmt3F64u69U1@individual.net>   / Phillip Helbig---remove CLOTHES to reply wrote: J > In article <Pine.LNX.4.61.0602090828590.7278@localhost.localdomain>, Rob& > Brown <mylastname@gmcl.com> writes:  >  > G >>If you can "@" a file, then the file is a text file, so you can type  $ >>it or view it with an editor.  Try >  > I > Only if you have "R" privilege.  If you have "E" but not "R", then you   > can "@" it but not TYPE it.  >   @ Red herring! sys$manager:tcpip$define_commands.com has world:RE.   ------------------------------  % Date: Mon, 13 Feb 2006 16:09:25 -0500 - From: JF Mezei <jfmezei.spamnot@teksavvy.com> $ Subject: Re: null terminated strings, Message-ID: <43F0F583.30B7E111@teksavvy.com>   Bill Gunshannon wrote:N > If that is the primary reason for OO, then the emperor truly has no clothes.K > (Oh, and as an aside, X predates OO by a rather long period.  The lack of ) > OO did not block or even slow it down.)     C You can do object oriented programming in C or other languages that 0 allow pointers to routines stored in structures.  E In fact, the early 1990s PSION PDAS (Series 3 (original 16 bit EPOC)) E had plenty of object oriented features that you could access from its F core programming language: C and if you were keen, from its BASIC likeD language OPL. Some of the objects could not be used from OPL becauseG they require you setup structures with subroutine adresses in them (OPL / is interpreted so you don't have that ability).   B X/Motif is also object oriented, with many objects "opaque" to theF programmer, including the String "class". And Motif has the concept ofC inheritance from a parent object (for instance, some attributes not 1 specified in a widget would come from its parent)    ------------------------------  % Date: Tue, 14 Feb 2006 00:36:23 +0100 ( From: Paul Sture <paul.sture@bluewin.ch>$ Subject: Re: null terminated strings+ Message-ID: <45cjfoF5v3taU1@individual.net>    Larry Kilgallen wrote:^ > In article <43EA900E.66465A06@teksavvy.com>, JF Mezei <jfmezei.spamnot@teksavvy.com> writes: >  >>Dave Froble wrote: >>H >>>It's been my experience that if a language makes it rather hard to doH >>>something dangerous, then by the time one figures out how to do such,K >>>they usually know the ramifications, and won't do such unless absolutely F >>>necessary, and hopefully, provide some protections against mis-use. >> >>% >>There is another wait to word this.  >>H >>If a language has too many restrictions, the programmer will find uglyJ >>workaround/kludges to perform stuff which the pedantic language prevents >>him from doing.  >>G >>C was designed to remove limitations and allow the programmer do what  >>needs to be done.  >>< >>COBOL hjas string size management. a MOVE command will notI >>buffer-overflow because the generated code knows the size of the source . >>and target buffers and enforce those limits. >>G >>But if you want to address individual characters in a field, you then I >>need a kludge to have those characters mapped to an array, but then you D >>lose buffer oflerflow protection because your logic takes over the >>moving and boundary checking.   ? Simply not true. You can address character substrings in COBOL.    >   > You do not lose that with Ada. > # >         User_Name := Person_Name;   >         if User_Name [1] = 'L' >         then& >           Might_Be_Larry (User_Name) >         end if;    COBOL version:  )            move Person_Name to User_Name. "            if User_Name(1:1) = 'L'"                call Might_Be_Larry>                                   by descriptor User_Name(1:1)            end-if.  G and if you compile the main program and subroutine with /CHECK=BOUNDS,  H going outside those variables will produce an ACCVIO and traceback with ( a corresponding source code line number.   ------------------------------  # Date: Tue, 14 Feb 2006 05:00:03 GMT - From: "Thomas Carroll" <tbcreg@mailsnare.net>   Subject: OpenVMS 7.3-2 Hardening+ Message-ID: <ntdIf.23999$Eq.18382@trnddc02>   I Does anyone have specifuc "hardening" procedures for OVMS 7.3-2? Thanks.     ------------------------------   End of INFO-VAX 2006.089 ************************