Sunday, December 06, 2009

Da Jie's 4 years old birthday

ok

New season

It's year end. To many people, this season is supposed to be ending in less than 3 weeks. To me, it is challenge ahead, and looks to me the new season is already starting now......
No problem, i will get thru this whole thing.

Sunday, November 01, 2009

It's had been a busy quater

The last post dated July 29, when i started on a new project. Now, the project is over and i am a bit easy now. It's time to sit down and summarize some of the important things i learnt.

Wednesday, July 29, 2009

New project

This project that i am doing now is something i dont usually do: linux with multiple bonding, acronis for os backup, netbackup with ndmp option, server view.
I hope to finish up this project soon.

Tuesday, June 16, 2009

This is simplified IPMP Settings



Check IPMP daemon.


Before failover.


After failover.



This works as well, though not recommended.

Monday, June 15, 2009

Good feature..fast way to plumb up interface.....and ipmp quick test

1. add pw450fjgi1, pw450fjgi2, pw450fjgivirtual to the hosts file.

root@pw450 # vi /etc/hosts
"/etc/hosts" [Read only] 20 lines, 452 characters
#
# Internet host table
#
::1 localhost
127.0.0.1 localhost
192.168.100.119 pw450 pw450. loghost
192.168.100.136 pw850

172.16.32.78 pw450fjgi1
172.16.32.79 pw450fjgi2
172.16.32.89 pw450fjgivirtual



2. Run the following commands, both interfaces are up.

root@pw450 # echo pw450fjgi1 > /etc/hostname.fjgi1
root@pw450 # echo pw450fjgi2 > /etc/hostname.fjgi2
root@pw450 # svcadm restart physical
root@pw450 # ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.100.119 netmask ffffff00 broadcast 192.168.100.255
ether 0:e0:0:c4:b8:81
fjgi1: flags=1000843 mtu 1500 index 3
inet 172.16.32.78 netmask ffff0000 broadcast 172.16.255.255
ether 0:b:5d:d7:d9:bb
fjgi2: flags=1000803 mtu 1500 index 4
inet 172.16.32.79 netmask ffff0000 broadcast 172.16.255.255
ether 0:e0:0:a6:f1:e4


OK. Now further to configure IPMP.
Edit fjgi1 and fjgi2. The logical ip will run on fjgi1 first.

root@pw450 # cat /etc/hostname.fjgi1
pw450fjgi1 netmask + broadcast + group ipmp7889 deprecated -failover up addif pw450fjgivirtual netmask + broadcast + failover up
root@pw450 # cat /etc/hostname.fjgi2
pw450fjgi2 netmask + broadcast + group ipmp7889 deprecated -failover standby up
root@pw450 #

Restart the interface:

root@pw450 # svcadm restart physical
root@pw450 # ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.100.119 netmask ffffff00 broadcast 192.168.100.255
ether 0:e0:0:c4:b8:81
fjgi1: flags=9040843 mtu 1500 index 3
inet 172.16.32.78 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:b:5d:d7:d9:bb
fjgi1:1: flags=1000843 mtu 1500 index 3
inet 172.16.32.89 netmask ffff0000 broadcast 172.16.255.255
fjgi2: flags=69040843 mtu 1500 index 4
inet 172.16.32.79 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:e0:0:a6:f1:e4


**This is really good, no need to plumb and unplumb using ifconfig.

Check if mpathd running...well it is not.
root@pw450 # pgrep -lf mpathd
root@pw450 #

Start it.
root@pw450 # /usr/lib/inet/in.mpathd
root@pw450 # pgrep -lf mpathd
21055 /usr/lib/inet/in.mpathd
root@pw450 #

Now the pull cable test. fjgi1 cable is unplugged. This is fast.

root@pw450 #tail -f /var/adm/messages
Jun 16 14:59:26 pw450 fjgi: [ID 391805 kern.notice] fjgi1: network connection down
Jun 16 14:59:26 pw450 in.mpathd[21055]: [ID 215189 daemon.error] The link has gone down on fjgi1
Jun 16 14:59:26 pw450 in.mpathd[21055]: [ID 594170 daemon.error] NIC failure detected on fjgi1 of group ipmp7889
Jun 16 14:59:26 pw450 in.mpathd[21055]: [ID 832587 daemon.error] Successfully failed over from NIC fjgi1 to NIC fjgi2


