|

Wednesday October 27, 2004
what do you want from the blogs - part 2
First up thanks for the various suggestions, comments and mails about what people would like to see on bsc. While no major trend appeared, it seems that detailed examples would be the preferred type of article. We have a couple of these singled out, and will be doing a series of postings over the next few weeks to begin tying all of them together.
(2004-10-27 05:32:12.0)
Permalink

Thursday October 14, 2004
So what do you want from the blogs?
I have been doing some thinking over the last few days as to what people
actually want out of these blogs, and following a converstation with a friend of mine over some fine beer I guess its time to ask the question.
What do you want out of bsc? What are
the areas that interest you? And how can we give you more information?
The obvious areas are our technologies, be it Solaris, where we can look at things like zones, dtrace, smf and
the multitudes of cool new technologies available by default in Solaris 10
Or areas like the Java Enterprise System? (which by the way you can download and evaluate for 90 days for free, its worth playing around with). Performance tuning tips? Perhaps automation techniques
that we use? Sysadmin stuff? Java? The list is endless.
And what format do you want these in? Do you want long detailed articles
or quick handy tips? Do you want tips from an administrators standpoint
or in depth programming articles? A mix of all the above?
Feel free to comment and suggest topics, there's a lot of good stuff going
up already, and there is lots more that we can add.
(2004-10-14 05:43:05.0)
Permalink

Monday October 11, 2004
gcore
gcore is a very usefull utility for grabbing a core from a running process which has been enhanced further in Solaris 10. Adam Leventhal touched briefly off gcore in his blog posting on core file improvements, but didn't expand upon the new features and the fact that we now have content types (we will put it down to modesty, he did write the code).
Anyway very briefly, in Solaris 9 gcore had just one option, -o outfile, this has now been expanded to
# gcore
usage: gcore [ -pgF ] [ -o filename ] [ -c content ] pid ...
The -p and -g options are tied into coreadm(1M) settings, while the -c content is one of the content types listed in coreadm. Finally, as you probably guessed -F is force.
So a very quick example is in order I guess.....
[fintanr@tiresias fintanr] $ gcore `pgrep gnome-vfs`
gcore: core.887 dumped
[fintanr@tiresias fintanr] $ pstack core.887
core 'core.887' of 887: /usr/lib/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_F
----------------- lwp# 1 / thread# 1 --------------------
ce3e24b5 pollsys (80e0230, 3, 8047028, 0)
ce389c88 poll (80e0230, 3, bb8) + 68
ce8931fe g_main_context_iterate () + 39d
----------------- lwp# 2 / thread# 2 --------------------
ce3e24b5 pollsys (80e1400, b, 0, 0)
ce389c88 poll (80e1400, b, ffffffff) + 68
ce8931fe g_main_context_iterate () + 39d
and just to show that gnome-vfs-daemon is still running
[fintanr@tiresias fintanr] $ ptree 887
887 /usr/lib/gnome-vfs-daemon --oaf-activate-iid=OAFIID:GNOME_VFS_Daemon_Fact
(2004-10-11 06:45:00.0)
Permalink

Thursday October 07, 2004
mdb quick reference and cheat sheet .....
I actually have an older version of this printed out beside my desk, but while doing a google search for something else today, Jonathan Adams mdb quick reference popped up from solarisinternals.com. Hopefully of use to people.
[update 07 Oct]
Timing seems to be everything, Jonathan Adams (author of the cheatsheet as noted above) posted an entry yesterday on the mdb cheatsheet. Take a look.
(2004-10-07 06:14:02.0)
Permalink

