Thursday, April 17, 2008

Bug in Tectia SSH2

Here's the description of the problem found:

Solaris 10 08/07 running multiple containers. In one of the containers Tectia SSH2 server is installed and run. The Solaris' openssh server is disabled. I found this while installing Oracle 10gR2 in the container. To install Oracle in the container, i have created a project called user.oracle (as usual) and assign the project to oracle user.

When i login to the container using zlogin, the user oracle shows that is has correct project "user.oracle" assigned. But login using f-secure ssh client shows that the project still has assigned to the default project "user.root". I have problem determining the problem in the first place as i used ssh, zlogin and telnet all at the same time and annoyed by the 'intermittent' occurrence of project that showed incorrectly to the user oracle.

At last, i noticed it, and i shutdown the Tectia ssh2 server and started the Solaris Openssh server. Yes, login as user oracle using f-secure client or putty ssh client all show correct project assigned.

See below:

Global zone hostname: pw450
Container name: dbtest

Container running solaris openssh and login using either putty or f-secure shows correct project.































Container running Tectia SSH2 server and login as oracle using either putty or f-secure shows incorrect project assigned.





Not sure this is a bug or some misconfiguration.

Kernel setup for Oracle 10g

Command to add kernel settings for oracle in project user.oracle.
=====================================================

#projadd -U oracle -K "project.max-shm-memory=(priv,4g,deny)" -K "project.max-sem-nsems=(priv,256,deny)" -K "project.max-sem-ids=(priv,100,deny)" -K "project.max-shm-ids=(priv,100,deny)" user.oracle

Monday, April 14, 2008

Melaka Trip


It was a rainy day when we reached Melaka, and mom wanted me to take a photo here.

Sunday, April 06, 2008

Veritas Storage Checkpoint

create
# fsckptadm -v create thu_7pm /checkpt1

Mount
# mount -F vxfs -o ckpt=thu_7pm /dev/vx/dsk/datadg/vol1:thu_7pm /checkpt1

remount
# mount -F vxfs -o ckpt=may_23,remount,rw /dev/vx/dsk/datadg/vol1:may_23 /fsvol_may_23

umount
# umount /fsvol_may_23

#umount /dev/vx/dsk/datadg/vol1:may_23


Convert data to no data chkpt
# fsckptadm -s set nodata thu_7pm /checkpt1 (convert data to nodata)

-s option means synchronous

this nodata checkpoint only contains a collection of markers

# fsckptadm set nomount thu_7pm /checkpt (convert mountable to non-mount)


# fsckptadm set remove thu_7pm /checkpt (convert non-removeable to removeable)

set quotas
# fsckptadm setquotalimit /checkpt1 1024 512

1024 - no.of hard limit blocks
512 - no.of soft limit blocks

remove
# fsckptadm remove thu_7pm /checkpt1

list
# fsckptadm -clv list /mnt0

-c : resets statiscal counters
-l : displays statistical info on the fs, in addition to its checkpoints
-v: verbose mode, displays extensive statistical info

restoring a file system

# fsckpt_restore -l /dev/vx/dsk/datadg/vol01

Friday, April 04, 2008

Full-sized instant volume snapshots - method 2 : using empty volume

Full-sized instant volume snapshots - method 2 : using empty volume

1. find the required size for the snapshot volume.

#LEN=`vxprint -g datadg -F%len vol01`

2. find the name of the dco volume

#DCONAME=`vxprint -g datadg -F%dco_name vol01`

3. find the dco region size.

#RSZ=`vxprint -g datadg -F%regionsz $DCONAME`

4. Create a volume of the required size and redundancy

#vxassist -g datadg make snapvol01 $LEN init=active

5. To prepare the volume for snapshot operation
(to enable the fast resync using dco)

#vxsnap -g datadg prepare snapvol regionsize=$RSZ

6. create the snapshot using the empty volume.

#vxsnap -g datadg make source=vol01/snapvol=snapvol01

7. split the snapshot volume into a separate disk group