Check ifconfig output. IT failed over nicely.

root@pw450 # ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.100.119 netmask ffffff00 broadcast 192.168.100.255
ether 0:e0:0:c4:b8:81
fjgi1: flags=19040803 mtu 1500 index 3
inet 172.16.32.78 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:b:5d:d7:d9:bb
fjgi2: flags=29040843 mtu 1500 index 4
inet 172.16.32.79 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:e0:0:a6:f1:e4
fjgi2:1: flags=21000843 mtu 1500 index 4
inet 172.16.32.89 netmask ffff0000 broadcast 172.16.255.255


How about my ping test?

64 bytes from 172.16.32.89: icmp_seq=29. time=0.346 ms
64 bytes from 172.16.32.89: icmp_seq=30. time=0.352 ms
64 bytes from 172.16.32.89: icmp_seq=31. time=0.380 ms
64 bytes from 172.16.32.89: icmp_seq=32. time=1.45 ms
64 bytes from 172.16.32.89: icmp_seq=33. time=0.366 ms
64 bytes from 172.16.32.89: icmp_seq=34. time=0.344 ms
64 bytes from 172.16.32.89: icmp_seq=35. time=0.263 ms
64 bytes from 172.16.32.89: icmp_seq=36. time=0.387 ms

OK! That's no bad!

Now plug the cable back.

Jun 16 14:59:26 pw450 in.mpathd[21055]: [ID 832587 daemon.error] Successfully failed over from NIC fjgi1 to NIC fjgi2
Jun 16 15:03:59 pw450 fjgi: [ID 111774 kern.notice] fjgi1: network connection up
Jun 16 15:03:59 pw450 fjgi: [ID 513339 kern.notice] autonegotiation: on
Jun 16 15:03:59 pw450 fjgi: [ID 268518 kern.notice] speed: 100
Jun 16 15:03:59 pw450 fjgi: [ID 537610 kern.notice] flowctrl: none
Jun 16 15:03:59 pw450 fjgi: [ID 511210 kern.notice] duplex: full
Jun 16 15:03:59 pw450 fjgi: [ID 111774 kern.notice] fjgi1: network connection up
Jun 16 15:03:59 pw450 fjgi: [ID 513339 kern.notice] autonegotiation: on
Jun 16 15:03:59 pw450 fjgi: [ID 268518 kern.notice] speed: 100
Jun 16 15:03:59 pw450 fjgi: [ID 537610 kern.notice] flowctrl: none
Jun 16 15:03:59 pw450 fjgi: [ID 511210 kern.notice] duplex: full
Jun 16 15:03:59 pw450 in.mpathd[21055]: [ID 820239 daemon.error] The link has come up on fjgi1
Jun 16 15:04:14 pw450 in.mpathd[21055]: [ID 299542 daemon.error] NIC repair detected on fjgi1 of group ipmp7889
Jun 16 15:04:14 pw450 in.mpathd[21055]: [ID 620804 daemon.error] Successfully failed back to NIC fjgi1

And the ifconfig output. It's back to normal.

root@pw450 # ifconfig -a
lo0: flags=2001000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.100.119 netmask ffffff00 broadcast 192.168.100.255
ether 0:e0:0:c4:b8:81
fjgi1: flags=9040843 mtu 1500 index 3
inet 172.16.32.78 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:b:5d:d7:d9:bb
fjgi1:1: flags=1000843 mtu 1500 index 3
inet 172.16.32.89 netmask ffff0000 broadcast 172.16.255.255
fjgi2: flags=69040843 mtu 1500 index 4
inet 172.16.32.79 netmask ffff0000 broadcast 172.16.255.255
groupname ipmp7889
ether 0:e0:0:a6:f1:e4


This quick test and memory refresh of my ipmp is good!

just a quick note on secure shell client



Client: WinXP using Secure Shell ssh client.
Server: Solaris 10 running Openssh protocol 2.

This is for myself so that i remember how to do it next time..

1. my laptop has got secure shell ssh client installed.




