fintanr's weblog

Archives

« October 2004 »
MonTueWedThuFriSatSun
    
2
3
8
9
10
12
13
15
16
17
18
19
20
21
22
23
24
25
26
28
29
30
31
       
Today

the links




Twitter Updates

    follow me on Twitter
















    20041027 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 Comments [1]

    20041014 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 Comments [4]

    20041011 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 Comments [1]

    20041007 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

    20041006 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

    20041005 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

    20041004 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

    20041001 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