rawdisk device groups?

Hi,

We've got a 3-node cluster connected to a SAN and we are not using svm or vxvm. At present we have a database resource group which has SUNW.HAStorage ServicePaths containing 15 luns/devices.

Previously with svm we would have had 1 device group containing all the devices and specify just one device from the group as a ServicePath.

Can we create a similar device group for rawdisk? Does anyone have any recommendation here... is the failover quicker using device groups?

Thanks,

Trevor

(SYBASE_rg) Res name:SYBASE_storage

(SYBASE_rg:SYBASE_storage) Res R_description:

(SYBASE_rg:SYBASE_storage) Res resource type:SUNW.HAStorage

(SYBASE_rg:SYBASE_storage) Res type version:1.0

(SYBASE_rg:SYBASE_storage) Res resource group name: SYBASE_rg

(SYBASE_rg:SYBASE_storage) Res resource project name: default

(SYBASE_rg:SYBASE_storage) Res enabled: True

(SYBASE_rg:SYBASE_storage) Res monitor enabled: True

(SYBASE_rg:SYBASE_storage) Res strong dependencies: <NULL>

(SYBASE_rg:SYBASE_storage) Res weak dependencies: <NULL>

(SYBASE_rg:SYBASE_storage) Res restart dependencies: <NULL>

(SYBASE_rg:SYBASE_storage) Res property name:Failover_mode

(SYBASE_rg:SYBASE_storage:Failover_mode) Res property class: standard

(SYBASE_rg:SYBASE_storage:Failover_mode) Res property type: enum

(SYBASE_rg:SYBASE_storage:Failover_mode) Res property value: SOFT

(SYBASE_rg:SYBASE_storage) Res property name:PRENET_START_TIMEOUT

(SYBASE_rg:SYBASE_storage:PRENET_START_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:PRENET_START_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:PRENET_START_TIMEOUT) Res property value: 1800

(SYBASE_rg:SYBASE_storage) Res property name:MONITOR_CHECK_TIMEOUT

(SYBASE_rg:SYBASE_storage:MONITOR_CHECK_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:MONITOR_CHECK_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:MONITOR_CHECK_TIMEOUT) Res property value: 3600

(SYBASE_rg:SYBASE_storage) Res property name:MONITOR_STOP_TIMEOUT

(SYBASE_rg:SYBASE_storage:MONITOR_STOP_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:MONITOR_STOP_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:MONITOR_STOP_TIMEOUT) Res property value: 3600

(SYBASE_rg:SYBASE_storage) Res property name:MONITOR_START_TIMEOUT

(SYBASE_rg:SYBASE_storage:MONITOR_START_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:MONITOR_START_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:MONITOR_START_TIMEOUT) Res property value: 3600

(SYBASE_rg:SYBASE_storage) Res property name:VALIDATE_TIMEOUT

(SYBASE_rg:SYBASE_storage:VALIDATE_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:VALIDATE_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:VALIDATE_TIMEOUT) Res property value: 300

(SYBASE_rg:SYBASE_storage) Res property name:STOP_TIMEOUT

(SYBASE_rg:SYBASE_storage:STOP_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:STOP_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:STOP_TIMEOUT) Res property value: 3600

(SYBASE_rg:SYBASE_storage) Res property name:START_TIMEOUT

(SYBASE_rg:SYBASE_storage:START_TIMEOUT) Res property class: standard

(SYBASE_rg:SYBASE_storage:START_TIMEOUT) Res property type: int

(SYBASE_rg:SYBASE_storage:START_TIMEOUT) Res property value: 3600

(SYBASE_rg:SYBASE_storage) Res property name:AffinityOn

(SYBASE_rg:SYBASE_storage:AffinityOn) Res property class: extension

(SYBASE_rg:SYBASE_storage:AffinityOn) Res property description: Boolean specify whether this resource needs to do affinity switchover

(SYBASE_rg:SYBASE_storage:AffinityOn) Res property type: boolean

(SYBASE_rg:SYBASE_storage:AffinityOn) Res property value: TRUE

(SYBASE_rg:SYBASE_storage) Res property name:ServicePaths

(SYBASE_rg:SYBASE_storage:ServicePaths) Res property class: extension

