Archive for September, 2010

My own referral…?


Funny story… at least I thought it was… I was on-site @ a customer’s data center the other day and I was tasked with configuring a SUN LTO-3 Quantum tape drive, similar to the photo on the left here, among other things… No biggie right…? Any way… in my usual way I was Googling lots of stuff, because I don’t remember anything… and while doing so, I came across my own blog, this very one you are reading for the answer.¬† I thought that was awesome… I answered my own question… LOL ūüôā

, , , ,

Leave a comment

Backup Takanga… RHEL v5.5… Sounds like a dance?


Well what a surprise and well kind of an embarrassment I faced the last 2 days…¬† I guess I have gotten pretty lazy these days as I wouldn’t have expected to miss this one, but I did.¬† I was building a new system for a customer upgrade and they selected RHEL v5.5 as the platform… Cool.¬† So as usual I sent in my request to our Dell “Gold_Team” rep with specs of what I wanted for this build.¬† Nothing fancy, a nice PowerEdge T410, dual quadcore procs, 8GB RAM, RAID1 (Perc6i of course) and the infamous RD1000 internal tape drive.¬† Now I posed the question because I am, well lazy, inquiring to include Symantec’s 2010 Backup EXEC application if it in fact runs on a Linux server.¬† Well that’s all it took to screw things up a bit.¬† I guess this can go either way, but what they shipped was the remote Linux agent for Symantec backup EXEC due to the fact (which they failed in let us know) that Backup EXEC does NOT run natively on any Linux platform as a standalone master server.¬† Great… I guess I should have known and shame on me for wanting a commercial app to run on Linux, but hey… I also didn’t know that the tapes for the drive are NTFS formatted by default and of course Linux cannot play with that filesystem formatting, but nothing a little fdisk-ing couldn’t fix… I am waiting for a quote back from Dell on their NetBackup 7.0.1 product (Also from Symantec…LOL)

, but I think it will be overkill to say the least for 1 server.¬† So in the interim, I whipped up a temp fix in the event that we opt for nothing…

Here is what I came up with:

#!/bin/bash
# A straight forward system backup script
#
LOGBASE=/var/log/backup/log
#BACKUP_ROOT_DIR=”a boot var etc”¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Backup dirs; do not prefix /
BACKUP_ROOT_DIR=”a”¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Backup dirs; do not prefix /
NOW=$(date +”%a”)¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Get todays day
TSTAMP=$(date +”%l:%M:%S”)¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Get time stamp H:M:S
TDATE=$(date -I)                                        ## Get todays date
TAPE=”/dev/sdb1″¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Backup device name
TAR_ARGS=””¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ## Exclude file
EXCLUDE_CONF=/root/.backup.exclude.conf                 ## Named file for file exclusion
LOGFILE=$LOGBASE/$TDATE.backup.log                      ## Backup Log file
FILELIST=$LOGBASE/$TDATE.backup.file-listing.log        ## Backup Log file list
# Path to binaries
TAR=/bin/tar
MKDIR=/bin/mkdir
#
full_backup(){
local old=$(pwd)
cd /
$TAR $TAR_ARGS -cvpf $TAPE $BACKUP_ROOT_DIR
cd $old
}
# Make sure all dirs exits
verify_backup_dirs(){
local s=0
for d in $BACKUP_ROOT_DIR
do
if [ ! -d /$d ];
then
echo “Error : /$d directory does not exit!”
s=1
fi
done
# if not; just die
[ $s -eq 1 ] && exit 1
}
# Make some kind of status report
report_backup_info(){
touch $LOGBASE/$TDATE.backup.file-listing.log
echo ”¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo ” ————————————————————————- ”
echo “|¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† |”
echo ”¬† Backup start time: $TSTAMP¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo ”¬† Operating System: `cat /etc/redhat-release`¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo ”¬† Size of the complete archive: `tar -tvf /dev/sdb1|wc -c` Bytes¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo ”¬† Size of the logged archive: `cat $FILELIST|wc -c` Bytes¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo ”¬† File count of the completed archive: `tar -tvf /dev/sdb1|wc -l` Files¬†¬†¬† ”
echo ”¬† File count of the logged archive: `cat $FILELIST|wc -l` Files¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
echo “|¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† |”
echo ” ————————————————————————- ”
echo ”¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ”
} > $LOGFILE 2>&1
#
#### MAIN ####
#
# Make sure log dir exits
[ ! -d $LOGBASE ] && $MKDIR -p $LOGBASE
#
# Verify dirs
verify_backup_dirs
#
#
# Okay let us start backup procedure
# If it is Monday-Friday make a full backup;
# Weekend no backups
case $NOW in
Mon|Tue|Wed|Thu|Fri)    full_backup;;
*) ;;
esac > $FILELIST 2>&1
# make the simple report
report_backup_info

