Archive for the ‘Uncategorized’ Category

Samba 3.4 Changes idmap backend!

Monday, November 9th, 2009

I recently upgraded some hosts to Fedora 11 which has Samba 3.4 included. I configure most of the hosts I control to be integrated with Active Directory for authentication and this upgrade broke that authentication.

The problem was that the winbind daemon was not able to query the LDAP server which was used as the idmap directory due to the way I had configured the idmap backend in smb.conf. This caused winbind and samba to restart successfully and I could enumerate groups and users perfectly well in bulk. I was not able, however, to enumerate a single user using ‘wbinfo -i ‘ or groups and I was not able to login.

This problem was caused by this config value:

idmap backend = "ldap:ldap://ldap1,ldap://ldap2"

After a bit of troubleshooting, I discovered that winbind was not able to query the LDAP server successfully. I fixed this issue by changing the above config value to:

idmap backend = ldap:ldap://ldap1 ldap://ldap2

I then restarted winbind and tested failover by enumerating a few users and then stopping the primary ldap server (ldap1) and enumerating a few more users.

error while loading shared libraries: : cannot open shared object file: No such file or directory

Monday, June 1st, 2009

A fairly typical scenario when installing software that does not come fro the distribution package manager is to install an application and find that it cannot find a library necessary to run, although the library is definitely installed.  I recently ran into this issue when compiling spine on an old Debian Sarge system.

$ ./spine
./spine: error while loading shared libraries: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

I verified that this file existed with locate.

$ locate libmysqlclient_r.so.15
/usr/local/mysql-5.0.45-linux-i686/lib/libmysqlclient_r.so.15.0.0
/usr/local/mysql-5.0.45-linux-i686/lib/libmysqlclient_r.so.15

The problem was that I did not have the mysql library directory included in /etc/ld.so.conf or /etc/ld.so.conf.d.  To fix the problem, I added the mysql library path to /etc/ld.so.conf and re-ran ldconfig using sudo.

#/etc/ld.so.conf/usr/local/lib/sasl2
/usr/local/lib
/lib
/usr/lib
/usr/lib/atlas
/usr/local/mysql-5.0.45-linux-i686/lib

include /etc/ld.so.conf.d/*.conf

Then run ldconfig:

$ sudo ldconfig

I was then able to run spine without any issues.

History with time stamps!

Thursday, May 21st, 2009

When reviewing the history file in bash, it’s terrible not knowing when a command was executed.  Using the HISTTIMEFORMAT variable in a .bashrc file, the timestamp can be added to all commands.

# ~/.bashrc
HISTTIMEFORMAT=”%m/%d/%y %I:%M:%S %p ”
Sample output:

525  05/21/09 07:56:46 PM tail -f /var/log/messages  /var/log/secure

As you can see, the command is preceeded by the line number and a timestamp.

sudo PATH and bash

Thursday, May 21st, 2009

I just spent a bit of time troubleshooting a path issue with sudo on a CentOS server.  This is a note to self to preserve this bit of knowledge.

When dealing with sudo, the only time the PATH environment variable will be preserved is if it’s in .bashrc and NOT in .bash_profile.

Software RAID and GRUB

Wednesday, May 20th, 2009

When building out a system with a boot partition using software RAID, it is critical to install GRUB on both drives to that if one fails, the other can be used to boot the system.
1. Make sure that the RAID volume is synchronized (assuming /dev/md0 for /boot):

mdadm -D /dev/md0

2. Install grub on the first drive:

# grub
Probing devices to guess BIOS drives. This may take a long time.

grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd0)
Checking if “/boot/grub/stage1″ exists… no
Checking if “/grub/stage1″ exists… yes
Checking if “/grub/stage2″ exists… yes
Checking if “/grub/e2fs_stage1_5″ exists… yes
Running “embed /grub/e2fs_stage1_5 (hd0)”…  15 sectors are embedded.
succeeded
Running “install /grub/stage1 (hd0) (hd0)1+15 p (hd0,0)/grub/stage2 /grub/menu.lst”… succeeded
Done.

3. Install grub on the second drive:

grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd1)
Checking if “/boot/grub/stage1″ exists… no
Checking if “/grub/stage1″ exists… yes
Checking if “/grub/stage2″ exists… yes
Checking if “/grub/e2fs_stage1_5″ exists… yes
Running “embed /grub/e2fs_stage1_5 (hd1)”…  15 sectors are embedded.
succeeded
Running “install /grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/grub/stage2 /grub/menu.lst”… succeeded
Done.

grub> quit
That should allow booting from either drive without modification of grub.conf or /etc/fstab.

Fast Hard Disks

Wednesday, April 15th, 2009

One of the biggest bottlenecks in any system is the hard disk drive.  I found HyperOS Systems while reviewing the MySQL users mailing list yesterday.  This company sells a device that you can plug DDR2 RAM into and use as a Solid State Disk.  They also provide a battery and CF backup system in case you lose power.
Check it out.

What is Linux?

Wednesday, April 15th, 2009

The Linux Foundation recently had a contest to see who could come up with a video to compete with the “I’m a Mac” and “I’m a PC” ads.  Here is the winner.

Setting a LUNs Alignment Offset

Tuesday, September 2nd, 2008

I came across this handy page which details LUN alignment offset via fdisk:

Setting the offset.

Apparently this comes in handy when working with EMC Clarriions.