(SYBASE_rg:SYBASE_storage:ServicePaths) Res property description: The list of HA service paths to be checked

(SYBASE_rg:SYBASE_storage:ServicePaths) Res property type: stringarray

(SYBASE_rg:SYBASE_storage:ServicePaths) Res property value: /dev/did/rdsk/d40s6 /dev/did/rdsk/d39s6 /dev/did/rdsk/d38s6 /dev/did/rdsk/d37s6 /dev/did/rdsk/d36s6 /dev/did/rdsk/d35s6 /dev/did/rdsk/d34s6 /dev/did/rdsk/d33s6 /dev/did/rdsk/d32s6 /dev/did/rdsk/d31s6 /dev/did/rdsk/d30s6 /dev/did/rdsk/d29s6 /dev/did/rdsk/d28s6 /dev/did/rdsk/d14s6 /dev/did/rdsk/d13s6

[4726 byte] By [trevor_tec] at [2007-11-26 10:38:34]
# 1

You don't need to with /dev/did/rdsk/dX devices because they are not global devices and therefore don't have primary/secondary I/O paths which is what you use HAStoragePlus to control.

See http://docs.sun.com/app/docs/doc/819-0701/6n341n5bk?a=view

You need it for fail-over SVM metaset devices /dev/md/<setname>rdsk/dXXX, fail-over VxVM disk group devices /dev/vx/rdsk/<dgname>/name and /dev/global/rdsk/dX devices.

Why did you choose to go this way? Is there something in the docs that is missing?

Tim

TimRead at 2007-7-7 2:49:53 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 2

Hi Tim,

We don't actually use that cluster resource type for Sybase, instead we use Sybase's own HA configuration. For some reason (probably because we're using /dev/did/rdsk/dx devices?) we could not use HAStoragePlus.

I think we could not use ServicePaths with these devices in HAStoragePlus and GlobalDevicePaths did not work either with the did devices.

Here are the commands used for creating the resource group:

scrgadm -a -t SUNW.HAStorage

scrgadm -a -t SY.ase -f $SYBASE/$SYBASE_ASE/SC-3_0/etc/SY.ase

scrgadm -a -g SYBASE_rg -y Nodelist=$HOSTNAME1,$HOSTNAME2

scrgadm -a -j SYBASE_storage -g SYBASE_rg -t SUNW.HAStorage -x ServicePaths=$HASTORAGE1,$HASTORAGE2

scrgadm -a -L -j sdp-sybase -g SYBASE_rg -l sdp-sybase

scrgadm -a -j SYBASE_res -g SYBASE_rg -t SY.ase -x Sybase_home=/global/sdp/sybase -x Environment_file=/global/sdp/sybase/SYBASE.sh \

-x Dataserver_name=SYBASE -x Dataserver_login_file=/global/sdp/sybase/ASE-12_5/SC-3_0/etc/ase_login_file \

-x RUN_server_file=/global/sdp/sybase/ASE-12_5/install/RUN_SYBASE -x Backup_server_name=SYB_BACKUP

scrgadm -c -j SYBASE_res -y Resource_dependencies=SYBASE_storage

From what you are saying anyway, I don't think we can use device groups. It just looks strange to me that i cannot see anything from scstat -D.

Also this means the DCS configuration is showing our I/O ownership with a spare node (we have 3 nodes but only 2 are configured for sybase failover).

I believe there are some commands to remove the spare node and and only define 2 nodes but i have not tested these yet.

Thanks again for the info. I am interested to know how other people configure their systems, as even though we have tested this works for us, it may not be the optimal way to configure our global storage access.

Trevor

trevor_tec at 2007-7-7 2:49:53 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...
# 3

HAStoragePlus won't work with /dev/did/rdsk/dX devices because it will validate them against the patterns I previously mentioned. The /dev/did/rdsk/dX devices have concurrent access from both nodes and don't need switching.

The globaldevices can have their secondaries reduced. I don't remember the command offhand - but it will be in the docs somewhere.

Tim

TimRead at 2007-7-7 2:49:53 > top of Java-index,Solaris Operating System,Solaris Essentials - General Technical Questions...