Oracle RAC 12cR2 (12.2) telepítése Oracle Solaris 11.3 x64-re

A közelmúltban az Oracle kiadta mind a Grid Infrastructure, mind az RDBMS következő verzióját, a 12.2-t. Számos újdonságot és változást hozott ez a verzió a 12.1-hez képest. A változásokkal ebben az írásban nem foglalkozom, azok elolvashatóak az Oracle oldalán. Gyakorlatias ember vagyok, így nálam a puding próbája az evés. Ezért alakítottam ki egy virtualizált környezetet ESXi 6.0 segítségével, hogy megnézzem a 12.2 telepítési és használati újdonságait Solaris 11.3 x64 alatt. A közös diszkeket most nem iSCSI storage-ról kapják majd a szerverek. Történhetett valami változás e téren is, mert a 12.1-es verzió probléma nélkül tudta használni ASM alatt a FreeNAS kiajánlot iSCSI LUN-jait, de a 12.2 már nem tudta megcímkézni, így használni sem. Későbbiekben megnézem majd ismét, miután a FreeNAS is frissíti a major verzióját. Szerencsére a közös diszkeket az ESXi SCSI Bus Sharing lehetőségével megtudtam oldani.

Lássuk, hogy épül fel ez a teszt rendszer. Két Solaris 11 x64 virtuális gépet hoztam létre. Mindkét virtuális szerver a következő virtuális hardvereket kapta.

  • 16 GB memory
  • 1 virtual socket CPU
  • 4 cores per socket
  • SCSI controller 0 (LSI Logic SAS, SCSI Bus Sharing: None)
    • 70 GB thin provisioned boot disk
  • SCSI controller 1 (LSI Logic SAS, SCSI Bus Sharing: Virtual)
    • 40 GB thick provision eager zeroed shared disk (MGMT)
    • 5 GB thick provision eager zeroed shared disk (DATA)
  • SCSI controller 2 (LSI Logic SAS, SCSI Bus Sharing: Virtual)
    • 40 GB thick provision eager zeroed shared disk (FRA)
  • SCSI controller 3 (LSI Logic SAS, SCSI Bus Sharing: Virtual)
    • 50 GB thick provision eager zeroed shared disk (RDBMS)
  • Network adapter 1
    • E1000
    • Publikus hálózat
  • Network adapter 2
    • VMXNET 3
    • Interconnect hálózat
  • Network adapter 3
    • VMXNET 3
    • ASM storage hálózat
  • Network adapter 4
    • VMXNET 3
    • Interconnect hálózat
  • Network adapter 5
    • VMXNET 3
    • ASM storage hálózat
  • CD/DVD drive 1
    • Csak a telepítéshez volt rá szükség

A CD-ről történő telepítés után installálni kell a Vmware Tools-t. E nélkül a vmxnet3 hálózati kártyákat nem fogja felismerni a Solaris 11.3. A Vmware Tools telepítése után a hálózati kártyákat a dladm rename-link paranccsal átneveztem, hogy beszédesebbek legyenek és beállítottam a Private (priv0) és ASM (asm0) kártyák IP címeit. Ez lett az eredmény:

root@db1:~# dladm show-phys -m
LINK                SLOT     ADDRESS            INUSE CLIENT
net0                primary  0:50:56:b5:9:9f    yes   net0
asm0                primary  0:50:56:b5:28:e1   yes   asm0
priv0               primary  0:50:56:b5:4e:cd   yes   priv0
asm1                primary  0:50:56:b5:66:69   no    --
priv1               primary  0:50:56:b5:52:61   no    --
root@db1:~# ipadm 
NAME              CLASS/TYPE STATE        UNDER      ADDR
asm0              ip         ok           --         --
   asm0/v4        static     ok           --         10.0.1.1/24
asm1              ip         down         --         --
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           --         --
   net0/v4        static     ok           --         192.168.87.161/24
   net0/v6        addrconf   ok           --         fe80::250:56ff:feb5:99f/10
