Home Domain Tools How To Photo Albums Unix Stuff Support
SUPPORT & upport & Services
Hostname Change
Messaging Server 5.2
Mounting Dos Partitions
NTP
Samba
Sun Cluster 3.1
Contact us
Samba Solaris_7-9
Samba Howto
 
 

 

How to install SC 3.1 10/03 (Update 1) on Solaris 8 2/04 or Solaris 9 12/03



How to install SC 3.1 10/03 (Update 1) on Solaris 8 2/04 or Solaris 9 12/03

with the EIS process. Send all comments to Raf LaPietra.


Version: 31u1_037

Last Modified Fri Apr 23 08:13:00 EDT 2004


If you need a version of this document for older versions of software, please

contact me and I'll see what I have archived.


Please do NOT open any bugs or RFEs against EIS for this document, as it is

individually maintained. Send them directly to me. Please include the version

of this document that you are referring to.


This doc can be found on the EIS cd2 under sun2/docs/MISC/


The latest revision of this document can be found at:

http://webhome.east/raf/cluster/index.html


Important note - Patches marked with a ## are not found on the 30MAR04 EIS

                 cd (either a different rev or missing) and will need to

                 be downloaded separately and noted in the install report


I.  Planning Meetings -

  A. Review the cluster installation deliverables with the customer. Get from

     http://www.sun.com/service/support/install/suncluster-software.html

  B. Fill out the EIS checklists from <eiscd2>/sun2/docs/EISchecklists/pdf

    1. Fill out the appropriate server checklist for each node and the admin

       work station. This can be used to complete the EISdoc Tool documentation

  C. Get customer to order the license keys from the licensing center for

     VxVM and VxFS if either will be used. It is UNSUPPORTED by engineering to

     run a cluster on temporary licenses

 

II. Install admin station

  A. Install per the appropriate EIS checklist

  B. Add cluster console software and (optional) documentation

    1. pkgadd -d . SUNWccon

    2. if desired, pkgadd the documentation:

      a. man pages : pkgadd -d . SUNWscman

      b. Note, for the following packages, SUNWsdocs is required by all, the

         SUNWpsc* files are in pdf format, and the SUNWsc* are in html format

      c. The documentation from the Sun Cluster 3.1 U1 cdrom

        <cdrom mnt pt>/SunCluster_3.1/Sol_<OS Num>/Packages

        SUNWsdocs SUNWpscfab SUNWpschw SUNWpscref SUNWscfab SUNWschw  SUNWscref

      d. From the data service cdrom in

        <cdrom mnt pt>/components/SunCluster_Docs_3.1/Sol_<OS Num>/Packages

        SUNWpscdab SUNWscdab

  C. Create a file /etc/clusters with one entry:

     <clustername> <node1> ... <node n>

  D. Create a file /etc/serialports with one entry for each node

    1. The entry is  - <host> <tc> <500x> ,  x=tc port number

    2. If a SunFire  - <host> <sc> <500x> ,  x=1-4 for domains A-D

    3. If an E10K, entry is      - <host> <ssp> 23

    4. If a SF15K or SF12K, entry is - <host> <sc> 23

  E. Add all entries (nodes+logical hosts) to /etc/hosts


III. (If used) Configuration of the Sun Cluster Terminal Concentrator (X1312A)

  A. Add an entry to /etc/remote: (for serial port a)

     tc:dv=/dev/term/a:br#9600:el=^C^S^Q^U^D:ie=%$:oe=^D:

  B. Connect port 1 to admin station serial port a and tip tc

    1. Cable notes:

      a. For DB25 pin serial ports, use cable 530-2151(short) or 530-2152(long)

      b. For Netra style RJ-45 serial ports, you can use cable 180-2001

        1. NOTE - The "P1" end goes to the tc, the "P2" end to the host

  C. Get into monitor mode by holding down test button while you power on

     the TC. When the green light blinks, release the test button and then

     press it again.

    1. set IP address - monitor:: addr

    2. check boot image is oper.52.enet - monitor:: image

    3. set to boot from self - monitor:: seq

    4. Power cycle the tc

    5. Quit your tip session (~.)

    6. telnet into the tc and select cli

    7. become su and go into admin mode

       annex: su

       passwd: <tc ip address>

       annex# admin

    8. configure serial ports :

       admin: set port=1-8 type dial_in imask_7bits Y

       admin: set port=2-8 mode slave ps_history_buffer 32767

       admin: quit

    9. (optional) - configure rotaries

       a. annex# edit config.annex

       b. Add the following lines

         %rotary

         <node1>:<tc port>@<tc ip addr>

          ...

         <node#>>:<tc port>@<tc ip addr>

       c. ctrl-w    

   10. (optional) - configure default router

      a. #edit config.annex

      b. Add the following lines

        %gateway

        net default gateway <router-ip> metric 1 hardwired

      c. ctrl-w

      d. annex# admin set annex routed n

   11. Reboot the tc

       annex# boot

       bootfile: <return>

       warning: <return>

   12. exit your telnet session (ctrl + ] and quit)

 