Ahhh… The “Ghetto-scripts” live on… ūüôā

This is the output that I guess I could send in an email blast:

————————————————————————-
|                                                                                                                       |
Backup start time:  9:27:36
Operating System: Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Size of the complete archive: 4295 Bytes
Size of the logged archive: 4295 Bytes
File count of the completed archive: 93 Files
File count of the logged archive: 93 Files
|                                                                                                                       |
————————————————————————-

, , , , , , , , ,

2 Comments

Multidimensional Ramblings on String Theory


So as I was falling asleep last night and driving to work this morning I just had so many thoughts in my mind that I thought I would simply “jot” them down here…¬† That being said, nothing here is intended to really make any “typical” sense, but then that is the point isn’t it? Oh and the photo… is g-string theory… LOL ya I know it’s lame, but who doesn’t like the pic?? common’.. really?

As I was thinking about multidimensional space and how the 5th dimension is curled up so small that we cannot perceive it, it made me wonder if in fact we are looking at everything upside down.  To elaborate, although we exist in the 3rd dimension, as we understand dimensions, the 3rd dimension could be the highest dimension in PHYSICAL existence.  So if in fact we are going to count them and try to visualize them, 3 would be the MOST physical and 26 the least (or 10) so we are on top.  Not sure if order is even relevant in terms of visualization but I am trying to get my mind around a concept which cannot be conceived in a visual sense from a 3 dimensional perspective.   I have found Bosonic String Theory to be a complex mathematical postulate, with a difficulty in rendering a physical model, although this site has made an attempt to do just that.  Here is an overview:

Abstract:
The 26 dimensions of Closed Unoriented Bosonic String Theory are interpreted as the 26 dimensions of the traceless Jordan algebra J3(O)o of 3×3 Octonionic matrices, with each of the 3 Octonionic dimenisons of J3(O)o having the following physical interpretation:
4-dimensional physical spacetime plus 4-dimensional internal symmetry space;
8 first-generation fermion particles;
8 first-generation fermion anti-particles.
This interpretation is consistent with interpreting the strings as World Lines of the Worlds of Many-Worlds Quantum Theory and the 26 dimensions as the degrees of freedom of the Worlds of the Many-Worlds.

Ya that’s a tough one right? We somehow need to get this into a frame of reference for our collective peoples.¬† Is that even possible?¬† Do you even care?

Although we cannot really comprehend any of this, to illustrate something, I will start with a singularity.¬† In a black-hole there is postulated to be a singularity @ its center, of ultimate power. This is the power source behind the nearly immeasurable power of the black-hole.¬† The comparison I draw is this… although the singularity is immeasurable, and frankly my not even exist in our 3 dimensional space, it’s influence is massive to say the least.¬† From this indescribably small point the incomprehensible power of the black-hole is realized in the 3rd dimension.¬† Therefore, possibly this model represents the underlying power of influence other, sub-physical, dimensions have upon everything we experience in physical reality.¬† Would it be unreasonable to think that if were were to traverse a black-hole we would in fact be traversing all 26 dimensions?¬† Something we could not possibly survive based on the immense amount of energy required to bend space-time in that way?

So this begs the question, can we experience God?¬† Possibly we can only experience the influence of God, just as we (all lots of other stuff ūüôā ) experience the influence of a black-hole.¬† It is in fact an indirect experience relative to position… LOL I had to throw that in there ūüôā

, , , , , , , , , ,

Leave a comment

SOFTware-pantyRAID