Wednesday October 06, 2004
Sun Trunking 1.3
Sun
Trunking has been around for a long time, and it allows you to aggregate
Sun network cards (4 gigabit or 16 10/100 cards) together for a larger pipe.
We have had a need to use this to make use of an e6500 as a client for a
SpecjAppserver2002 rig in the
past, and
due to a different issue[1] I had to recreate the trunk on this rig today so I
figured a quick (very simple) example on how to set it up is worthwhile.
In our case we were using a single qfe card to create the trunks, I'll skip
the pkgremove pkgadd cycle, and skip straight to the config. First up we need
to grab our qfe instance numbers, we can get these from path_to_inst.
ecemulator# grep qfe /etc/path_to_inst
"/sbus@3,0/SUNW,qfe@0,8c00000" 0 "qfe"
"/sbus@3,0/SUNW,qfe@0,8c10000" 1 "qfe"
"/sbus@3,0/SUNW,qfe@0,8c20000" 2 "qfe"
"/sbus@3,0/SUNW,qfe@0,8c30000" 3 "qfe"
check to make sure we have nothing setup, just to be sure
ecemulator# ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet xxx.x.x.xxx netmask ffffff00 broadcast xxx.x.x.255
ether 8:0:20:xx:xx:xx
ecemulator# cd /etc/opt/SUNWconn/bin
ecemulator# ./nettr -conf
Okay, so we are in the clear. Now lets check our local-mac-address? setting
to make sure its okay (it needs to be set to true for trunking to work)
ecemulator# eeprom local-mac-address?
local-mac-address?=false
ecemulator# eeprom local-mac-address?=true
In this case we are going to choose qfe0 as the head of the trunk, so we
set /etc/hostname.qfe0 to ecemulator and make sure that it has an entry in
our host file. Now lets actually set up the trunk. First off we need to
choose our trunking policy, there are four possible policies, these being -
| MAC |
Default policy, at its simplest will divide the traffic
equally, ie each interface in this example will handle 25% of the traffic |
| Round Robin |
Use each interface in turn |
| IP Destination Address |
Use IP Destination address to get the transmission path |
| IP Source Address/IP Destination Address |
Deterministic connections |
In our case we are going to choose mac as our policy. So to enable this
permanently we edit /etc/opt/SUNWconn/bin/nettr.sh and add the following line
# Trunking setup for qfe card on sbus #1 - Fintan
nettr -setup 0 device=qfe policy=1 members=0,1,2,3
Now lets run this manually, and we get
ecemulator# ./nettr -setup 0 device=qfe policy=1 members=0,1,2,3
qfe trunk members:
qfe0 (head)
qfe1
qfe2
qfe3
and thats it. To make sure its all okay, we bring the machine down and reboot
ecemulator# sync
ecemulator# init 0
ecemulator#
INIT: New run level: 0
The system is coming down. Please wait.
System services are now being stopped.
Print services already stopped.
Oct 6 10:41:32 ecemulator syslogd: going down on signal 15
The system is down.
syncing file systems... done
Program terminated
{10} ok printenv local-mac-address?
local-mac-address? = true
{10} ok boot -r
.................
Configuring Sun Trunking devices
qfe trunk members:
qfe0 (head)
qfe1
qfe2
qfe3
configuring IPv4 interfaces: hme0 qfe0.
Hostname: ecemulator
.......
All working, and back to todays planned work. The Sun Trunking docs cover all of the above and much more in gory
detail.
[1] devfsadm -Cv -r /mnt is a really usefull hack (thanks Wookie), but
fully reading manpages may be an idea on my part ;).
(2004-10-06 03:29:16.0)
Permalink
SLAMD goes opensource...
SLAMD has gone opensource, released under the Sun Public License. You can download the lot from here [slamd.com] or here [java.net].
(2004-10-06 02:00:46.0)
Permalink

Tuesday October 05, 2004
Some /dev/tcp Tunables
When setting up network benchmarks, in particular things such as
SpecWeb99 we generally tune the
Solaris tcp
stack a little bit. In this post we will take a quick look at three of the
tcp tunables that we more generally use.
Tunables are dealt with in depth in the
Solaris Tunable Parameters
Reference Guide. All the tunables that we are referring to here can be
set with ndd.
Anyway, onto the tunings.
| Tunable |
Default Value |
Tuned Value |
Explanation |
| tcp_time_wait_interval |
60000 |
60000 |
tcp_time_wait_interval sets the time that a TCP connection stays
in TIME-WAIT state. I've listed it here as people may want to increase it.
The value is in millieseconds, and should never be lower than 60 seconds.
|
| tcp_conn_req_max_q |
128 |
8192 |
tcp_conn_req_max_q sets the number of pending requests for a tcp listener
waiting to be accepted by accept. In this case the 8192 is more than adequate
for the benchmark that we run.
|
| tcp_conn_req_max_q0 |
1024 |
8192 |
tcp_conn_req_max_q0 sets the maximum number of incomplete pending connections.
|
You can set each of these tunables using the following syntax
ndd /dev/tcp <tunable> <value>
i.e. to tune tcp_com_req_max_q ....
ndd /dev/tcp tcp_con_req_max_q 8192
There are obviously several other tcp tunings that you could
change, all documented in the tunable guide, but the three listed above
will go a long way towards increasing performance.
(2004-10-05 06:21:40.0)
Permalink

Monday October 04, 2004
End of (some) days....
So the time has come, I've succumbed completely to this blogging lark and setup a personal blog. Why I hear you ask? Why not post everything here. Mainly as I want to focus on tech stuff here, and everything else in a different location. Clarity in a cacophony of white noise perhaps?
(2004-10-04 09:28:48.0)
Permalink

Friday October 01, 2004
DHCP Timeout on Solaris
This popped up on an internal alias during the week, and as it bugged me for a while at one stage, and seems to be bugging some other people, I figured I'd post it in case its annoying people out in the real world. If you have a laptop/machine that you use dhcp on you can set the dhcp timeout with something similar to
echo "wait 30" >> /etc/dhcp.INTERFACE
i.e. on my laptop the interface is an iprb, and I'm impatient, so its
echo "wait 15" >> /etc/dhcp.iprb0
Its all documented in the ifconfig manpage. The solution poster on the internal list doesn't have a blog yet, but did point out that John Beck told him the fix.
(2004-10-01 10:12:16.0)
Permalink
Sun and standard architectures
The sun.com front page has a link to a presentation on AMD Opterton, x86 and a bunch of other things. Well worth a listen. Speakers are Glenn Weinberg (blog), John Fowler and Andy Bechtolsheim. Its quite long, so grab a coffee, fire up that browser and sit back and listen.
Oh, and you never know, if you listen you might even get a hint on the Becky Boxes ;).
(2004-10-01 07:44:13.0)
Permalink
|