priv0             ip         ok           --         --
   priv0/v4       static     ok           --         10.0.0.1/24
priv1             ip         down         --         --
root@db2:~# ipadm 
NAME              CLASS/TYPE STATE        UNDER      ADDR
asm0              ip         ok           --         --
   asm0/v4        static     ok           --         10.0.1.2/24
asm1              ip         down         --         --
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           --         --
   net0/v4        static     ok           --         192.168.87.163/24
   net0/v6        addrconf   ok           --         fe80::250:56ff:feb5:3c03/10
priv0             ip         ok           --         --
   priv0/v4       static     ok           --         10.0.0.2/24
priv1             ip         down         --         --

Az operációs rendszer előkészítése

El kell végezni pár módosítást az alapértelmezett telepítésű Oracle Solaris 11.3-on a Grid Infrastructure 12.2 és Oracle RDBMS 12.2 sikeres telepítéséhez, használatához.

Csoportok és felhasználók létrehozása

Négy csoportot  (oinstall, dba, asmdba és racdba) és két felhasználót (grid, oracle) hoztam létre mindkét szerveren.

groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 asmdba
groupadd -g 1003 racdba
useradd -m -u 1100 -g oinstall -G dba,asmdba,racdba grid
useradd -m -u 1200 -g oinstall -G dba,asmdba,racdba oracle
passwd grid
passwd oracle

Arra nagyon figyelni kell, hogy a szervereken a csoportok és felhasználók ID-ja azonos legyen!

Grid Home és Oracle Home ZFS kialakítása

A Grid Infrastructure és Oracle RDBMS binárisai, log állományai lokális (boot) diszkekre kerültek telepítésre, teljesen identikusan a két szerveren.

zfs create -o mountpoint=/u01 rpool/u01
zfs create -o mountpoint=/u01/app/grid rpool/gridbase
zfs create -o mountpoint=/u01/app/oracle rpool/orabse
zfs create -o mountpoint=/u01/app/12.2.0/grid rpool/gridhome
zfs create -o mountpoint=/u01/app/oracle/product/12.2.0/rdbms rpool/orahome
zfs create -o mountpoint=/u01/app/oraInventory rpool/orainventory

A ZFS filesystem-ek elkészítése után állítsuk be a megfelelő jogusultságokat.

chown grid:oinstall /u01/app/grid
chmod 0775 /u01/app/grid
chown grid:oinstall /u01/app/12.2.0/grid
chmod 0755 /u01/app/12.2.0/grid
chown grid:oinstall /u01/app/oraInventory
chmod 0770 /u01/app/oraInventory
chown oracle:oinstall /u01/app/oracle
chmod 0775 /u01/app/oracle
chown oracle:oinstall /u01/app/oracle/product/12.2.0/rdbms
chmod 0750 /u01/app/oracle/product/12.2.0/rdbms

SWAP terület beállítása

A virtuális szerverek 16 GB memóriával lettek konfigurálva, így legalább ugyanennyi swap területre lesz szükségünk. A swap méretének helyes megválasztása nagyon fontos és nagyon sok körülménytől függ. Főleg Solaris operációs rendszer esetén, ahol elérhető az ISM, DISM és az OSM memóriakezelés is. Ebben a teszt rendszerben 16 GB swap-et fogunk használni, melyet a következő paranccsal on-line beállíthatunk.

zfs set volsize=16G rpool/swap

Ezzel a lépéssel a /tmp területe is növekedett, ami elegendő lesz a telepítéshez.

Szükséges csomagok telepítése

Az alapértelmezett telepítéshez képest pár csomagot még installálni kell a Solaris repository-ból.

pkg install -v \
group/prerequisite/oracle/oracle-rdbms-server-12-1-preinstall \
x11/session/xauth \
library/motif \
system/header \
system/library/math/header-math \
developer/linker \
solaris/SUNWxwplt \
system/library/c++-runtime \
x11/diagnostic/x11-info-clients \
system/kernel/oracka