2. On my solaris 10.

root@pw450 # pgrep -lf ssh
18746 /usr/lib/ssh/sshd
632 /usr/lib/ssh/sshd
18749 /usr/lib/ssh/sshd
root@pw450 # svcs ssh
STATE STIME FMRI
online 10:33:00 svc:/network/ssh:default


3. Generate a private key on my ssh client and uploaded to server pw450.




4. Check on Solaris server pw450. The public key has been uploaded to /.ssh2.

root@pw450 # cd /.ssh2

root@pw450 # pwd

/.ssh2

root@pw450 # ls

authorization wh7889.pub

root@pw450 #

5. Run the following command to convert the key from IETF SECSH to OpenSSH key file.


#ssh-keygen -i -f /.ssh2/wh7889.pub > /.ssh/wh7889ossh.pub


6. The public key format has changed to Openssh format.

root@pw450 # pwd

/.ssh

root@pw450 # ls

authorized_keys known_hosts wh7889ossh.pub

root@pw450 # ls -l wh7889ossh.pub

-rw-r--r-- 1 root root 1613 Jun 16 12:06 wh7889ossh.pub

root@pw450 #

7. Create authorized_keys.

root@pw450 # cat wh7889ossh.pub > authorized_keys

root@pw450 # more authorized_keys

ssh-dss AAAAB3NzaC1kc3MAAAGBAJ5uyGdcXoAaHKZBhOYCt8GlHyV9Q8bvH2wWQ+/Anh87CtiRVTHk

S8XkHHyX5W07dDQjYUe9eGNFkCeKLvliFnsKnyTienLGoKt/9Dm1KruQU4IVrsUiAzMVnI2qCvO0kAIH

DJe0f2dlOuOU0xhc+OCxhAL6vrnKNeAeHZe9sKx1hjTIhMrANO0NJFapy+575T+veFERp5r3WFCPNIqU

CxXNjLSMP6qaOw0IXSMqnUNaWp/eiYzRRVwpjPovJMTyDBq5PXdmYYr3m0u2U6hQqs/Bq5BPSgW/swiD

n+8zvyTuQ1I+1WsYdjXjkT6dHt8T31x6FUf37kTt52Hded0dHGOr0C7+IDOCQuxpBXoyzugi9GNBeKBR

R7fkO5QSt3aHt7kB/J/cv2dQUeewiSATI+7rH4G2j0OEjezPKmi5dbBZYEz4bScgwidflkvKEQaXmjoj

1ihT4L8POEN/1i/jeGPEIafAo3XOQW3+Y29bq6sXGhHRLKIDX/30uRsG7n/NhwAAABUAxcHf6DCO8UqE

edcQemYJAWR5InMAAAGAU6FmPa4NFE1madfIyN1bl3VlP0Kl4bu73SwFFVhI6YkapItr9iRa9MayH0oJ

5u6HyY5J0WVVOHTEq8C7TSrTPyy7S9ACWED/bJpruw1tJIHQSpP53oRea1rzrHKCN5dmXT+/3pivV15R

SX5eomKGun6+XZCy2i8JqQoc4KlZlVmWJ+Xsil+vJvTbBz1WeVBaJpxsh+ZWIEr4ljYS6Ra9ZPlQZYlx

8dVxnMhx2tf2uwazQmkokBuQNiSgnrQbu7boekxUfLSuncqQs4PORm8chWEjaFpUPeoPbsOYvh9yahks

auo36JMFZb2w6h1KKWPsySR5nUkQ0DeLvid1uPFQhXeiUOG+1WwW3VK1nwezVZzZL9VYtrOBZVCbBSgw

wMLO2CFkjXLIVX3Gog51Y3KmpSWa/u4Cplb2xHrSlErn+bjk6wUhDhyCbVjU+gPhSlUb54BbrExmj9AE

KKsSgTayb9kViENLvEVcShFrw6cXKD5G6ec/j497Az80Crck2NRNAAABgG/l5ITDh5oLTGjcPPj6+vaC

S+uYOErcD83QY9PYQveHiaePyFYVbAS2MYoJ8Rjbem2RBxTKDMHr4ZK903NAy5d5XOLivDBx+vFwJiDp