IV. Install cluster nodes

  A. If using a tc:

    1. On admin station -  ccp <clustname>.

    2. Choose cconsole

  B. from the ok prompt: setenv local-mac-address? true

  C. If Multi Initiated SCSI, follow infodoc 20704

  D. Install Solaris 8 2/04 or Solaris 9 12/03

    1. You may want to select xterms or other and enter dtterm for your term

       type if using a tc/cconsole

    2. Software package selection

      a. Entire Distribution + OEM is RECOMMENDED

      b. At least the END USER software is REQUIRED

        1. Entire Distribution + OEM is required for E10K

        2. If you use END USER, you may need to also add -

          a. Apache software packages (SUNWapchr and SUNWapchu) if you want to

            use SunPlex Manager

          b. RSMAPI software packages (SUNWrsm, SUNWrsmx, SUNWrsmo,SUNWrsmox

             if you want PCI-SCI adapters for the interconnect transport or

             use the Remote Shared Memory Application Programming Interface

    3. Root Disk partitioning

      a. swap must be >= 750mb. Calculate the normal amount of swap needed by

         Solaris, add in any required by third party applications, and then add

         512mb for SunCluster.

      b. Make and mount a 512mb filesystem called /globaldevices

      c. For SDS/SVM - assign 256MB to slice 7 for the metadbs

      d. For VxVM if you plan on encapsulating the root disk

        1. leave slice 3 and 4 unassigned

        2. leave 2 cylinders unassigned

  E. Add the logging option to the / filesystem (and any others that you want)

     in the /etc/vfstab file

  F. If you are using GBE as your private interconnect, you may have to create

     a /kernel/drv/ge.conf file. Please read InfoDoc 23041 for instructions.

  G. Add entries in /etc/hosts for each logical host, phys host, admin station,

     tc and ipmp test addresses

    1. If you will be using an active-active IPMP configuration you must add

       the nodename as the first name on the line in  /etc/hosts

       e.g. for a two interface active-active config, the etc hots must have:

       xxx.xxx.xxx.xxx <nodename> <if1-hostname>

       xxx.xxx.xxx.xxx <nodename> <if2-hostname> (this ip is optional)

       xxx.xxx.xxx.xxx <if1-test-addr-hostname>

       xxx.xxx.xxx.xxx <if2-test-addr-hostname>

  H. Populate your /etc/defaultrouter if needed

  I. Configure ipmp and network parameters on public network adapters.

    1. IPMP: Edit the /etc/hostname.<if#> files for each adapter

      a. For a single adapter group, the files should look like

        <nodename> -failover group <ipmp0>

      b. For a multi adapter group,active-standby:

        1. active:

         <nodename> group ipmp0 up \

         addif <if#-test-addr-hostname> -failover deprecated up

        2. standby:

         <if#-test-addr-hostname> group ipmp0 -failover deprecated standby up

      c. For a multi adapter group,active-active, for each adaptor:

        1. <if#-hostname> group <ipmp0> up \

           addif <if#-test-addr-hostname> -failover deprecated up

        2. the second interface can use the same syntax above if it has its

           own public ip address

        3. If you have only 1 public ip address, you should use:

           <if#-test-addr-hostname> group ipmp1 -failover deprecated up

    2. ip_strict_dst_multihoming :

      a. cp <eiscd1>/sun/tools/network/S68net-tune /etc/rc2.d

      b. edit /etc/rc2.d/S68net-tune and add a line in the start section

         ndd -set /dev/ip ip_strict_dst_multihoming 0

      c. chmod 744 /etc/rc2.d/S68net-tune

      d. chown root:sys /etc/rc2.d/S68net-tune

      e. ln /etc/rc2.d/S68net-tune /etc/init.d/net-tune

  J. A domainname must be set up to work around bug 4913925

    1. run: domainname

    2. if nothing is returned, you must set up a dummy domainname. This can

       be removed after scvxinstall is completed, or after scinstall is done

       if not using VxVM

      a. domainname dummy

      b. domainname > /etc/defaultdomain

  K. If you want to use rsh for the cluster framework installation (Sol 8 or 9)

    1. create a /.rhosts file on all the nodes that contains a list of all the

       nodes in the cluster.

    2. Note: if you are using active-active ipmp, you will want to add the

       node name and the host names of all the active adapters.

  L. If you want to use ssh for the cluster framework installation (Sol 9 only)

    1. On all nodes run : ssh-keygen

      a. accept default for file to save the key ((//.ssh/id_rsa)

      b. You can just hit enter for the passphrase

    2. add the contents of /.ssh/id_rsa.pub on all of the nodes to

       /.ssh/authorized_keys on all of the nodes

      a. make sure that each key for each node is on a single line!

      b. an example /.ssh/authorized_keys would look like:

         ssh-rsa <long key>= root@<node1>

         ssh-rsa <long key>= root@<node2>

         ...

         ssh-rsa <long key>= root@<node#>

    3. edit /etc/ssh/sshd_config on all nodes

      a. change the line which reads "PermitRootLogin no" to read

        "PermitRootLogin without-password"

    4. stop and restart sshd

       /etc/init.d/sshd stop

       /etc/init.d/sshd start

    5. test that ssh is working on all the nodes by doing a ssh <nodename>

       to and from every node in the cluster

      a. The first time you ssh , you will get a warning similar to:

         "The authenticity of host 'node1' can't be established."

         "RSA key fingerprint in md5 is: <something>"

         "Are you sure you want to continue connecting(yes/no)?"

          (answer yes here)

         "Warning: Permanently added '<nodename>,<ip>' (RSA) to the list of

          known hosts."

    6. logout and ssh in to and from each node again to make sure it goes clean

  M. Setup the OS according to the proper EIS checklist.

    1. In the "Run setup-standard:" section:

       Answer yes to the "Are remote root logins to be allowed?"

       Answer yes to the "Do you wish to add the SFS packages?"

    2. Modify the root .profile

      a. at the end of  .profile uncomment the "cluster node" display section

      b. To set your term type when using cconsole, add the following lines:

        1. if [ "`tty`" = "/dev/console" ]; then

             TERM=xterms;export TERM

           fi

        2. a TERM of "vt100" or "dtterm" may also work for you

    3. Activate the EIS environment

      a. log out of the console

      b. go back to the ccp and choose ctelnet. This will allow faster access

         for the rest of the install process. Use the cconsole windows to see

         any error messages logged to the console

    4. For the "Install patches" sections of the server checklist:

      a. Install EIS patches

        1. cd <eiscd1>/sun/patch/<OS Number>

        2. unpack-patches

        3. cd /tmp/<OS Number>

        4. ./install_all_patches

      b. Install SAN patches

        1. cd <eiscd1>/sun/patch/SAN

        2. unpack-patches

        3. cd /tmp/SAN

        4. ./install_patches

        5. cd <eiscd1>/sun/patch/SAN/<OS Number>

        6. unpack-patches

        7. cd /tmp/<OS Number>

        8. ./install_patches

      c. Install the following additional patches (per Infodoc 54960 or 54961)

         if applicable to your cluster

        1. In <eiscd1>/sun/patch/firmware

          109115-16   T3 Firmware

          109400-03   Hardware/Fcode: FC100/S HBA

          111853-02   Hardware/Fcode: PCI Single FC HBA

          113723-07   SE3510 Firmware

          112276-11## T3+ 2.01.06 Firmware

        2. If using the qus driver, add patches from

           <eiscd1>/sun/patch/SUNWqus/<OS Number>

    5. Probably a good time to reboot all the nodes after all those patches...

  N. If using A3500 or A3500FC, install and configure RM6.22.1:

    1. pkgadd rm6.22.1 from <eiscd3>/sun-internal/progs/RM/RM-6.22.1.tar.gz

    2. add patches from <eiscd2>/sun2/patch/RM/6.22.1/

    3. edit /etc/osa/rmparams.

      a. System_MaxLunsPerController=<# of LUNs needed>

         Rdac_NoAltOffline=TRUE

         Rdac_RetryCount=1

      a. if you have more than one A3500FC on a loop

        1. Change Rdac_HotAddDisabled=PARTIAL to Rdac_HotAddDisabled=FALSE

        2. Add the other A3500FC targets to Rdac_HotAddIDs:4:5:x:y:z

    4. /usr/lib/osa/bin/genscsiconf

    5. edit /etc/raid/rdac_address. Distribute your LUNs over the controllers

    6. init 6

    6. upgrade firmware and create luns (thru the rm6 GUI)

    7. disable paritychk on 1 node of each pair attached to the storage (use

       the rm6 GUI)

    8. /usr/lib/osa/bin/rdac_disks


V. Install cluster framework on the nodes. The software packages are in

   <eiscd3>/sun-internal/progs/SunCluster/3.1_U1

  A. If using PCI-SCI cards, install drivers before cards

    1. pkgadd -d . SUNWscrif SUNWscrdt SUNWsci SUNWscid SUNWscidx

    2. Add patches from <eiscd1>/sun/patch/SunCluster/3.1/<OS Number>

       Sol 8       Sol 9

       =========   =========

       115058-03   115059-04   Reliable Datagram Transport patch

       116154-01   116155-01   SCI 3.1u1: scid fixes

    3. Install your SCI cards

  B. Choose a node to install the cluster from.

    1. Suggestion: use the node that  has the highest used number in the

       /etc/name_to_major file to avoid any possible conflict when the did

       number is chosen.

      a. A quick way to find this is to run:

        cat /etc/name_to_major | /usr/bin/sort +1 -2n

    2. If all the nodes have the same high number in name_to_major, use the

       node you want to have the highest node number, since it will be the

       last node to be installed.

  C. Install the cluster framework.

    1. On the install node, make a patch directory and fill it with patches:

      a. mkdir -p /var/cluster/patches

      b. Put uncompressed copies of these patches in /var/cluster/patches

        Patches are in <eiscd1>/sun/patch/SunCluster/3.1/<OS Number>

         Sol 8       Sol 9

         =========   =========

         113800-11## 113801-11## Sun Cluster 3.1: Core/Sys Admin Patch

         111488-08   N/A         Sun Cluster 3.0/3.1: mediator patch

         115054-01   115055-01   Sun Cluster 3.1: OpenSSL security patch

    2. run scinstall

       select "Install a cluster or cluster node"

       select "Install all nodes of a new cluster"

       select "Typical" for the type of install

      a. If you need to change the ip address range for the interconnect, you

          will need to choose "Custom"

    3. This will install the cluster framework on all of the nodes sequentially

      without further user intervention

    4. When all of the nodes have installed, run scstat -n to make sure all

       the nodes have joined the cluster

    5. Configure ntp.conf on all of the nodes if there is not an external ntp

       server to be used by the cluster

      a. cp /etc/inet/ntp.conf.cluster /etc/inet/ntp.conf

      b. Edit /etc/inet/ntp.conf and comment out the lines which read

         peer clusternode<#>-priv for each node # which doesn't exist

         For example, if you have a 2 node cluster, comment out the lines from

         peer clusternode3-priv to peer clusternode16-priv

  E. Set up the quorum disk (required for 2 node, recommended for 3+ nodes)

    1. Run devfsadm -C on all nodes to be sure all the global devices are OK

    2. Run scdpm -p all:all to be sure that all the shared disks paths are

       OK to all of the attached nodes

    3. scdidadm -L : to id the quorum disks.

      a. Pick a disk seen by all nodes if possible. otherwise you may want to

        set up more than one quorum disk

    4. On ONE node, run scsetup to assign the quorum disk

      a. Answer "Yes" to: Is it okay to reset "installmode"

  F. If you did NOT set up a quorum device, reset install mode

    1. On ONE node, run scsetup.

      a. Answer "no" to "Do you want to add any quorum disks?"

      b. Answer "Yes" to: Is it okay to reset "installmode"

  G. Check that your ipmp groups are configured properly on all nodes

    1. scstat -i

  H. Edit /etc/nsswitch.conf.

    1. For any cluster:

       hosts: cluster files ...

       group: files ...

       netmasks: cluster files ...

       services: files ...

    2. Customize for your data services

      a. for HA-NFS:

         hosts: cluster files [SUCCESS=return] nis

         rpc: files nis

      b. for HA-Oracle

         passwd: files ...

         group: files  ...

         publickey: files ...

         project: files ...

      c. for HA-SAP, HA-Siebel, and HA-Sybase:

         group: files [NOTFOUND=return] nis

      d. for HA-LiveCache:

         protocols: files nis

         passwd: files nis [TRYAGAIN=0]

         group: files [NOTFOUND=return] nis

         project: files [NOTFOUND=return] nis

         publickey: files [NOTFOUND=return] nis

      e. HA-Samba:

         passwd: files winbind ...

         group: files winbind ...

  I. Add the Diagnostic ToolKit package SUNWscdtk from

     <eiscd3>/sun-internal/progs/SunCluster/3.1_U1/SUNWscdtk_31u1_s<#>.tar.gz

  J. Edit the /etc/system file and add any needed entries. Shared memory sample

    entries for popular databases are below.

    1. For all systems add the following:

       exclude: lofs

       set ip:ip_enable_group_ifs=0

    2. The cluster software installation will have added a line:

       rpcmod:svc_default_stksize=0x6000

       change this to read

       set rpcmod:svc_default_stksize=0x8000      

    3. Add a line which reads:

       set lwp_default_stksize=0x6000

    4. If you are using ce interfaces on the interconnect:

      set ce:ce_taskq_disable=1

    5. If you are using D1000 shared storage add:

       set sd:sd_retry_count=0x2

      a. Also add to the /kernel/drv/glm.conf file

         scsi-selection-timeout=64;

         scsi_reset_delay=500;

    6. If you plan on using dynamic reconfiguration add:

       set kernel_cage_enable=1

    7. For Oracle HA or OPS/RAC:

       set shmsys:shminfo_shmmax=0xffffffff (or 0xffffffffffffffff for 64 bit)

       set shmsys:shminfo_shmmin=1

       set shmsys:shminfo_shmmni=200

       set shmsys:shminfo_shmseg=200

       set semsys:seminfo_semmap=1024

       set semsys:seminfo_semmni=2048

       set semsys:seminfo_semmns=2048

       set semsys:seminfo_semmnu=2048

       set semsys:seminfo_semume=200

       set semsys:seminfo_semmsl=2048

       set semsys:seminfo_semopm=100

       set semsys:seminfo_semvmx=32767

       forceload: sys/shmsys

       forceload: sys/semsys

       forceload: sys/msgsys

    8. For Sybase:

       set shmsys:shminfo_shmmax=0xffffffff (or 0xffffffffffffffff for 64 bit)

       set shmsys:shminfo_shmseg=200

       set rlim_fd_cur=1024

    9. For Informix:

       set shmsys:shminfo_shmmax=4026531839 (3.86GB = max)

       set shmsys:shminfo_shmmni=50

       set shmsys:shminfo_shmseg=200

  K. Because of bug 4897239, add  the following line to /etc/syslog.conf

     user.warning                             /var/adm/messages

  L. Check that you can connect to the SunPlex Manager on each node:

     https://<nodename>:3000/

VI. If using Veritas, Install VxVM and VxFS 3.5

  A. Uncompress the software from:

    <eiscd3>/sun-internal/progs/veritas-vm/3.5/VxFS_VxVM_3.5_for_Solaris.tar.gz

  B. Add the packages and license keys

    1. If you are going to use VxFS it must be installed first.

      a. pkgadd -d . VRTSvlic VRTSvxfs

      b. Edit /etc/system and comment out the entries that were added by VxFS

         for rpcmod:svc_default_stksize and lwp_default_stksize (marked in 2

         sections labeled vxfs_START) since they are duplicates of our entries

         and may have too low a value set

      c. If using VxFS on EMC, add:

         set cl_comm:rm_thread_stacksize = 0x8000

    2. On ALL nodes at once: scvxinstall -i -d <path to software>

    3. (Optional) Add Documentation & GUI packages

      a. Documentation: pkgadd -d . VRTSvmdoc VRTSfsdoc

      b. GUIs: pkgadd -d . VRTSob VRTSobgui VRTSvmpro VRTSfspro

    4. add licenses with /sbin/vxlicinst

  C. Add patches

    1. For VxVM from <eiscd1>/sun/patch/veritas-vm/3.5

    2. For VxFS from <eiscd2>/sun2/patch/veritas-fs/3.5/<OS Number>

  D. On ONE node: scshutdown -y -g0

     Then boot -r the entire cluster

  E. vxinstall

    1. Choose a Custom Installation

    2. Do NOT encapsulate the root drive (will do in a later step)

    3. Initialize a small rootdg

      a. If you are going to use VxVM to mirror root (later), only add the

        root mirror disk as a new disk to rootdg. Name the disk rootmir<Node#>

      b. If you are going to use SDS/SVM to mirror root (later), you will

        need to initialize another disk or 2 for your rootdg on each node.

        You can use these disks for swap or local storage, not shared.

    4. Leave all other disks alone

    5. Do NOT have vxinstall shutdown and reboot

    6. Reminor the device in rootdg to be unique on each node. Set each node to

     have a base minor number of 100*<nodenumber>. E.G. node1=100, node2=200

     vxdg reminor <x>00

    7. Optional -  disable hot relocation.

      edit /etc/init.d/vxvm-recover

      comment out: #vxrelocd root &

      uncomment  : vxsparecheck root &

    8. On ONE node: scshutdown -y -g0

    9. boot all nodes

  F. If you have multiple paths (controllers) from a single node to shared

     disks, and are not using STMS (MPXIO), prevent dmp on those controllers

    1. run vxdiskadm

    2. choose "Prevent multipathing/Suppress devices from VxVM's view"

    3. choose "Prevent multipathing of all disks on a controller by VxVM"

    4. suppress each controller, i.e. c2

  G. Create your disk groups. For each disk group:

    1. vxdiskadd c#t#d# c#t#d# ...

      a. When prompted, enter the new disk group name

    2. Register the disk group

      a. Do NOT register OPS/RAC CVM-shared (with cluster functionality) groups

      b. Run scsetup

        1. Select "Device groups and volumes"

        2. Select "Register a VxVM disk group as a device group"

        3. quit out

    3. scstat -D to determine the primary

      a. run an scswitch -z -D <disk group> -h <nodename> to test failover

    4. create your volumes, register and newfs them on the PRIMARY node. Note,

       vxfs operations may fail if not done on the primary.

      a. vxassist -g <dg> -U fsgen make <vol> <size> layout=mirror-stripe,log

      b. Run scsetup to synchronize your volumes

        1. Select "Device groups and volumes"

        2. Select "Synchronize volume information for a VxVM device group"

      c. newfs your volumes.

        1. ufs : newfs /dev/vx/rdsk/<dg>/<vol>

        2. vxfs: mkfs -F vxfs -o largefiles /dev/vx/rdsk/<dg>/<vol>

  H. Mount your volumes

    1. mkdir /global/<mnt> ON ALL NODES

    2. add entries to vfstab ON ALL NODES THAT ARE DIRECTLY ATTACHED

      a. for ufs global:

       /dev/vx/dsk/<dg>/<vol> /dev/vx/rdsk/<dg>/<vol> /global/<mnt> ufs 2 yes global,logging

      b. for ufs with HAStoragePlus local file system:

       /dev/vx/dsk/<dg>/<vol> /dev/vx/rdsk/<dg>/<vol> /global/<mnt> ufs 2 no logging

      c. for vxfs global:

       /dev/vx/dsk/<dg>/<vol> /dev/vx/rdsk/<dg>/<vol> /global/<mnt> vxfs 2 yes global,log

       Note: the log option with vxfs may cause a negative performance impact,

       but must me used. Per the release notes, it is unsupported to use the

       qlog, delaylog, or  tmplog vxfs mount options and logging is required.

      d. for vxfs with HAStoragePlus local file system:

       /dev/vx/dsk/<dg>/<vol> /dev/vx/rdsk/<dg>/<vol> /global/<mnt> vxfs 2 no log

    3. mount the file system ON THE PRIMARY NODE. If you are using vxfs, the

      mount may fail if you are not on the primary

      a. scstat -D to determine the primary node of the disk group/set

      b. mount /global/<mnt>


VII. Install and patch SDS or SVM

  A. For Solaris 8, pkgadd -d . SUNWmdr SUNWmdu SUNWmdx (+ SUNWmdg for the gui)

  B. Install Solaris 8 SDS patches from <eiscd1>/sun/patch/sds/4.2.1

       108693-24   SDS 4.2.1 patch

  C. If needed, change /kernel/drv/md.conf file:

       nmd=<max number metadevices, up to 1024 for SDS, 8192 for SVM>

       md_nsets=<max number of disksets, up to 31>

     Do not set these higher than you need, as it will increase your boot time

  D. ON ONE NODE shutdown all nodes with : scshutdown -y -g 0

  E. boot -r all nodes

  F. ON ONE NODE run /usr/cluster/bin/scgdevs

  G. Create the local metadb(s)

    1. for Sol 9 : metadb -a -f -c 3 c#t#d#s7

       for Sol 8 : metadb -a -f -l 8192 -c 3 c#t#d#s7

    2. metadb to check

    3. If your local metadbs are on an even number of disks or controllers (ie

       you could loose exactly 1/2) then please read and review InfoDoc 79046

       about adding md:mirrored_root_flag=1 to the /etc/system file.

  H. Create your disk sets ON ONE NODE

    1. metaset -s <set> -a -h <node1> <node2> ... <node#>

    2. Add the disks to your set

      a. metaset -s <set> -a /dev/did/rdsk/d# ...

      b. To check : metaset -s <set>

                    metadb -s <set>

    3. Repartition the disk using format or  prtvtoc and fmthard.

      a. slice 7 starts at cylinder 0. DO NOT CHANGE! (contains the set metadb)

      b. slice 0 should be the rest of the disk. You can change it

      c. you should NOT change slice 2 to be the entire disk. Disks in a disk

         set must not have their slice 7 overlap with any other slice.

  I. Create your metadevices

   1. edit /etc/lvm/md.tab and add your metadevices. Use the /dev/did/rdsk/d#s0

      devices

     a. example entry for md.tab:

       <set>/d101 1 1 /dev/did/rdsk/d4s0

       <set>/d102 1 1 /dev/did/rdsk/d5s0

       <set>/d100 -m <set>/d101 <set>/d102

   2. ON ONE NODE metainit -s <set> -a

   3. ON ONE NODE newfs /dev/md/<set>/rdsk/d#

  J. If you have any disksets on exactly 2 arrays connected to 2 nodes, you

     must configure the dual string mediators on one node

    1. metaset -s <set> -a -m <node1> <node2>

    2. To check : medstat -s <set>

  K. test the failover

    1. scstat -D to determine the primary

    2. run an scswitch -z -D <disk group> -h <nodename> to test failover

  L. mount your file systems

   1. mkdir /global/<mnt> ON ALL NODES

   2. Add to the vfstab ON ALL NODES DIRECT ATTACHED TO THE STORAGE.

      a. for ufs global (with or without HAStoragePlus global):

       /dev/md/<set>/dsk/d# /dev/md/<set>/rdsk/d# /global/<mnt> ufs 2 yes global,logging

      b. for ufs with HAStoragePlus local file system:

       /dev/md/<set>/dsk/d# /dev/md/<set>/rdsk/d# /global/<mnt> ufs 2 no logging

   3. mount /global/<mnt> ON ONE NODE


VIII. Configure ha-nfs (logical host/failover/HAStoragePlus example)

  A. Install the data service software

    1. run scinstall on ALL nodes

    2. select "Add support for new data services to this cluster node"

    3. select "nfs"

    4. There is no need to add any patch at this time. The following patch is

       integrated into the software:

       Solaris 8    Solaris 9

       ---------    ---------

       115070-01    115071-01   Sun Cluster 3.1: HA-NFS Patch

  B. Add your failover hostname/ip to /etc/hosts on ALL nodes

  C. make the admin file system ON ONE NODE

    1. mkdir -p /global/<mnt>/<nfs-adm>/SUNW.nfs

    2. cd /global/<mnt>/<nfs-adm>/SUNW.nfs

    3. vi dfstab.<nfs-res>

      a. add entries to share /global/<mnt>

  D. Register the nfs resource on ONE node

    scrgadm -a -t SUNW.nfs

  E. Create the nfs resource group on ONE node

    scrgadm -a -g <nfs-rg> -h <node1,..> -y PATHPREFIX=/global/<mnt>/<nfs-adm>

  F. Add a failover hostname/ip resource to the nfs-rg on ONE node

    scrgadm -a -L -g <nfs-rg> -l <failover hostname> -n <ipmp#>@<node1>,...

  G. Set up HAStoragePlus (optional)

    1. Register the HAStoragePlus resource type

      scrgadm -a -t SUNW.HAStoragePlus

    2. Create the SUNW.HAStoragePlus resource

      scrgadm -a -g <nfs-rg> -j <nfs-hastp-res> -t SUNW.HAStoragePlus \

      -x FilesystemMountPoints=/<mnt-point>,</<mnt-point> \

      -x AffinityOn=True

      a. Please note that the mount points listed must be in the same order

        that they are listed in the vfstab file

    3. Enable the HAStoragePlus resource with the nfs resource group.

      scswitch -Z -g nfs-rg

  H. Add the nfs resource to the nfs-rg on ONE node

    scrgadm -a -g <nfs-rg> -j <nfs-res> -t SUNW.nfs

        or if using HAStoragePlus use

    scrgadm -a -g <nfs-rg> -j <nfs-res> -t SUNW.nfs \

     -y Resource_Dependencies=<nfs-hastp-res>

  I. re-enable the modified nfs-rg on ONE node

    scswitch -Z -g <nfs-rg>

  J. Check the status

    scstat -g

  K. Test a manual switch of the resource group

    scswitch -z -h <node#> -g <nfs-rg>

    scstat -g


IX. Configure ha-apache (shared address/scalable example)

  A. Install the data service software using scinstall on ALL nodes

    1. There is no need to add any patch at this time. The following patch is

       integrated into the software:

       Solaris 8    Solaris 9

       ---------    ---------

       115064-01    115065-01   HA-Apache Patch

  B. Add your shared hostname/ip to /etc/hosts on all nodes

  C. Create your directories on one node

    1. mkdir /global/<mnt>/conf

       mkdir /global/<mnt>/htdocs

       mkdir /global/<mnt>/cgi-bin

       chgrp bin /global/<mnt>/cgi-bin

    2. cp /etc/apache/httpd.conf-example /global/<mnt>/conf/httpd.conf

    3. vi /global/<mnt>/conf/httpd.conf

      a. Fix the ServerName line

        1. For Solaris 8, uncomment ServerName line and change it to the shared

          hostname

        2. For Solaris 9, change 127.0.0.1 to the shared hostname

      b. change the DocumentRoot to /global/<mnt>/htdocs

      c. change the ScriptAlias to /global/<mnt>/cgi-bin/ <- trailing slash

  D. Populate and configure the bin, cgi-bin and data directories on ONE NODE

    1. populate the directories

      a. cp -rp /usr/apache/bin /global/<mnt>

      b. cp -r /var/apache/htdocs/* /global/<mnt>/htdocs/

         cp /global/<mnt>/htdocs/index.html.en /global/<mnt>/htdocs/index.html

         (you can substitute language of your choice)

      c. Copy the test-cluster.cgi script to cgi-bin

         cp test-cluster.cgi /global/<mnt>/cgi-bin/test-cluster.cgi

      f. chmod ugo=rx /global/<mnt>/cgi-bin/test-cluster.cgi

    2. Edit the apachectl file to work with a different httpd.conf file

      a. cd /global/<mnt>/bin

      b. cp apachectl apachectl.orig

      c. vi apachectl

        1. search for the line which reads:

           HTTPD=/usr/apache/bin/httpd

        2. change it to read :

           HTTPD="/global/<mnt>/bin/httpd -f /global/<mnt>/conf/httpd.conf"

    3. Test the configuration

       /global/<mnt>bin/apachectl configtest

  E. Register the Apache data service

    scrgadm -a -t SUNW.apache

  F. Create the shared address resource group

    scrgadm -a -g <sa-rg> -h <node1,...>

  G. Assign an ip address + ipmp group to the shared resource group

    scrgadm -a -S -g <sa-rg> -l <shared hostname> -n <ipmp#><@node#>, ...

  H. Create another resource group for apache dependent on <sa-rg>

    scrgadm -a -g <apache-rg> \

      -y Maximum_primaries=2 \

      -y Desired_primaries=2 \

      -y RG_dependencies=<sa-rg>

  I. Add a SUNW.apache resource to the apache-rg

    scrgadm -a -j <apache-res> -g <apache-rg> -t SUNW.apache \

      -x Bin_Dir=/global/apache/bin \

      -y Port_list="80/tcp" \

      -y Scalable=True \

      -y Network_resources_used=<shared hostname>

  J. Bring the shares address and apache resource groups online

    1. scswitch -Z -g <sa-rg>

    2. scswitch -Z -g <apache-rg>

  K. run scstat -g to check the state

     The <shared hostname> SharedAddress resource should be online on one node

     The <apache-res> resource should be online on both nodes

  L. Test the shared connection by visiting

    http://<shared hostname>/cgi-bin/test-cluster.cgi

    Due to the load balancing feature, you may need to refresh/reload MANY

    times to see a connection to a different node. You should try connecting

    from multiple clients if possible


X. Configuring the cluster for Oracle RAC or OPS

  A. create the dba group and the oracle user

  B. add the appropriate packages from the SC31 cd (not ds cd):

    1. If using VxVM with Cluster functionality raw devices for data:

      pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWcvmr SUNWcvm

    2. If using HW raid raw devices for data:

      pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr SUNWschwr

    3. If using a GFS for data

      pkgadd -d . SUNWscucm SUNWudlm SUNWudlmr

    4. Install patch for the data service:

       Solaris 8    Solaris 9

       ---------    ---------

       115062-04##  115063-04## Sun Cluster 3.1: OPS Core Patch

  C. pkgadd the oracle udlm from the oracle cdrom or EIS cd3 under

     sun-internal/progs/SunCluster

    1. pkgadd -d . ORCLudlm

  D. On one node, scshutdown -y -g0 and then boot all nodes

  E. If using VxVM with CVM functionality

    1. Find which node is the Veritas master using : vxdctl -c mode

    2. Deport the raw volume disk group : vxdg deport <dg>

    3. Import the disk group shared on the master :

      vxdg -s import <dg>

      vxvol -g <dg> startall

    4. Make sure the disk group is seen as shared on both nodes: vxdg list

  F. If using GFS, make sure your data volumes are mounted using forcedirectio

  G. Install Oracle RAC/OPS

  H. Create the RAC framework

    1. run scsetup

     select Data Services

     select Sun Cluster support for Oracle RAC

     select Create the RAC framework resource group

     Do you want to configure all nodes in the resource group (yes/no) [yes]?

     yes to continue

     Use the menus to quit out

   2. run scstat -g

     check that the rac-framework-rg resource group is online on all nodes

     check that the rac_framework, rac_udlm, and rac_cvm resources are online

     on all nodes


XI. To install other data services. Follow the documentation that you installed

  on the admin workstation. You can access the documents using a browser by

  using file:///opt/sun_docs/sundocs.html as the url and accessing the

  data services collection in PDF or HTML.

  A. There is no need to add any patch at this time. The following patches are

     integrated into the software:

     Solaris 8    Solaris 9

     ---------    ---------

     115066-01    115067-01   Sun Cluster 3.1: HA-DNS

     115072-01    115073-01   Sun Cluster 3.1: HA-Netbackup

     115076-01    115077-01   Sun Cluster 3.1: HA-Oracle

     115078-01    115079-01   Sun Cluster 3.1: HA-SAP

     115080-01    115081-01   Sun Cluster 3.1: HA-Sun One Web Server

     115082-01    115083-01   Sun Cluster 3.1: HA-BEA Web Logic

     115084-01    115085-01   Sun Cluster 3.1: HA-Sun One Application Server

     115086-01    115087-01   Sun Cluster 3.1: HA-Sun One Message Queue

     115089-01      N/A       Sun Cluster 3.1: HA-Sybase Patch


XII. If using VxVM to encapsulate & mirror root

  A. Edit /etc/vfstab so that the /global/.devices/node@<nodeid> mounts from

     the physical c#t#d#s# instead of the /dev/did device. If you don't know

     the device, there should be a /globaldevices line commented out. DO NOT

     uncomment this line! Just use the physical device that it originally

     mounted as the device in the /global/.devices/node@<nodeid> line. E.G. :

     /dev/dsk/c0t0d0s3 /dev/rdsk/c0t0d0s3 /global/.devices/node@1 ufs 2 no global

  B. Shut down the cluster (on one node, will shut down both):

     scshutdown -y -g 0

  C. Boot all nodes outside of the cluster

     boot -x

  E. Use vxdiskadm option 2 "Encapsulate one or more disks" to encapsulate the

    root drive.

    1. Name each root disk rootdisk<node#>

    2. init 0

    3. boot -x

      Systems will boot, encapsulate root disk, and reboot (into the cluster)

  F. Mirror your root disk using vxdiskadm or use:

    /etc/vx/bin/vxmirror rootdisk<node#> rootmir<node#>


XIII. If using SDS/SVM to mirror root

  A. metainit -f d1 1 1 <c#t#d#s0 (rootdisk - don't use the did device)>

  B. metainit d2 1 1 <c#t#d#s0 (rootmir)>

  C. metainit d0 -m d1

  D. metaroot d0

  E. scshutdown -y -g 0 (on one node)

  F. boot all nodes

  G. metattach d0 d2

  H. Note - you should also mirror swap and /global/.devices/node@<#> (and any

     other partitions you used on the root disk). If you do, be sure to use

     the physical device for the metainit. Also be sure that the metadevice

     you choose for each /global/.devices/node@<#> is unique in the cluster,

     since they will be mounted globally. And don't forget to make your changes

     in the /etc/vfstab file and the /etc/lvm/md.tab file.


XIV. Complete installation

  A. If using SDS/SVM, set up the metacheck script

    1. copy from <eiscd1>/sun/tools/MISC/SDS/metacheck.sh

    2. enter a crontab entry for it. e.g:  00 06 * * * /metacheck.sh

  B. If desired, install SunMC

  C. Follow the EIS Cluster Checklist for Install Verification and running

     explorer and SunCheckup

  D. Use the EISdoc tool to document the cluster.