Solaris Cluster + Oracle 11g disk config

z3r0c0l
Дата: 02.03.2010 13:04:06
Всем привет!
Сразу оговорюсь, я новичок в Solaris Cluster и Oracle, так что прошу сильно не пинать, если вопрос уж очень глупый. Ситуация примерно такая: внутри ESXi хочу поднять кластер на две ноды на солярисе, на котором будет крутиться оракл 11g r1. "Sun Cluster Data Service for Oracle Guide for Solaris OS" почитал, но не до конца понял, обязательно ли конфигурировать cluster file system для датафайлов оракла, или можно в случае тестовой инсталляции тупо взять лун, который будет показываться обоим нодам, отформатируется в UFS один раз на этапе инсталляции, скажем, первой ноды и монтироваться в /u02 на обоих нодах?
Ося
Дата: 02.03.2010 18:06:14
нет
Мутаген
Дата: 03.03.2010 01:30:22
cluster fs (aka pxfs) не только не нужен, но и не поддерживается для работы Oracle.
LUN надо отдать под контроль volume manager'а.

Для начала есть неплохая книга в комплекте документации:
http://docs.sun.com/app/docs/doc/820-4989/chapter1-1?l=en&a=view

Sun Cluster Quick Start Guide for Solaris OS
z3r0c0l
Дата: 04.03.2010 12:40:54
Мутаген,

Спасибо!
z3r0c0l
Дата: 18.03.2010 15:10:46
Решил не создавать дополнительную тему, дабы не плодить лишние сущности :). Сделал всё по мануалу Quick Start Guide, но на этапе конфигурирования lvm возникла проблема:

# /usr/cluster/bin/cldevice show

=== DID Device Instances ===                   

DID Device Name:                                /dev/did/rdsk/d1
  Full Device Path:                                suncluster-2:/dev/rdsk/c0t0d0
  Replication:                                     none
  default_fencing:                                 global

DID Device Name:                                /dev/did/rdsk/d2
  Full Device Path:                                suncluster-2:/dev/rdsk/c1t0d0
  Replication:                                     none
  default_fencing:                                 global

DID Device Name:                                /dev/did/rdsk/d3
  Full Device Path:                                suncluster-1:/dev/rdsk/c1t1d0
  Full Device Path:                                suncluster-2:/dev/rdsk/c1t1d0
  Replication:                                     none
  default_fencing:                                 global

DID Device Name:                                /dev/did/rdsk/d4
  Full Device Path:                                suncluster-1:/dev/rdsk/c1t2d0
  Full Device Path:                                suncluster-2:/dev/rdsk/c1t2d0
  Replication:                                     none
  default_fencing:                                 global

DID Device Name:                                /dev/did/rdsk/d5
  Full Device Path:                                suncluster-1:/dev/rdsk/c0t0d0
  Replication:                                     none
  default_fencing:                                 global

DID Device Name:                                /dev/did/rdsk/d6
  Full Device Path:                                suncluster-1:/dev/rdsk/c1t0d0
  Replication:                                     none
  default_fencing:                                 global


/dev/did/rdsk/d4 - LUN на 2Gb для данных оракла, так что его и конфигурируем.

# /usr/cluster/bin/cldevicegroup switch -n suncluster-1 oraset
# metaset -s oraset -a /dev/did/rdsk/d4
# metaset -s oraset

Set name = oraset, Set number = 1

Host                Owner
  suncluster-1       Yes
  suncluster-2       

Driv Dbase

d4   Yes  

Дальше, в мануале сказано изменить /etc/lvm/md.tab. Добавил следующие строчки:

        oraset/d2       -m oraset/d12
        oraset/d12      1 1 /dev/did/rdsk/d4s0
        oraset/d0       -p oraset/d2 3G
        oraset/d1       -p oraset/d2 3G

Не до конца уверен, что надо брать d4s0 (в мануале несколько по-другому, но, насколько я понял, там опечатка и перепутали примеры, стр. 32, если что - How to create and activate md.tab file), но я вписал именно его. Дальше получаю ошибку:
# /usr/cluster/bin/cldevicegroup switch -n suncluster-1 oraset
# metainit -s oraset -a
metainit: suncluster-1: /etc/lvm/md.tab line 59: oraset/d2: unit already set up

metainit: suncluster-1: /etc/lvm/md.tab line 60: oraset/d12: unit already set up

metainit: suncluster-1: /etc/lvm/md.tab line 61: oraset/d0: not enough space available for request

metainit: suncluster-1: /etc/lvm/md.tab line 62: oraset/d1: not enough space available for request

Чую, что сделал какую-то глупость, но не могу понять - где именно :(.
Мутаген
Дата: 18.03.2010 17:01:52
Ну, там в одном месте 2 ГБ, а во втором - 3 Гб. Логично, что места не хватает
z3r0c0l
Дата: 18.03.2010 17:31:36
Я, честно говоря, не совсем понимаю "физический смысл" последних двух строчек. В мануале написано следующая конфигурация:
apacheset/d0 -m apacheset/d10
apacheset/d10 1 1 /dev/did/rdsk/d3s0
nfsset/d1 -m nfsset/d11
nfsset/d11 1 1 /dev/did/rdsk/d4s0
oraset/d2 -m oraset/d12
oraset/d12 1 1 /dev/did/rdsk/d5s0
oraset/d0 -p oraset/d2 3G
oraset/d1 -p oraset/d2 3G

Можно прояснить - какая смысловая нагрузка на последние две строчки и почему их тогда не добавили для первых двух сетов?
Мутаген
Дата: 18.03.2010 17:53:43
эти строчки создают на диске две партиции (soft partitions) по 3 ГБ. Добавили их чтобы разнести бинарники ораклка (ORACLE_HOME) и данные оракла, потому что они их монтируют потом с разными параметрами - для данных включают forcedirectio.

Я бы не стал заморачиваться с софтпартициями, а просто сделал бы два LUNf на массиве.
z3r0c0l
Дата: 19.03.2010 09:18:39
Я не совсем понял один момент: бинарники оракла должны тоже сидеть в shared LUNе? И ещё один вопрос: что посоветуете почитать насчёт конфигурирования lvm применительно к данному случаю (что-то вроде курса молодого бойца, что бы не отвлекаться от главной темы :) )?
Мутаген
Дата: 19.03.2010 17:01:34
Там они ставят на общий LUN, что в общем логично.
Что касается LVM, в System administration collection от solaris10 есть отдельная книга про него. Но по большому счёту, всё нужное описано в man metainit и metaset