Mivel Oracle RAC-ot szeretnénk használni, ezért a system/kernel/oracka csomag telepítése nagyon fontos.

Erőforrások konfigurálása

Szükséges bizonyos operációs rendszer erőforrásokat szabályozni, növelni az alapértelmezetthez képest az oracle és grid felhasználók számára. Erre kiváló eszközt kínál a Solaris 11 project megoldása. A definiált resource-okat menet özben, reboot nélkül lehet változtatni az igényeknek megfelelően. A módosítás után az újonan induló felhasználói process már ezeket az értékeket fogja megkapni, ezért maximum a szoftver komponenseket (Grid és RDBMS) kell újraindítani a teljes szerver helyett. (ez sem teljesen igaz, mert vannak olyan Solaris eszközök, melyek futó processek erőforrásigényeit tudja módosítani a process újraindítása nélkül is)

projadd user.grid
projadd user.oracle
projmod -s -K "process.max-file-descriptor=(basic,1024,deny)" user.oracle
projmod -s -K "process.max-stack-size=(basic,10485760,deny)" user.oracle
projmod -s -K "project.max-shm-memory=(priv,8G,deny)" user.oracle

projmod -s -K "process.max-file-descriptor=(basic,1024,deny)" user.grid
projmod -s -K "process.max-stack-size=(basic,10485760,deny)" user.grid
projmod -s -K "project.max-shm-memory=(priv,8G,deny)" user.grid

Természetesen ezek az értékek sincsenek kőbe vésve, ezek az ajánlott minimumok 12.2 esetén. Igény esetén további erőforrásokat is tudunk szabályozni, mint például: process.max-sem-nsems, project.max-sem-ids, project.max-shm-ids.

DNS kliens és DNS szerver beállítása

Ebben a teszt rendszerben a DNS szerver szerepét egy Windows Server 2012 látja el, a db1 és db2 virtuális szerverek ezt a DNS szervert használják. Jegyezzük be a megfelelő Forward Lookup Zone-ba a következő A rekordokat.

db-scan      192.168.87.165
db-scan      192.168.87.166
db-scan      192.168.87.167
db1          192.168.87.161
db1-vip      192.168.87.162
db2          192.168.87.163
db2-vip      192.168.87.164

Oracle ajánlás, hogy 3 darab SCAN IP-t regisztráljunk be a DNS szerverbe. Ezeket a bejegyzéseket (a SCAN címek kivételével!) vegyük fel mindkét node /etc/hosts konfigurációs file-jába és egészítsük ki a private és asm címekkel.

::1             localhost
127.0.0.1       localhost loghost

192.168.87.161  db1
192.168.87.162  db1-vip
10.0.0.1        db1-priv
10.0.1.1        db1-asm
192.168.87.163  db2
192.168.87.164  db2-vip
10.0.0.2        db2-priv
10.0.1.2        db2-asm

Ezek után állítsuk be a db1 és db2 DNS kliensét az optimális működés érdekében.

svccfg -v -s network/dns/client 'setprop config/options="timeout:5 attempts:1"'
svccfg -v -s network/dns/client 'setprop config/nameserver = net_address: (192.168.87.5)'
svccfg -v -s network/dns/client 'setprop config/search = astring: ("answare.local")'
svcadm refresh dns/client
svcadm enable -r dns/client

svccfg -v -s system/name-service/switch 'setprop config/host = astring: "files dns"'
svcadm refresh name-service/switch
svcadm restart  name-service/switch

Hálózati stack (TCP, UDP) konfigurálása

Állítsuk be mind az UDP és TCP protokollok tulajdonságait perzisztensen az ipadm parancs segítségével.

ipadm set-prop -p recv_buf=2097152 udp
ipadm set-prop -p send_buf=2097152 udp
ipadm set-prop -p smallest_anon_port=9000 udp
ipadm set-prop -p smallest_anon_port=9000 tcp
ipadm set-prop -p _conn_req_max_q=8196 tcp
ipadm set-prop -p _conn_req_max_q0=16392 tcp