OK… so I completed a build yesterday and of course being the great engineer that I am (LOL), I didn’t add the final disk set to the vm for the bulk of the filesystem to be used for the native application.¬† I figured it would be easy enough to create the RAID array without clobbering the whole system and starting over… I was right… and it was a cool learning experience to boot.¬† I have sort-of (and I am really stressing that) created it as an interactive “ghetto-script” but I wrote that part AFTER I did everything manually… so be fore-warned.

#!/bin/bash
#
# Create a RAID 1 array from (2) new disks added to the system
#
# Determine what the new disks are (If you do not already know)
cat /proc/partitions
echo “OK your disk choices are listed above…”
echo “Select the first disk, press [ENTER]”
read disk1
echo “Now select the 2nd disk, press [ENTER]”
read disk2
echo “Just to confirm, these are the 2 disks you selected $disk1 & $disk2, enter[Y/N]”
read yesorno
#
if [[$yesorno == “Y”|| $yesorno == “y” ]]; then
echo “Great let’s move on”;
else echo “OK, let’s start again…”;
echo “ready?”; sleep 2;
bash test.sh
fi
#
echo “OK, there may be some interaction here”
echo “Also keep in mind that this will create a single full partiton on the disk(s)”
for i in $disk1 $disk2; do mkfs -t ext3 /dev/$i; done
echo “OK the file systems have been created. let’s create the array now”
mdadm –detail –scan
echo “What name would you like to use for your md device? i.e. md4, md5, etc…”
echo “Select something NOT listed above… :)”
read mdname
echo “Also, I need to know what RAID level u desire (0=stripe, 1=mirror, etc…)”
read Rlevel
mdadm –create /dev/$mdname –level=$Rlevel –raid-devices=2 /dev/$disk11 /dev/$disk21
# Make the ext3 filesystems on the new RAID device now
mkfs -t ext3 /dev/$mdname

uuid=`mdadm –detail /dev/md5|grep UUID|awk ‘{print $3}’`
echo “ARRAY /dev/$mdname level=raid1 num-devices=2 uuid=$uuid” >> /etc/mdadm.conf
# OR
echo “ARRAY /dev/$mdname level=raid1 num-devices=2 uuid=`mdadm –detail /dev/md5|grep UUID|awk ‘{print $3}’` >> /etc/mdadm.conf
echo “OK what r u going to mount this new array on”
read mountpt
echo “/dev/$mdname¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† /$mountpt¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬†¬† ext3¬†¬†¬† defaults¬†¬†¬†¬†¬†¬†¬† 1 2” >> /etc/fstab
mount -a
df -h
#
#
# EOF

Begining of the Notes section of the process:
for i in c d; do mkfs -t ext3 /dev/sd$i; done
mdadm:

[root@cent55vm ~]# cat /proc/partitions
major minor  #blocks  name

8     0   15728640 sda
8     1     104391 sda1
8     2   10498477 sda2
8     3    2562367 sda3
8     4    2562367 sda4
8    16   15728640 sdb
8    17     104391 sdb1
8    18   10498477 sdb2
8    19    2562367 sdb3
8    20    2562367 sdb4
8    32   12582912 sdc <РNEW Disk
8    48   12582912 sdd <РNEW Disk
9     0   10498368 md0
9     2    2562240 md2
9     1    2562240 md1
9     3     104320 md3

[root@cent55vm ~]# for i in c d; do mdadm –query /dev/sd$i; done
/dev/sdc: is an md device which is not active
/dev/sdc: No md super block found, not an md component.
/dev/sdd: is not an md array
/dev/sdd: No md super block found, not an md component.

[root@cent55vm ~]# mdadm –create /dev/md5 –level=1 –raid-devices=2 /dev/sd[cd]1
[root@cent55vm ~]# mdadm –stop –scan /dev/md5
mdadm: stopped /dev/md5
[root@cent55vm /]# mkfs -t ext3 /dev/md5
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1572864 inodes, 3144688 blocks
157234 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3221225472
96 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cent55vm ~]# mdadm –query /dev/md5
/dev/md5: 11.100GiB raid1 2 devices, 0 spares. Use mdadm –detail for more detail.
/dev/md5: No md super block found, not an md component.

[root@cent55vm ~]# cat /etc/mdadm.conf

