One other thing... I said you can't exert any control over the network using this technique. In so much as there are files in /proc that can be written to (to change certain kernel parameters) you will be able to write to them just as easily over the network (unless you mount read-only or change the file permissions.) So technically it does allow you to do a small amount of administration.
Erik On Fri, Mar 27, 2009 at 2:40 PM, Erik N Johnson <[email protected]> wrote: > In this case NOC stands for Network Operations Center, and calling it > that might be a BIT misleading, because you don't have a tremendous > amount of control you could exert over the network from this single > node. This mechanism also doesn't allow for monitoring switches > (although there is no reason why it shouldn't work with Linux > routers.) > > What you do have is a central point that aggregates ALL the available > info about EVERY z/Linux host in your config. > > This allows you to do some pretty neat profiling stuff, comparing > loads on like-purposed hosts etc... The limits to what you could do > in terms of aggregating and publishing (and logging) of kernel > information are limited only by the extents of the info available in > /proc. To the best of my knowledge virtually everything the kernel > knows is available under the /proc directory. If you run apache on > the host you can very easily display a summary of the health and > well-being of all your penguins, either on your intranet for > management types to see how great your utilization is, or on the > Internet for your hosting or web-service clients to look at your > availability info. All without SNMP. This monitor node could also be > a distinct machine like a 386 running debian, and it can monitor any > other Linux machine on your network. But of course, you'll get the > best performance if the whole mess is on one mainframe installation, > preferably under z/VM though distinct LPARS don't present any problem > either. > > I did make one mistake in my earlier post, all your kernels need the > 9p module, not just the one doing the aggregation. > > In fact this is exactly what /proc is FOR, or at any rate, this is the > purpose of the system that these concepts were adopted from. Plan 9 > even includes a debugger called acid which got all its info through > the /proc interface, allowing you to remotely attach to and debug a > running process. Dtrace cannot do that, afaik. There exists an acid > port as part of the Plan 9 From Userspace project but it is not > complete. It does, however have very interesting capabilities already > please see the man page online > (http://swtch.com/plan9port/man/man1/acid.html). I have posted about > Plan 9 From Userspace in the past, it also goes by the name plan9port > and contains a variety of novel unix-style tools including a graphical > editor in the spirit of ed (called sam) as well as unicode aware > troff, grep (the plan 9 grep is more like egrep, fair warning) sed and > many others, as well as some new tools designed to work with the 9p > network filesystem. If nothing else some of these tools provide much > cleaner, lighter-weight equivalents to their GNU counterparts, and > will build under pretty much any C compiler. (Read: DOES NOT REQUIRE > automake, autoconf, gmake, or gcc.) > > To find out a bit more about these concepts in general you can read > about it on Wikipedia under Plan 9 From Bell Labs > (http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs). For more info > on plan9port see Russ Cox's Plan 9 From Userspace website > (http://swtch.com/plan9port). For specific info on how to use v9fs > see their documentation page > (http://git.kernel.org/?p=linux/kernel/git/ericvh/v9fs.git;a=blob_plain;f=Documentation/filesystems/9p.txt;hb=HEAD). > > The v9fs project was begun by Ron Minnich and Maya Gokhale of Los > Alamos. Their involvement in the project was funded under two > distinct DARPA contracts. The kernel module is distributed with the > vanilla kernel from kernel.org, and is not flagged experimental. I > have looked for the date when it was added to the mainline kernel but > have not found it. > > Erik Johnson > > P.S. I agree that Dtrace syntax (and all other > white-space-significant language) is fugly. If people would refrain > from using whitespace to delimit code then varying indentation style > would be irrelevant, since the proper incantation to BSD's indent will > render any C, C++, Java, Perl, or other sanely constructed language > file into an indentation style that a particular programmer finds > optimally readable. If I run indent on a Python program it breaks. > This seems to me a bit of a throw-back to me. > > On Fri, Mar 27, 2009 at 9:55 AM, Dave Jones <[email protected]> wrote: >> Eric, could you expand on your idea here a bit more? What's a Linux NOC? >> >> Thanks. >> >> Erik N Johnson wrote: >>> >>> In an attempt to bring things back on topic for Scott, and everybody >>> else who is supposed to keep e-mail work related (sorry guys!) I would >>> like to point out a major feature of Linux that people seem to remain >>> unaware of. In Linux you can get virtually any piece of kernel >>> information from the vfs through the novel /proc filesystem. I have >>> discussed this and other ports from the Plan 9 From Bell Labs >>> operating system to Linux (especially the 9p kernel module.) No other >>> operating system has, to the best of my knowledge, any attempt at >>> these features. What's really great about this is that for a z/Linux >>> farm you can easily use 9p to create a single virtual host whch has a >>> /mnt all full of: >>> /mnt >>> /host1/proc >>> /host2/proc >>> ... >>> /hostN/proc >>> >>> then a perl (or shell or python) script ( or ANY filesystem-aware >>> program, which is pretty open-ended) can easily do: >>> >>> foreach host in hosts { >>> displayRelevantInfo( /mnt/host/proc); >>> } >>> >>> where hosts is the full set of Linux guests. >>> >>> Voila, pure Linux NOC w/out nasty, insecure SNMP. With HiperSocket >>> this is going to be VERY fast. It DOES require a custom kernel on the >>> virtual host which is serving as the NOC, as 9p is a kernel module. >>> >>> This is the type of thing that a GPL-compatible license brings to your OS. >>> >>> Erik Johnson >>> >>> ---------------------------------------------------------------------- >>> For LINUX-390 subscribe / signoff / archive access instructions, >>> send email to [email protected] with the message: INFO LINUX-390 or >>> visit >>> http://www.marist.edu/htbin/wlvindex?LINUX-390 >> >> -- >> Dave Jones >> V/Soft >> www.vsoft-software.com >> Houston, TX >> 281.578.7544 >> >> ---------------------------------------------------------------------- >> For LINUX-390 subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO LINUX-390 or >> visit >> http://www.marist.edu/htbin/wlvindex?LINUX-390 >> > ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