#vxdg split datadg offhostdg snapvol01

or

#vxdg -g datadg -o expand split datadg offhostdg snapvol01 snapvol02

8. deport the disk group

#vxdg deport offhostdg

9. import the disk group in remote host

(remote host)#vxdg import offhostdg

10. recover the disk group

(remote host)#vxdg -g offhostdg -sb

11. XXX Perform off-host processing XXX
fsck and mount, etc.....

12. deport the disk group

(remote host)#vxdg deport offhostdg

13. import back on the local host.

#vxdg import offhostdg

14. join the disk group

#vxdg join offhostdg datadg

15. Recover the disk group.

#vxrecover -sb

if the volume still in disabled state, then start it.

#vxvol -g datadg start vol01

16. update the snapshot volume
(refreshing the volume will sync the changed block from vol01 to
snapvol01)


#vxsnap -g datadg refresh snapvol01

or

#vxsnap -g datadg refresh snapvol01 source=vol01

17. If full resync of the volume is needed, then a reattach is required.

#vxsnap -g datadg reattach snapvol01 source=vol01

18. remove the snapshot volume if not required anymore.

#vxedit -g datadg -rf rm snapvol01

Full-Sized Instant Volume Snapshots - method 1: addmir to have 1 plex to attach to the volume.

1. A mirrored-volume created with 2 plexes and fastresync turned on
====================================================================

pw250(root)::vxsnap -g tdg prepare v8

pw250(root)::vxprint -htg tdg v8
V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE
PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE
SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE
SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE
SC NAME PLEX CACHE DISKOFFS LENGTH [COL/]OFF DEVICE MODE
DC NAME PARENTVOL LOGVOL
SP NAME SNAPVOL DCO
EX NAME ASSOC VC PERMS MODE STATE
SR NAME KSTATE

v v8 - ENABLED ACTIVE 409600 SELECT - fsgen
pl v8-01 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk1-01 v8-01 disk1 0 409600 0 c2t8d18 ENA
pl v8-02 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk2-01 v8-02 disk2 0 409600 0 c2t8d19 ENA
dc v8_dco v8 v8_dcl
v v8_dcl - ENABLED ACTIVE 544 SELECT - gen
pl v8_dcl-01 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk6-01 v8_dcl-01 disk6 0 544 0 c2t8d17 ENA
pl v8_dcl-02 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk3-01 v8_dcl-02 disk3 0 544 0 c2t8d20 ENA



2.Additional snap plex has been added to the volume.

pw250(root)::vxsnap -g tdg addmir v8 plex=v8snap-v3 alloc=disk4
====================================================================
v v8 - ENABLED ACTIVE 409600 SELECT - fsgen
pl v8-01 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk1-01 v8-01 disk1 0 409600 0 c2t8d18 ENA
pl v8-02 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk2-01 v8-02 disk2 0 409600 0 c2t8d19 ENA
pl v8-03 v8 ENABLED SNAPDONE 409600 CONCAT - WO
sd disk4-01 v8-03 disk4 0 409600 0 c2t8d21 ENA
dc v8_dco v8 v8_dcl
v v8_dcl - ENABLED ACTIVE 544 SELECT - gen
pl v8_dcl-01 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk6-01 v8_dcl-01 disk6 0 544 0 c2t8d17 ENA
pl v8_dcl-02 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk3-01 v8_dcl-02 disk3 0 544 0 c2t8d20 ENA
pl v8_dcl-03 v8_dcl DISABLED DCOSNP 544 CONCAT - RW
sd disk4-02 v8_dcl-03 disk4 409600 544 0 c2t8d21 ENA




3. After break off the plex, it is used to create new snapshot volume

pw250(root)::vxsnap -g tdg make source=v8/newvol=v8snapvol/plex=v8-03
pw250(root)::
================================================================