Közös, ASM diszkek előkészítése

A cikk elején írtam, hogy ebben a teszt rendszerben nem a FreeNAS iSCSI megoldását használtam a közös diszkek eléréséhez, mivel problémák merültek fel. A virtuális gépeket úgy konfiguráltam, hogy a közös diszkeket ugyanolyan device path-on érjék el. A következő lépéseket a db1-ről végezzük el. Első lépésként hozzunk létre az üres lemezekre Solaris2 típusú partíciót a format programmal, ez után a 0-ás slice-t hozzuk létre úgy, hogy a 6-tól sector-tól induljon és a maradék szabad területet használja fel. A 12.2 ASM esetén használható az SMI és az EFI label is. Én SMI label-t használtam, mivel a diszkek mérete nem kívánja meg az EFI label használatát. A format-ban a volname parancs nagyon hasznos tud lenni, így elnevezhetjük könnyedén a diszkeket és nem kell külön adminisztrálni (fejben tartani), hogy melyik diszket milyen funkcióra használjuk.

root@db1:~# echo | format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c2t0d0 
          /pci@0,0/pci15ad,7a0@15/pci15ad,1976@0/sd@0,0
       1. c3t0d0   MGMT1
          /pci@0,0/pci15ad,7a0@16,1/pci15ad,1976@0/sd@0,0
       2. c3t1d0   DATA1
          /pci@0,0/pci15ad,7a0@16,1/pci15ad,1976@0/sd@1,0
       3. c4t0d0   FRA1
          /pci@0,0/pci15ad,7a0@17,1/pci15ad,1976@0/sd@0,0
       4. c5t0d0   RDBMS1
          /pci@0,0/pci15ad,7a0@18,1/pci15ad,1976@0/sd@0,0
Specify disk (enter its number): Specify disk (enter its number):

A Grid Infrastructure telepítéséhez és konfigurálásához a /dev/rdsk/c3t0d0s0 (erre fog kerülni az MGMT diskgroup, amit a GIMR fog használni) és a /dev/rdsk/c3t1d0s0 (erre fog kerülni a DATA diskgroup, ami az OCR konfigurációs állományait és a vote file-okat fogja tartalmazni). Ahhoz, hogy használjuk az Oracle ASM Filter Driver-t (AFD), ami megakadályozza, hogy az Oracle alkalmazásokon kívül más alkalmazás hozzáférjen az érintett diszkekhez, inicializálni (label) kell a közös diszkeket. Ehhez a grid felhasználóval tömörítsük ki a grid install csomagot a végleges helyére.

grid@db1:~$ unzip -q solarisx64_12201_grid_home.zip -d /u01/app/12.2.0/grid

Váltsunk át, jelentkezzünk be root felhasználóként és állítsuk be két környezeti változót.

export ORACLE_HOME=/u01/app/12.2.0/grid
export ORACLE_BASE=/tmp

Majd label-ezzük meg a fenti diszkeket root felhasználóval:

cd $ORACLE_HOME/bin
./asmcmd afd_label MGMT1 /dev/rdsk/c3t0d0s0 --init
./asmcmd afd_label DATA1 /dev/rdsk/c3t1d0s0 --init

Majd ellenőrizzük le a label-ezést.

./asmcmd afd_lslbl /dev/rdsk/c3t0d0s0
Label                     Duplicate  Path
================================================================================
MGMT1                                 /dev/rdsk/c3t0d0s0
./asmcmd afd_lslbl /dev/rdsk/c3t1d0s0
Label                     Duplicate  Path
================================================================================
DATA1                                 /dev/rdsk/c3t1d0s

A fenti kimenet alapján a két szükséges diszk rendelkezésünkre áll, képesek leszünk rá ASM diskgroup-okat létrehozni external redundancy használatával.

 

Szólj hozzá!

Legyél te az első hozzászóló!

Visszajelzés
avatar
wpDiscuz