FzC0UEoyN6tervPMqMC978+4wvUYSggZJ302MPYW4Qp9kAHCoSVPTlFnoRbpSOh32Prd3urGZHxHF9+1

rgdlU1mGek91Qa6XZfnVu2PfGixg6SmGkBwOb/9pAbrCPmHnzklQJ5X7uQSamVTkscsQdo//o8Z4FjOb

6eHZu2lnSPde0FtP0WPt4R0emQ99LSuFKrBKDcXQ1g3TKFG5kg8XJkUqpSDH7dcWx9pXQq54sJX6fMWh

skYvsJuuj752TGtbpz294AnPYlAGFNyRr9yvccaSXTzNFuTYY5O+zwM4+FqNb0i3FeSgVtl1L75hRUVF

bQagweAwsk9zENMMvO5eziuEpX+B+qbZytnzLx3VccgVcSXh624EAZWbYhSwSpF7wMhTLlMl+Qe/DgMF



8. Login using public key and u will be prompted to enter passphrase. Yes!!








Wednesday, April 29, 2009

Friday, April 24, 2009

BMR on Windows

BMR on Solaris is done now...next challenge is BMR on Windows with Dissimilar System Restore. The hardware will be Fujitsu Primergy...

Tuesday, March 31, 2009

BMR on Unix

Finally it looks ok now at least on Solaris. Managed to figure out how to restore a VxVM encapsulation mirrored disks to a single disk. Assuming we faced a difficult situation where both boot disk and mirrored disks are gone at the same time.
The key thing is not to automatically create all the mapping. Add the new disk to the rootdg diskgroup first. Then do the mapping from the original layout/volume to the new volume.
Restore ran successful and boot up on a single disk.

Saturday, March 28, 2009

BMR

Tried the followings:
1. Restored to the same disk without VxVM.
2. Restored to different disk.
3. Restored to the same disk with VxVM encapsulation.
4. Restored to the mirrored boot disks with VxVM encapsulation.

Wednesday, March 25, 2009

BMR Error "Unable to make Registry modification required to boot the system"

Yes. I am hitting this error.
Google leads me to symantec website: http://seer.entsupport.symantec.com/docs/301490.htm
which doesn't help much.

BMR Disimilar System Restore

This feature isn't working for me yet. I keeps encountered this "Unable to perform Registry Modification after restoration.....". And the restore stopped there. A reboot of the system kicks you into a dark screen complaining "NTLDR is missing, press ctl-alt-delete to reboot".
Each time it takes about 15 minutes to restore the whole thing...
Long way to go...
;-(

Friday, March 13, 2009

celcom website?!?!

I always have very bad experience surfing celcom website, all i can say about this site is "SLOW"!.
Compare the response speed with Maxis, Celcom's website is light year behind!!
Consider switching to Maxis.

Bad news and good news...

Good news is that I had a full week rest finally, "thanks" to the accident happened outside the mosque. That was a good lesson learnt that never have too much confidence when you are riding. This is bad news.

Thursday, February 12, 2009

Solaris 10 Update 6 x86 version

Well, it's not running fine on my Fujitsu Life Book S2110. The drivers are not there yet. I tested mandriva one. That's one works out of the box. aiiii............

Minor problems VCS Oracle Setup

The past 2 months were particularly busy for me. It is better now. I have sometime to sit down to do some testing again.
2 problems that i faced when i setup the VCS Oracle HA again:
As i installed Oracle on local host. So of the config files are not shared.

1. listener.ora
2. Audit file directory

Problem 1:
To have static registration and listen to virtual host. This is the config that works for me. The one in red are not in the VCS agent guide.

listener.ora
==============
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /export/home/oracle/10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = murex88)
(ORACLE_HOME = /export/home/oracle/10g)
(SID_NAME = murex88)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mxpvip)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)


Problem 2:
When startup Oracle on the second cluster node, an error comes out:
ORA-09925: Unable to create audit trail file
SVR4 Error: No such file or directory.

This one is self explanatory. As i installed Oracle on local host and only datafiles are shared, this one need to be manually created. Check the audit_file_dest and created the directory. Problem solved.