v v8 - ENABLED ACTIVE 409600 SELECT - fsgen
pl v8-01 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk1-01 v8-01 disk1 0 409600 0 c2t8d18 ENA
pl v8-02 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk2-01 v8-02 disk2 0 409600 0 c2t8d19 ENA
dc v8_dco v8 v8_dcl
v v8_dcl - ENABLED ACTIVE 544 SELECT - gen
pl v8_dcl-01 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk6-01 v8_dcl-01 disk6 0 544 0 c2t8d17 ENA
pl v8_dcl-02 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk3-01 v8_dcl-02 disk3 0 544 0 c2t8d20 ENA
sp v8snapvol_snp v8 v8_dco

v v8snapvol - ENABLED ACTIVE 409600 ROUND - fsgen
pl v8-03 v8snapvol ENABLED ACTIVE 409600 CONCAT - RW
sd disk4-01 v8-03 disk4 0 409600 0 c2t8d21 ENA
dc v8snapvol_dco v8snapvol v8snapvol_dcl
v v8snapvol_dcl - ENABLED ACTIVE 544 ROUND - gen
pl v8_dcl-03 v8snapvol_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk4-02 v8_dcl-03 disk4 409600 544 0 c2t8d21 ENA
sp v8_snp v8snapvol v8snapvol_dco
pw250(root)::




4. Split the diskgroup to create a new snap diskgroup
============================================================

pw250(root)::vxdg split tdg snapdg v8snapvol
pw250(root)::
pw250(root)::vxprint -htg snapdg
............
..........

dg snapdg default default 46000 1207136413.39.pw250

dm disk4 c2t8d21s2 auto 65536 10141440 -

v v8snapvol - DISABLED ACTIVE 409600 ROUND - fsgen
pl v8-03 v8snapvol DISABLED ACTIVE 409600 CONCAT - RW
sd disk4-01 v8-03 disk4 0 409600 0 c2t8d21 ENA
dc v8snapvol_dco v8snapvol v8snapvol_dcl
v v8snapvol_dcl - DISABLED ACTIVE 544 ROUND - gen
pl v8_dcl-03 v8snapvol_dcl DISABLED ACTIVE 544 CONCAT - RW
sd disk4-02 v8_dcl-03 disk4 409600 544 0 c2t8d21 ENA
sp v8_snp v8snapvol v8snapvol_dco


pw250(root)::vxprint -htg tdg
............
.....

v v8 - ENABLED ACTIVE 409600 SELECT - fsgen
pl v8-01 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk1-01 v8-01 disk1 0 409600 0 c2t8d18 ENA
pl v8-02 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk2-01 v8-02 disk2 0 409600 0 c2t8d19 ENA
dc v8_dco v8 v8_dcl
v v8_dcl - ENABLED ACTIVE 544 SELECT - gen
pl v8_dcl-01 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk6-01 v8_dcl-01 disk6 0 544 0 c2t8d17 ENA
pl v8_dcl-02 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk3-01 v8_dcl-02 disk3 0 544 0 c2t8d20 ENA
sp v8snapvol_snp v8 v8_dco


5. EXport the diskgroup
=========================
pw250(root)::vxdg deport snapdg
pw250(root)::vxdg list
NAME STATE ID
oracledg enabled,cds 1205751433.22.pw450
tdg enabled,cds 1207125877.35.pw250




6. Import the diskgroup on the remote host
===========================================

pw450(root)-->vxdg import snapdg
pw450(root)-->vxrecover -g snapdg -sb
pw450(root)-->
pw450(root)-->vxprint -htg snapdg
.........
..........

dg snapdg default default 46000 1207136413.39.pw250

dm disk4 c3t18d21s2 auto 65536 10141440 -