# mdadm.conf written out by anaconda
DEVICE partitions
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 uuid=d8f8e0f1:caa5c290:62f0c003:e5ed749b
ARRAY /dev/md3 level=raid1 num-devices=2 uuid=ff5e4f19:159926bd:d6f963ca:e2b5dd18
ARRAY /dev/md2 level=raid1 num-devices=2 uuid=fdddc210:d340c10e:abec408b:83be0dfe
ARRAY /dev/md1 level=raid1 num-devices=2 uuid=9a79ae00:c847b003:d1212b6b:e1698b20
[root@cent55vm ~]# mdadm –detail /dev/md5|grep UUID
UUID : 746ec738:0867caf1:bcb45960:2e9b2dde
[root@cent55vm ~]# echo “ARRAY /dev/md5 level=raid1 num-devices=2 uuid=746ec738:0867caf1:bcb45960:2e9b2dde” >> /etc/mdadm.conf
[root@cent55vm /]# mdadm –detail /dev/md5
/dev/md5:
Version : 0.90
Creation Time : Tue Sep 21 09:18:15 2010
Raid Level : raid1
Array Size : 12578752 (12.00 GiB 12.88 GB)
Used Dev Size : 12578752 (12.00 GiB 12.88 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 5
Persistence : Superblock is persistent

Update Time : Tue Sep 21 09:59:58 2010
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : 746ec738:0867caf1:bcb45960:2e9b2dde
Events : 0.2

Number   Major   Minor   RaidDevice State
0       8       33        0      active sync   /dev/sdc1
1       8       49        1      active sync   /dev/sdd1

, , , , , , , , ,

Leave a comment

VNC-me…


So I was messing around with VNC this past week since I haven’t posted anything in a while I thought I would share this trivial yet useful process to be up and running in a few minutes… Sorry if my notes are a bit scattered…

Set up  VNC server:

for root:
[root@oracler5u5 ~]# rpm -qa|grep vnc
vnc-4.1.2-14.el5_3.1
vnc-server-4.1.2-14.el5_3.1
from  /root: Or the users home dir:
mkdir .vnc
cd .vnc

vncpasswd
Password:
Verify:

vi xstartup
#!/bin/sh
# Add the following line to ensure you always have an xterm available.
( while true ; do xterm ; done ) &
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
#
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &

cat /etc/sysconfig/vncservers
VNCSERVERS=”1:root 2:gmc 3:emf”
VNCSERVERARGS[1]=”-geometry 1152×864″
VNCSERVERARGS[2]=”-geometry 1152×864″
VNCSERVERARGS[3]=”-geometry 1152×864″

[root@oracler5u5 ~]# service vncserver restart
Shutting down VNC server: 1:root 2:gmc 3:emf               [  OK  ]
Starting VNC server: 1:root
New ‘oracler5u5.proserve.local:1 (root)’ desktop is oracler5u5.proserve.local:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/oracler5u5.proserve.local:1.log

2:gmc
New ‘oracler5u5.proserve.local:2 (gmc)’ desktop is oracler5u5.proserve.local:2

Starting applications specified in /home/gmc/.vnc/xstartup
Log file is /home/gmc/.vnc/oracler5u5.proserve.local:2.log

3:emf
New ‘oracler5u5.proserve.local:3 (emf)’ desktop is oracler5u5.proserve.local:3

Starting applications specified in /home/emf/.vnc/xstartup
Log file is /home/emf/.vnc/oracler5u5.proserve.local:3.log

[  OK  ]

Add approprite ports to iptables:
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5902 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 5903 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 5902 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 5903 -j ACCEPT

Done

Connect with VNC Viewer:

192.168.11.53:5901        root user as defined in /etc/sysconfig/vncservers
192.168.11.53:5902        gmc user as defined in /etc/sysconfig/vncservers
192.168.11.53:5903        emf user as defined in /etc/sysconfig/vncservers
cat /etc/sysconfig/vncservers
VNCSERVERS=”1:root 2:gmc 3:emf”
VNCSERVERARGS[1]=”-geometry 1152×864″
VNCSERVERARGS[2]=”-geometry 1152×864″
VNCSERVERARGS[3]=”-geometry 1152×864″

, , , , ,

Leave a comment