| Solaris Express memory requirements |
[Feb. 7th, 2008|05:57 pm] |
I'm helping some folks at work debug a problem with NFSv4 on Solaris 10. I thought I would check if the same bug appeared in Solaris Express: Community Edition. I tried to install build 81 on an old Dell - a Pentium 4 machine with 512 MB of RAM. I was greeted with this lovely message:
This installer requires a minimum of 760 MB of physical memory to install. This system has 512 MB of physical memory. Exiting to shell. You have got to be fucking kidding me. |
|
|
| bus-powered eSATA ? |
[Jan. 14th, 2008|01:09 pm] |
|
Bus-powered eSATA is in the works. I'm very glad to hear this, as I use external 2.5" drives heavily. The lack of bus-power was my main gripe with eSATA, and the one thing keeping me using FireWire drives. If a future eSATA port can provide enough power to run a 2.5" drive, I'll be one happy camper. |
|
|
| Dell to offer Solaris 10/x86 |
[Nov. 14th, 2007|03:05 pm] |
I'm still in a little shock. Dell is now a reseller for Solaris 10.
More details here.
There's no list yet of which servers will have S10 as an option. But this is still a big boost for Solaris. It's good to see Sun doing well. |
|
|
| Internet2 and IPv6 |
[Oct. 14th, 2007|01:04 pm] |
This makes me laugh:
$ dig ipv6.internet2.edu AAAA
; <<>> DiG 9.4.1-P1 <<>> AAAA ipv6.internet2.edu ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23850 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;ipv6.internet2.edu. IN AAAA
;; ANSWER SECTION: ipv6.internet2.edu. 7185 IN CNAME www.internet2.edu.
;; Query time: 3 msec ;; SERVER: 10.0.1.1#53(10.0.1.1) ;; WHEN: Sun Oct 14 13:03:16 2007 ;; MSG SIZE rcvd: 54
|
|
|
| Has Linux gotten slower on the desktop? |
[Oct. 9th, 2007|02:34 pm] |
| [ | Tags | | | linux | ] |
| [ | music |
| | Morrissey - Yes, I am Blind | ] |
I'm about ready to pull my hair out because of how slow my FC 5 VM is. I've given is two 64-bit CPUs and 768 megs of RAM, and it's dragging to do even basic tasks, like open a terminal emulator. Using yum to install strace took nearly a minute (to parse some XML and yank down the bits from a mirror that's one router away).
Admittedly, I haven't used Linux in a desktop mode for several years (I'm only doing it here to test compatibility with something else). But I don't remember it being this sluggish. My XP SP2 VM (with identical config) is positively zippy in comparison. I wonder if anyone else is having this problem? |
|
|
| ZFS' threading limits IO |
[Sep. 19th, 2007|01:40 pm] |
Ew.
I just found that in ZFS, each zpool only uses a single thread for raidz/z2 and checksum calculations. Frankly, I'm shocked that Sun made this implementation decision. I hope it gets fixed for S10U5.
ZFS compression used to be single-threaded, but that was fixed a while ago in Nevada, and in S10U4.
While ZFS has a great design, the implementation could use a lot of performance tuning. |
|
|
| Linux software mirroring question |
[Sep. 15th, 2007|06:06 pm] |
I have a Linux question. Perhaps someone can help me.
I want to mirror two drives. For the life of me, I can't figure out how to do it without reinstalling the OS.
Let me elaborate. I inherited a CentOS 4.5 server with a single drive. It's using LVM with the LVM Physical Extents built directly on raw disk partitions. Herein lies the problem. At least historically, LVM has been unable to do mirroring itself. If you wanted to use LVM on a mirror, you had to first create Software RAID partitions on the drives, build a /dev/md device on those raw partitions, and then build LVM PEs on the /dev/md device.
Graphically, it looks like this:
filesystem ---> LVM ---> /dev/md ---> raw disk.
What a fragile, cumbersome thing is the Linux storage stack!
So here's the rub. I have this:
filesystem ---> LVM ---> raw disk.
How do I stick /dev/md in the middle of that? I asked around and was told by various Linux admins that the easiest way to do it would be to reinstall the OS and use the installer to redefine the partitions. Surely this can't be the case, I thought. There has to be a way to mirror a single disk without blowing away the system and starting over.
So I tried something. On a test machine, I added a second disk and created a "faulted" /dev/md mirror on it (a mirror with only one disk). I then added this /dev/md device into the LVM's volume group and did a pvmove from the original disk to the new disk. Note that this is against the pvmove man page, which explicitely states that moving physical extents on a mounted filesystem is "not recommended." (So much for the much ballyhooed value of an LVM).
I had intended to reboot off the new disk, then remove the old disk from the volume group, create the /dev/md partitions on it and attach it to the "faulted" mirror. I didn't get that far. I ended up with an unbootable mess of bits on my disks.
So much for that plan.
I've read that newer versions of LVM finally support mirroring. It even supports converting "linear" LVM into mirrored LVM with the lvconvert tool. Has anyone tried this? Given my previous experiences with LVM on Linux, I'm not too keen to try. Perhaps I should steal a spare blade and try another test. |
|
|
| Opera 9.5 is looking pretty nice |
[Sep. 11th, 2007|10:08 am] |
| [ | music |
| | Perry O'Neill - Kubik | ] | People say I complain too much. I probably do. I prefer to think of it as part of my charm :)
So I decided to say something nice. I've been running the Opera 9.5 alpha for several days, and I'm loving it. It's incredibly fast. I switched it to my default browser (from FF 2.0), and overall I'm not regretting it.
There are still a fair amount of glitches (with it being an alpha, after all), but I'm sure those will be ironed out by the time 9.5-final ships. |
|
|
| An early look at probevue |
[Sep. 9th, 2007|05:17 pm] |
AIX 6 will have a dynamic instrumentation feature called probevue. There's been a lot of noise lately by people wanting to know how probevue compares to Sun's DTrace, the sine qua non of safe, scalable instrumentation.
The current beta of AIX 6 lacks probevue support. All we have are the man pages. Based on this limited data, I'm going to do the best I can to compare the two. Needless to say, since I haven't actually tried probevue, this comparison is rather superficial.
Based on the probevue man page, it appears that both DTrace and probevue have per-CPU tracing buffers which are periodically read by a userspace consumer. Both dtrace(1) and probevue allow the user to adjust the size of the buffers and the frequency with which they are read.
Both DTrace and probevue are programmable: DTrace has its D language; probevue has VUE scripts. There is nascent documentation on the VUE language. According to IBM, a more complete reference will be released shortly. Based on this early documentation, there are many similarites between D and VUE.
DTrace executes D scripts in a lightweight in-kernel virtual machine. It is unclear from IBM's documentation how probevue executes its VUE scripts.
Both languages work by specifying actions to be taken when certain probes fire. Execution of these actions can be further restricted with optional predicates. DTrace uses a four tuple to identify probes. probevue identifies probes with a three to six tuple.
Both languages have global, thread-local and clause-local variables. Both languages provide access to kernel global variables. Unlike DTrace, probevue requires that kernel global variables be declared inside a VUE script before it can be used. For example, in VUE, to access the kernel global variable lbolt, which is of type long long:
__kernel long long lbolt; printf("%llu", __k:lbolt);
In D, to access the global variable kmem_flags:
printf("%d", `kmem_flags);
Both languages have a native string data type, which can be easily compared with the == operator.
Both DTrace and probevue have built-in variables, but DTrace's are much more complete than VUE's. Both DTrace and probevue can trace userspace function entry and return. In fact, DTrace can instrument every instruction in userspace. It is unclear what userspace tracing features probevue supports beyond fucntion entry and return.
probevue has syscall and kernel function tracing facility, both of which exposes function arguments.
Unlike DTrace, VUE supported if..else constructions in clause bodies.
There appear to be many similiarities between D and VUE. For example, here is a sample program that records when each thread in an application opens /tmp/foo:
DTrace:
syscall::open:entry
/copyinstr(arg0) == "/tmp/foo"/
{
self->interested = 1;
}
syscall::open:exit
/self->interested/
{
printf("%d\n", arg0);
self->interested = 0;
}
The same in probevue:
int open ( char * Path, int OFlag, int mode );
@@syscall:*:open:entry
when (__arg1 == "/tmp/foo")
{
thread:interested = 1;
}
@@syscall:*:open:exit
when (thread:interested)
{
printf("%d\n", __rv);
}
In a future entry, I'll look at probevue's lists and built-in functions. |
|
|
| iPhone is so-so as a phone. |
[Sep. 2nd, 2007|11:33 am] |
My employer bought a few of its employees iPhones to evaluate. I was one of the select few who got one.
As a mobile data device it's pretty good. The mobile web browser is great. The email client is so-so. The lack of supported, native third-party apps is lamentable.
As a phone, it's absolutely terrible.
The voice quality is among the worst I've ever heard. The earpiece is way too quiet (even on max volume). It's especially bad outdoors, where there's ambient noise. I'm constantly jamming the iPhone into my ear to try to hear the other person. It's ringer is so quiet that I can't hear it if I'm in the next room. Two examples stick out in my mind: A few weeks ago, I was driving to New York. The iPhone was sitting on the passenger seat of my car. I had the window down and the radio on, at a regular volume. I missed three incoming SMS messages because the "you have a text message" sound is extremely quiet. Two weeks ago I was walking downtown over my lunchbreak. The iPhone was in my pocket, with the ringer turned all the way up. I missed two calls because I didn't hear the ringer.
The phone also regularly drops calls. For instance, I'm on hold with Apple tech support while I'm writing this (I'm calling about the Macbook issue I whined/blogged about previously). This is the fourth time I've had to call them back because AT&T keeps dropping my call. Before this call, I was talking to my mom; I had to call her back twice due to dropped calls.
My three year-old Verizon Treo 600 was nothing great, but as a phone, it was leaps and bounds ahead of the $600 iPhone. |
|
|
| I hate Apple Stores |
[Aug. 11th, 2007|11:13 pm] |
| [ | Tags | | | apple | ] |
| [ | mood |
| | annoyed | ] |
I can think of few things I enjoy less than setting foot in an Apple store. The lack of customer service, the hordes of annoying customers, the sheer pretentiousness of the store design -- they all make me want to scream. Everytime I go into one (usually being dragged by someone else), I leave in serious need of a drink.
I'm visiting my family in North Carolina for the weekend. My mother's MacBook is broken (the power button is busted, so the machine won't turn on). There's an Apple sore about 5 minutes down the street, so I thought I'd just take it in, and have them ship it back to Apple. Huge mistake.
It turns out that you can't just walk in, explain the problem, hand them the machine and leave. Oh, no, that would be sensible. Instead, you have to make an appointment with an Apple "genius." Um.... WTF? The next available appointment was six-and-a-half hours later. Yea, forget that.
This is just bad customer service. I know what's wrong with the machine, and it should take all of 5 minutes for them to fill out a web form detailing the problem. I guess they're too busy explaining how to use iMovie to soccer moms to bother helping me.
Speaking of customer service, could Apple please do something about the customers who hog their demo machines? Several times when I have tried to take a look at a machine (say, the new iMac, or a 30" Cinema Display), I can't even get to the machine because some random asshole is busy checking her webmail, IMing with a friend or blogging. For 20 minutes. Might I suggest Apple start beating these customers with sticks?
(I'd also like to take this opportunity to point out the absolute necessity of ordering AppleCare with any Apple laptop. I have had serious issues with almost ever Apple laptop I've owned, as have several of my friends and relatives. It's rather interesting that people keep buying Apple's laptops; if any other company had this questionable a track record, I suspect people would have abandoned them long ago. But we can't do that because we have to have our hardware dongles to run OS X). |
|
|
| Kerberos in OS X |
[Jul. 30th, 2007|02:28 pm] |
I have to say that I continue to be impressed with Apple's commitment to Kerberos support in Mac OS X. authentication. I dare say that Apple provides more Kerberized applications out-of-the-box than any other Unix or Linux vendor.
Apple's Mail.app has supported Kerberos (via GSSAPI) for POP, IMAP and SMTP for several years. Safari has had issues with SPNEGO (the standard for Kerberos authentication via HTTP), but they've fixed the bugs in recent versions. For SSH, Apple was one of the first vendors (along with Sun) to provide gssapi keyexchange support (granted, Apple didn't write the code; they used an open-source patch to OpenSSH, but at least they applied it, which is more than can be said for RedHat).
AFP, Apple's homegrown file protocol, supports kerberized authentication (however, even kerberized AFP still sends all data in the clear). Apple supports Kerberos in their various CIFS clients (the Finder, mount_smbfs and smbclient). OS X server supports kerberized FTP as well.
Although I don't use it, OS X Server claims to support kerberized L2TP for VPNs.
In Leopard, Apple is adding kerberized NFSv3 (as well as fixing their broken automounter). There are a few other Kerberos-related goodies in Leopard that I can't talk about yet, since they haven't been publicly disclosed.
About the only thing Apple doesn't do is provide a Kerberos PAM module, but there's a really nice one from University of Michigan.
This isn't to say that Apple's Kerberos support is perfect (does anyone remember OS X 10.4.0 which broke graphical kerberized login?). And, yes, it's certainly possible to get this level of Kerberos support on other Unices if you (re)compile enough apps. But the value-add here that it works out-of-the-box. |
|
|
| AIX 6 looking like Solaris 10 |
[May. 22nd, 2007|11:11 am] |
I was reading IBM's AIX 6 preview page and noticed a few interesting "new" features:
Workload Partitions AIX 6 introduces a new, software-based, virtualization approach called Workload Partitions (WPAR) that complements the existing IBM System Logical Partitions by reducing the number of operating system images that have to be managed when consolidating workloads. Workload Partitions enable the system administrator to consolidate multiple applications inside of a single running instance of AIX 6.
Each Workload Partition can be separately administered from other WPARs in the system, including separate security and root level user. WPARs obtain a regulated portion of the system resources available to the instance of AIX 6 and share the AIX 6 resources such as kernel resource and I/O.
Um, Solaris Zones, anyone? It's ironic that IBM is implementing this feature. When Solaris 10 first came out, I made a push for us to consider adopting it at work. Our production systems group is very AIX-on-POWER-centric, and their IBM pSeries sales rep used to love to trash Solaris zones, "because everything is running on a single kernel - it's got to be less stable than LPAR." He didn't seem to get that Zones save a lot of time (precisely because everything runs on one kernel -- I don't have dozens of discreet OSes to patch). I guess time has borne this idea out.
Role Based Access Control Provides improved security and manageability by allowing administrators to grant authorization for management of specific AIX resources to users other than root by associating those resources with a role that is then associated with a particular system user. Role Based Access Control can also be used to associate specific management privileges with programs, which can reduce the need for run those programs under the root user or via setuid.
Hm. Solaris has had RBAC integrated into the OS for a while, and it really got enhanced with Solaris 10's process privilege framework.
Dynamic tracing AIX 6 provides a new dynamic tracing capability that can simplify debugging complex system or application code. This dynamic tracing facility will be introduced via a new tracing command, probevue, that allows a developer or system administrator to dynamically insert trace breakpoints in existing code without having to recompile the code.
If this doesn't sound like a DTrace clone, I don't know what does. It's a shame IBM didn't port DTrace to AIX -- I would love to see a single, (mostly) unified dynamic tracing framework across Unix. It would be a lot more beneficial than having DTrace on Solaris, FreeBSD and OS X, systemtap on Linux and probevue on AIX. Either way, IBM should be commended for this - it sounds a lot better than their existing tracing framework, which is far too developer-centric. Of course, it still remains to be seen how scriptable and extensible probevue will be.
There's supposed to be an open beta of AIX 6. I look forward to trying it out.
Of course, if I wanted to be snide and catty, I'd point out that IBM claims this is "the first ever AIX open beta." Meanwhile, Sun has been distributing bi-weekly public preview builds of Solaris for nearly three years as part of the Solaris Express program. The first mention of Solaris Express I can find is this post dated from August 2004. You can download the current Solaris Express build from OpenSolaris. |
|
|
| Solaris 9 slowness |
[Apr. 16th, 2007|03:23 pm] |
For unimportant reasons, I needed to install Solaris 9 this morning. Since I'm loving my Mac Pro, I chose to use Parallels. Sol 9 is still slow. Not even a 3 GHz Xeon can speed that thing up! Fortunately I can kill it as soon as I get the info I need.
In other news, I am so over Sun's bundled patching tools (smpatch and friends). They rarely work right, if at all. I've joined the happy masses that have switched to pca. It's fast, and it always works. |
|
|
| Eclipse's autoformatter |
[Apr. 3rd, 2007|01:34 pm] |
The Eclipse autoformatter needs to die. Likewise, people who use it (and insist that others use it) need to die.
Really, is there any need for code to ever be formatted like this:
if (!(o instanceof LoginContext)) {
log
.error("Invalid login context object -- object is not an instance of LoginContext.");
throw new ServletException("Invalid login context object.");
}
(Why is .error() on its own line and intended (2 tab stops no less!)?)
I want to claw my eyes out every time I look at code that's been run through Eclipse's formatter. The way it arbitrarily decides to break lines is simply maddening. Given that I have near zero tolerance for visual clutter, I find Eclipse-formatted code especially difficult to work with. Honestly, I can barely stand to look at it because I get a headache. The insanity of its formatter is one of the major reasons I steadfastly refuse to use Eclipse.
Now if only I could find a way to have NetBeans display the code using its formatting rules but save it the way Eclipse formats it.... *sigh*. |
|
|
| On weird dreams |
[Mar. 9th, 2007|06:19 am] |
| [ | mood |
| | tired | ] |
| [ | music |
| | Bettye LaVette - The High Road | ] | You know you have a problem when you wake up and realize you just had a dream involving the Linux I/O subsystem. Perhaps I should have double checked that dinner was fully cooked last night. That, or I clearly didn't drink enough. |
|
|
| Darfurwall.org |
[Dec. 28th, 2006|11:05 am] |
|
|
|
|
| must learn a new language |
[Nov. 28th, 2006|12:13 pm] |
| [ | mood |
| | sad | ] | I'm not sure I can ethically continue to be a Java developer now that the runtime has been GPL'ed.
It's such a shame Sun didn't chose a sane license, like APLv2 or CDDL. I have serious concerns about the long-term viability of Java now that it's GPL'ed. I expect that within 5 years we'll see at least one incompatible fork of it (possibly sponsored by the FSF). The GPL community doesn't seem to value standards compliance or API- and ABI stability (just look at the Linux kernel or glibc for many glaring examples). I would really hate to see Java devolve into the same level of uselessness. |
|
|
| happy birthday to me :) |
[Nov. 17th, 2006|12:57 pm] |
|
I just noticed that nano 2.0 was released on my birthday, Nov 6. Nano is my favorite editor (no, I'm not kidding. I really do use it all the time). It was so nice of them to give me a little birthday gift :) |
|
|