v v8snapvol - ENABLED ACTIVE 409600 ROUND - fsgen
pl v8-03 v8snapvol ENABLED ACTIVE 409600 CONCAT - RW
sd disk4-01 v8-03 disk4 0 409600 0 c3t18d21 ENA
dc v8snapvol_dco v8snapvol v8snapvol_dcl
v v8snapvol_dcl - ENABLED ACTIVE 544 ROUND - gen
pl v8_dcl-03 v8snapvol_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk4-02 v8_dcl-03 disk4 409600 544 0 c3t18d21 ENA
sp v8_snp v8snapvol v8snapvol_dco
pw450(root)-->
pw450(root)-->
pw450(root)-->mount -F vxfs /dev/vx/dsk/snapdg/v8snapvol /vsnap
pw450(root)-->
pw450(root)-->df -h /vsnap
Filesystem size used avail capacity Mounted on
/dev/vx/dsk/snapdg/v8snapvol
200M 2.1M 186M 2% /vsnap



7. Deport from remote host and import on original host
==========================================================

pw450(root)-->umount /vsnap
pw450(root)-->
pw450(root)-->vxdg deport snapdg

pw250(root)::vxdg import snapdg
pw250(root)::
pw250(root)::vxrecover -g snapdg -sb
pw250(root)::


8. Join the snap disk group into original disk group
=========================================================
pw250(root)::vxdg join snapdg tdg
pw250(root)::vxprint -htg tdg
..........
...

dg tdg default default 15000 1207125877.35.pw250

dm disk1 c2t8d18s2 auto 65536 10141440 -
dm disk2 c2t8d19s2 auto 65536 10141440 -
dm disk3 c2t8d20s2 auto 65536 10141440 -
dm disk4 c2t8d21s2 auto 65536 10141440 -
dm disk5 c2t8d22s2 auto 65536 10141440 -
dm disk6 c2t8d17s2 auto 65536 20381440 -

v v8 - ENABLED ACTIVE 409600 SELECT - fsgen
pl v8-01 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk1-01 v8-01 disk1 0 409600 0 c2t8d18 ENA
pl v8-02 v8 ENABLED ACTIVE 409600 CONCAT - RW
sd disk2-01 v8-02 disk2 0 409600 0 c2t8d19 ENA
dc v8_dco v8 v8_dcl
v v8_dcl - ENABLED ACTIVE 544 SELECT - gen
pl v8_dcl-01 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk6-01 v8_dcl-01 disk6 0 544 0 c2t8d17 ENA
pl v8_dcl-02 v8_dcl ENABLED ACTIVE 544 CONCAT - RW
sd disk3-01 v8_dcl-02 disk3 0 544 0 c2t8d20 ENA
sp v8snapvol_snp v8 v8_dco

v v8snapvol - DISABLED ACTIVE 409600 ROUND - fsgen
pl v8-03 v8snapvol DISABLED ACTIVE 409600 CONCAT - RW
sd disk4-01 v8-03 disk4 0 409600 0 c2t8d21 ENA
dc v8snapvol_dco v8snapvol v8snapvol_dcl
v v8snapvol_dcl - DISABLED ACTIVE 544 ROUND - gen
pl v8_dcl-03 v8snapvol_dcl DISABLED ACTIVE 544 CONCAT - RW
sd disk4-02 v8_dcl-03 disk4 409600 544 0 c2t8d21 ENA
sp v8_snp v8snapvol v8snapvol_dco



9. Start the snap volume as it is in disabled state

Refresh the snap volume with start the resync process with the orignial volume.
========================================================
pw250(root)::vxvol -g tdg start v8snapvol
pw250(root)::vxsnap -g tdg refresh v8snapvol

Veritas Traditional Volume Snapshot.

Traditional Volume Snapshots
==============================

make pitc
----------
1. vxvol set fastresync=on

2. vxassist -g xxxdg snapstart datavol

3. vxassist -g xxxdg snapshot datavol snapvol

use pitc
---------
4. vxdg split
5. vxdg join

update pitc
------------
6.vxassist -g xxxdg snapback snapvol

or

7. vxassist -g xxxdg -o resyncfromreplica snapback snapvol


display pitc info
------------------
8. vxassist -g xxxdg snapprint datavol


abort the snapshot
--------------------
To remove a snapshot mirror that has not been detached and moved to a snapshot volume.

9. vxassist -g xxxdg snapabort datavol



destroy pitc
-------------
10.destroy pitc