Directory Server migration project
I’m working on a project with a customer who is migrating from Sun’s older 5.2 based Directory Server to the latest version (6.3) of Directory Server Enterprise Edition. I’m excited about the project because I get to work with some good people I haven’t been in touch with lately, and we are using a number of cool technologies, including:

- Solaris 10 on x4600 servers (16 Opteron cores and 128G of memory)
- ZFS – provides compression and snapshot capabilities on top of storage
- DTrace – used for look at performance and troubleshooting
- Privileges – allows our application user to start processes running on a low port
- Directory Server 6.3
- I’m loving the dsconf tool for setting almost all config parameters via the command line. So far there have been only two things I’ve been forced to hack via perl instead of using the supported interface to edit (db-page-size and db-path). This is a huge improvement over DS 5.2′s command-line manageability.
- Directory Proxy Server
- Provides an application level proxy for load balancing LDAP requests and allowing us to perform data distribution. This is really powerful stuff, giving us a lot more flexibility than if we just had traditional hardware load balancers at our disposal (we are still using hardware based LBs, just in front of our DPS instances).
My plan on blog entries related to this project is to not mention any customer identifying information, but to pass along some general info which might be helpful to other organizations using all or some of the components in similar ways.
Tip of the day: We had a note from the sysadmin team asking about memory usage on one of our directory servers. There was a bit of confusion about where the memory on the box had gone since according to vmstat about 10 gigs were free and we could only see about 10 gigs used by user processes. The answer is that since we are using ZFS, the memory consumed by ZFS’s adaptive replacement cache (ARC) doesn’t show up as free memory (unlike UFS, where it does). This explains why systems using ZFS will have a very different memory usage profile than UFS systems. In order to give visibility into ZFS’s memory usage, we pulled down arc_stat.pl and used that to show that ZFS was caching about 107 gigs of file system data (which is what we trying to do). For cases like ours where you have a known memory demand for applications, you might want to consider limiting ZFS’s cache.
If you are using ZFS consider reading Ben Rockwood’s excellent posts on the topic.