Assez parlé, au boulot !
Il faut bien sûr créer un LUN dédié sur le stockage, ici un AXIOM 600 Pillar Data Systems.
Cette machine présente l'avantage unique de travailler avec un stripping de 1Mo, soit la taille utilisée par ASM. Si l'on fait correspondre la taille des blocs logiques et blocs physiques, on s'affranchit des problèmes de latence et de saturation des buffers i/o. Ce n'est pas par hasard que Oracle est développé sur Pillar Axiom .... Bien entendu, charge à vous d'adapter en fonction de votre propre SAN.
Surtout on ne formate pas le nouveau LUN en VMFS !
Dans cet exemple, j'ai créé un .vmdk pour l'OS et le moteur Oracle de 64Go.
On ajoute un nouveau disque virtuel mais de type Raw Device Mapping (RDM) ou disque brut.
Notre disque est créé.
Téléchargement de l'ISO de Oracle Entreprise Server de 3.2Go et installation comme il se doit :)
# dmesg
.../...
scsi0 : ioc0: LSI53C1030, FwRev=01032920h, Ports=1, MaxQ=128, IRQ=51
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
target0:0:0: Beginning Domain Validation
target0:0:0: Domain Validation skipping write tests
target0:0:0: Ending Domain Validation
target0:0:0: FAST-160 WIDE SCSI 320.0 MB/s DT IU RDSTRM RTI WRFLOW PCOMP (6.25
ns, offset 127)
SCSI device sda: 67108864 512-byte hdwr sectors (34360 MB)
sda: test WP failed, assume Write Enabled
sda: cache data unavailable
sda: assuming drive cache: write through
SCSI device sda: 67108864 512-byte hdwr sectors (34360 MB)
sda: test WP failed, assume Write Enabled
sda: cache data unavailable
sda: assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: Attached scsi disk sda
Vendor: Pillar Model: Axiom 600 Rev: 0000
Type: Direct-Access ANSI SCSI revision: 05
target0:0:1: Beginning Domain Validation
target0:0:1: Domain Validation skipping write tests
target0:0:1: Ending Domain Validation
target0:0:1: FAST-160 SCSI 160.0 MB/s DT IU RDSTRM RTI WRFLOW PCOMP (6.25 ns, o
ffset 127)
SCSI device sdb: 315226112 512-byte hdwr sectors (161396 MB)
sdb: Write Protect is off
sdb: Mode Sense: 7f 00 00 08
SCSI device sdb: drive cache: write through
SCSI device sdb: 315226112 512-byte hdwr sectors (161396 MB)
sdb: Write Protect is off
sdb: Mode Sense: 7f 00 00 08
SCSI device sdb: drive cache: write through
sdb: unknown partition table
sd 0:0:1:0: Attached scsi disk sdb
On monte l'ISO d'installation de l'OS pour extraire les packages nécessaires à ASM
# mkdir /cdrom
# mount -r /dev/cdrom /cdrom
# cd Server
# rpm -ivh --nodeps kernel-debug*rpm
kernel-debug-2.6.18-164.el5.x86_64.rpm
kernel-debug-devel-2.6.18-164.el5.x86_64.rpm
# rpm -ivm --nodeps kernel-xen*rpm
kernel-xen-2.6.18-164.el5.x86_64.rpm
kernel-xen-devel-2.6.18-164.el5.x86_64.rpm
# rpm -ivm --nodeps oracleasm*rpm
oracleasm-2.6.18-164.el5-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-164.el5debug-2.0.5-1.el5.x86_64.rpm
oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.x86_64.rpm
oracleasm-support-2.1.3-1.el5.x86_64.rpm
On configure ASM
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface [] : oracle
Default group to own the driver interface [] : oracle
Start Oracle ASM library driver on boot (y/n) [y] : y
Scan for Oracle ASM disks on boot (y/n) [y] : y
Writing Oracle ASM library driver configuration : done
Initializing the Oracle ASMLib driver : [ OK ]
Scanning the system for Oracle ASMLib disks: ... /dev/sdb [ OK ]
On essaie de redémarrer le daemon ASM
# service oracleasm
Usage: /etc/init.d/oracleasm {startstoprestartenabledisableconfigurecreatediskdeletediskquerydisklistdisksscandisksstatus} # service oracle asm restart
Il faut préparer le LUN RDM et créer une partition à présenter à ASM
# fdisk /dev/sdb
Le nombre de cylindres pour ce disque est initialise a 19621.
Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024,
et cela pourrait causer des problemes en fonction pour certaines configurations:
1) logiciels qui sont executes à l'amorçage (i.e., vieilles versions de LILO)
2) logiciels d'amorçage et de partitionnement pour d'autres SE
(i.e., DOS FDISK, OS/2 FDISK)
Commande (m pour l'aide): p
Disque /dev/sdb: 161.3 Go, 161395769344 octets
255 heads, 63 sectors/track, 19621 cylinders
Unites = cylindres de 16065 * 512 = 8225280 octets
Peripherique Amorce Debut Fin Blocs Id Systeme
Commande (m pour l'aide): n
Action de commande
e etendue
p partition primaire (1-4)
p
Numero de partition (1-4): 1
Premier cylindre (1-19621, par defaut 1): 1
Dernier cylindre ou +taille or +tailleM ou +tailleK (1-19621, par defaut 19621):
Utilisation de la valeur par defaut 19621
Commande (m pour l'aide): p
Disque /dev/sdb: 161.3 Go, 161395769344 octets
255 heads, 63 sectors/track, 19621 cylinders
Unites = cylindres de 16065 * 512 = 8225280 octets
Peripherique Amorce Debut Fin Blocs Id Systeme
/dev/sdb1 1 19621 157605651 83 Linux
Commande (m pour l'aide): w
La table de partitions a ete alteree!
Appel de ioctl() pour relire la table de partitions.
Synchronisation des disques.
On édite 'rawdvices' pour permettre à Oracle d'accéder aux volumes
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/sdb1
Oracle doit être propriétaire du périphérique
# chown oracle:oracle /dev/raw/raw1;chmod 660 /dev/raw/raw1
# service oracleasm createdisk VOL1 /dev/sdb1
Marking disk "VOL1" as an ASM disk: [ OK ]
On liste pour voir si le LUN est pris en charge
# service oracleasm listdisks
VOL1
Voilà, c'est prêt, il n'y a plus qu'a ajouter d'autres LUNs ou installer le moteur Oracle Entreprise avec prise en charge de ASM.
Aucun commentaire:
Enregistrer un commentaire