Concepts clustering applicatifs Système de Gestion de Base de Données : Oracle RAC - Real Application Cluster Francesco Termine, professeur HES, francesco.termine@he-arc.ch Francesco Termine HEG-ARC Filière d Informatique de gestion 1
Concepts de clustering applicatifs PLAN Modèles d exécution parallèles (clustering) Oracle RAC Concepts & Installation Modèle d exécution utilisé par Oracle pour RAC Clustering applicatif / Disques partagés Schéma et vocabulaire Systèmes de stockage pour RAC (raw, ocfs, asm, nfs) Infrastructure à bas coûts pour tester un RAC PC hardware & Linux Disques partagés IEEE 1394 ( Firewire ) NBD (Network Block Device) Déploiement RAC sous Vmware Infrastructure certifiée par Oracle : SAN (FC) / NAS (NetApp Filer) Déploiement et Exécution J2EE Server Clustering Concepts & Installation Modèle d exécution utilisé par Oracle pour RAC Clustering applicatif Mise en œuvre Francesco Termine HEG-ARC Filière d Informatique de gestion 2
Modèles d exécution parallèles Taxonomie de Michael J. Flynn pour les architectures d ordinateur (proposé en 1966) SISD : un seul flux d'instruction et un seul flux de données (ordinateurs «classiques», uniprocesseur) SIMD : un seul flux d'instruction et de multiples flux de données (machines //, processeur vectoriel : Cray-1 (1976), NEC sx-5, Tera/Cray SV1 ) MISD : multiples flux d'instruction et un seul flux de données (pas courant Space Shuttle flight control computer [fault tolerance] ) MIMD : multiples flux d'instructions et de multiples flux de données n x P et m x flux d instructions Flux d instructions indépendants Flux de données indépendants Multiples configurations Mémoire (donnée) propre Mémoire partagée Francesco Termine HEG-ARC Filière d Informatique de gestion 3
Modèles d exécution parallèles Variantes MIMD MIMD Fortement couplé (multiprocesseurs) (mémoire partagée) Faiblement couplé (multi calculateurs) (mémoire distribuée) Machine MIMD à mémoire partagée PC biprocesseur, Cray SV1, SGI Origin 3000 Machine MIMD à mémoire distribuée Tera/Cray T3E Stations de travail+ethernet : CLUMPS (Cluster of SMP) NOW/COW (Network/Cluster of WS) Francesco Termine HEG-ARC Filière d Informatique de gestion 4
Modèles d exécution parallèles Exécution parallèle et stockage de données Cluster: Architectures parallèles et/ou distribuées? Systèmes parallèles : ensemble d éléments de calcul (PE) qui peuvent communiquer et coopérer pour résoudre rapidement de grands problèmes Systèmes distribués : ensemble de processeurs autonomes qui ne se partagent pas de mémoire primaire mais qui coopèrent par envoi de messages au travers d un réseau de communication Et le stockage de données? Shared Everything Model Permet aux 2 nœuds de faire des entrées/sorties et lecture/écriture sur tous les disques partagés. Il y a un partage des ressources matérielles. Shared Nothing Model Chaque nœud gère son propre disque et est le seul habilité à écrire et lire sur les ressources du disque qui lui est attribué. Chaque nœud se voit attribuer ses propres ressources matérielles à gérer. Et Encore? Mirrored Servers Un seul nœud répond aux requêtes clientes, l autre nœud est en attente prêt à remplacer son homologue en cas de défaillance. Il s agit d'une copie conforme du premier nœud. Francesco Termine HEG-ARC Filière d Informatique de gestion 5
Modèles d exécution parallèles L accès aux disques depuis un cluster http://img.microsoft.com/library/media/1033/technet/images/prodtechnol/windowsserver20 03/technologies/clustering/stare17.gif Francesco Termine HEG-ARC Filière d Informatique de gestion 6
Oracle RAC Architecture RAC Système de gestion de bases de données qui apporte à toutes les applications, sans modification, la haute disponibilité, la continuité de service et la scalabilité sur un cluster de plusieurs serveurs. Oracle RAC assure ainsi l équilibrage des charges et la meilleure utilisation des ressources ; C est une innovation utilisable à la fois sur Unix, Windows et Linux. Modèle d exécution MIMD à mémoire distribuée faiblement couplée Share everything NAS SAN Francesco Termine HEG-ARC Filière d Informatique de gestion 7
Architecture détaillée du Système RAC Oracle RAC Francesco Termine HEG-ARC Filière d Informatique de gestion 8
Oracle RAC Avantages du systèmes RAC src: oracle.com Disponibilité permanente - Assure la disponibilité permanente des applications de base de données Evolutivité à la demande - Etendez la capacité en ajoutant simplement des serveurs à votre cluster Coûts informatiques allégés - Utilisez du matériel économique et réduisez le coût des temps d indisponibilité Record mondial de performance - Plus rapide que le plus rapide des mainframe Grid computing - Oracle RAC peut-être le socle du calcul en réseau NB: Oracle Data Guard est une fonction complémentaire à RAC, qui assure la gestion des sites de sec Bénéfice en performance pour le transactionnel et le décisionnel Support transparent des progiciels du marché : Oracle Applications, PeopleSoft, SAGE, Cluster File System et gestion intégrée du stockage (OCFS, ASM, NFS) Francesco Termine HEG-ARC Filière d Informatique de gestion 9
Systèmes de stockage pour RAC Espaces de stockage (disques durs) partagés & Systèmes de stockages raw devices ocfs2 asm nfs Espaces de stockage (disques durs) partagés SAN Disques FireWire /SCSI (Seulement 2 Nœuds) Depuis un noeud, définir des volumes logiques sur /dev/sda, /dev/sdb, /dev/racvgdata/vl1, /dev/racvgdata/vl2, Depuis les autres noeuds, => vgscan Network Block Devices Sur le serveur de données, définir des volumes logiques sur /dev/sda, /dev/sdb, /dev/racvgdata/vl1, /dev/racvgdata/vl2,... serveur : clients : nbd-server 4102 /dev/racdata/vl1 nbd-server 4103 /dev/racdata/vl2 nbd-client machinedata:4102 /dev/nbd0 nbd-client machinedata:4103 /dev/nbd1 Systèmes de stockage pour RAC Raw devices (gestion intégrée à la BD) OCFS2 (SGF) ASM instances (gestion intégrée à la DB) NFS (SGF) Francesco Termine HEG-ARC Filière d Informatique de gestion 10
Systèmes de stockage pour RAC Shared raw devices /usr/sbin/raw /dev/raw/raw1 /dev/nbd0 [OU] /usr/sbin/raw /dev/raw/raw1 /dev/racvgdata/rac_raw_system_600_m ln -s /dev/raw/raw1 /opt/oracle/oradata/rac/rac_raw_system_600_m export DBCA_RAW_CONFIG=configFileRaw ; dbca & gestion difficile -> ajout d'instance = ajout de volumes (ctrlfile, redo log...) Francesco Termine HEG-ARC Filière d Informatique de gestion 11
Systèmes de stockage pour RAC OCFS 2 avec shared disk Depuis une instance, formater les volumes : mkfs.ocfs2 /dev/racvgdata/crs mkfs.ocfs2 /dev/racvgdata/quorum mkfs.ocfs2 /dev/racvgdata/data Depuis toutes les instances, monter les volumes : mount -t ocfs2 /dev/racvgdata/crs /u02/crs mount- t ocfs2 /dev/racvgdata/quorum /u02/quorum mount -t ocfs2 /dev/racvgdata/data /u02/data OCFS 2 avec NBD Depuis une instance, formater les volumes : mkfs.ocfs2 /dev/nbd0 mkfs.ocfs2 /dev/nbd1 mkfs.ocfs2 /dev/nbd2 Depuis toutes les instances, monter les volumes : mount -t ocfs2 /dev/nbd0 /u02/crs mount- t ocfs2 /dev/nbd1 /u02/quorum mount -t ocfs2 /dev/nbd2 /u02/data Francesco Termine HEG-ARC Filière d Informatique de gestion 12
Systèmes de stockage pour RAC ASM (Oracle Automatic Storage Management) Création depuis un noeud Oracle ASM Partitions (oracleasm createdisk VOL1 /dev/sda2) Filesystem Type Partition Size Mount Point File Types ASM /dev/sda2 50GB ORCL:VOL1 Oracle Database Files ASM /dev/sda3 50GB ORCL:VOL2 Oracle Database Files ASM /dev/sda4 100GB ORCL:VOL3 Flash Recovery Area Détection oracleasm listdisk sur tous les noeuds Pas de problèmes avec la solution Firewire/SCSI & SAN Avec nbd, mapper sur des raw devices (à tester) Francesco Termine HEG-ARC Filière d Informatique de gestion 13
Infrastructure à bas coûts pour tester un RAC Hardware 3 PC classiques, Pentium 4, 1 GB RAM, 40 GB HDD 2, 3 cartes réseaux par machines [Ethernet 100/1000] Ethernet Switch [Ethernet 100/1000] OS Linux Compatibilité (os certifié) CentOS, REDHAT, SuSE, Oracle Enterprise Linux 4, Windows XP.. url. Matériels de stockage disques IDE / SCSI / Firewire (pas de SAN) Création d'un RAC 10gR2 avec 2 nœuds (instances) Francesco Termine HEG-ARC Filière d Informatique de gestion 14
Infrastructure à bas coûts pour tester un RAC Disques partagés avec FireWire pcnode_1 pcnode_2 Firewire Contrôleur : options sbp2 exclusive_login=0, pcnode_1 : modprobe sbp2, /dev/sda /dev/sdb pcnode_2 : modprobe sbp2, /dev/sda /dev/sdb //même infrastructure avec shared-scsi Francesco Termine HEG-ARC Filière d Informatique de gestion 15
Infrastructure à bas coûts pour tester un RAC Schéma Network Block Device (NBD) nbd-client datapc:4102 /dev/nbd0 nbd-client datapc:4102 /dev/nbd0 nbd-server 4102 /dev/racdata/vl1 Francesco Termine HEG-ARC Filière d Informatique de gestion 16
Infrastructure à bas coûts pour tester un RAC Schéma NBD 2 (optimisé) nbd-client datapc:4102 /dev/nbd0 nbd-client datapc:4102 /dev/nbd0 nbd-server 4102 /dev/racdata/vl1 Francesco Termine HEG-ARC Filière d Informatique de gestion 17
Infrastructure à bas coûts pour tester un RAC RAC avec Vmware Déploiement RAC sous Vmware Constat d'une installation RAC: Nombre de machines à disposition? Optimisation de la procédure d installation du système. Solutions via Vmware Création à la volée de machine (noeud) Copie du répertoire de base: OS avec prérequis Oracle Possibilité de lier de vraies partitions dans vmware Possibilité de ponter (bridge) les interfaces réseaux virtuelles sur les réelles Francesco Termine HEG-ARC Filière d Informatique de gestion 18
Infrastructure à bas coûts pour tester un RAC RAC et Vmware Francesco Termine HEG-ARC Filière d Informatique de gestion 19
Déploiement et exécution RAC Procédure d'installation RAC 10g R2 Sur tous les noeuds Installation et paramétrage du système d'exploitation OS certifié + dépendance rpms (install guide) paramétrage kernel utilisateur oracle et variables d'environnements Configuration du réseau (/etc/hosts) Configuration accès distant (ssh ou rsh ) Synchronisation temporelle des machines : ntp Systèmes de stockage : shared disks ou NBD, Depuis un noeud Installation Oracle Clusterware Installation Oracle SGBD 10gR2 Francesco Termine HEG-ARC Filière d Informatique de gestion 20
Déploiement et exécution RAC Procédure d'installation et déploiement RAC 10g R2 Installation d' Oracle Clusterware runinstaller Définition des noeuds du cluster création de fichiers sur le shared disk (OCRfiles, CSSfiles) copie et déploiement de ClusterWare sur tous les noeuds Installation d' Oracle Database 10g R2 runinstaller (détection du clusterware) copie et déploiement du RDBMS sur tous les noeuds Création d'une base de données dbca (clustered mode, shared disk data file) Mettre à jour la résolution de noms côté clients tnsnames.ora Francesco Termine HEG-ARC Filière d Informatique de gestion 21
Déploiement et exécution RAC Procédure d'installation RAC 10g R2 /etc/hosts 127.0.0.1 localhost.localdomain localhost 157.26.115.204 rac10g1.ig.he-arc.ch rac10g1 157.26.115.205 rac10g2.ig.he-arc.ch rac10g2 172.16.124.204 rac10g1-priv.ig.he-arc.ch rac10g1-priv 172.16.124.205 rac10g2-priv.ig.he-arc.ch rac10g2-priv 157.26.115.207 rac10g1-vip.ig.he-arc.ch rac10g1-vip 157.26.115.208 rac10g2-vip.ig.he-arc.ch rac10g2-vip 157.26.115.206 rac10gdata.ig.he-arc.ch rac10gdata 172.16.124.206 rac10gdata-priv.he-arc.ch rac10gdata-priv variables environnement oracle (ORACLE_SID) export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORA_CRS_HOME=$ORACLE_BASE/product/crs # Each RAC node must have a unique ORACLE_SID. (i.e. orcl1, orcl2,...) export ORACLE_SID=orcl1 Francesco Termine HEG-ARC Filière d Informatique de gestion 22
Déploiement et exécution RAC Installation Oracle clusterware Francesco Termine HEG-ARC Filière d Informatique de gestion 23
Déploiement et exécution RAC Installation Oracle SGBD Francesco Termine HEG-ARC Filière d Informatique de gestion 24
Déploiement et exécution RAC Création Base de données : dbca Francesco Termine HEG-ARC Filière d Informatique de gestion 25
Procédure d'installation RAC 10g R2 (tnsnames.ora) Déploiement et exécution RAC ORCL1 [2] = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = rac10g1[2]-vip)(port = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl.ig.he-arc.ch) (INSTANCE_NAME = orcl1[orcl2]) )) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac10g1- vip)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac10g2- vip)(port = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl.ig.he-arc.ch) )) ORCLTEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac10g2-vip)(port = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = rac10g1-vip)(port = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcltest.ig.he-arc.ch) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ))) Francesco Termine HEG-ARC Filière d Informatique de gestion 26
Déploiement et exécution RAC Oracle RAC utilitaires crs $ORA_CRS_HOME/bin/crsctl $ORA_CRS_HOME/bin/onls n /etc/init.d/o2cb [start stop] /etc/init.d/o2cb online ocfs2 srvctl http://www.oracle.com/technology/pub/articles/ hunter_rac10gr2.html => 26. Verify the RAC Cluster & Database Configuration CVU (cluster verification utility) cluvfy http://www.oracle.com/technology/products/database/clus tering/cvu/faq/cvu_faq.pdf Francesco Termine HEG-ARC Filière d Informatique de gestion 27
Déploiement et exécution RAC Ajouter une instance au cluster Dépendances logicielles OS (nouveau nœud) Configurer le réseau /etc/hosts (tous les nœuds) Installer Oracle ClusterWare (nouveau nœud) : depuis une instance existante : addnode.sh Installer Oracle RDBMS Software (nouveau nœud) Ajouter la nouvelle instance (dbca) Francesco Termine HEG-ARC Filière d Informatique de gestion 28
Déploiement et exécution RAC Oracle RAC Certification Matrix http://www.netapp.com/partners/oracle/oracle_rac_certific ation_matrix.pdf http://www.oracle.com/technology/products/database/clust ering/certify/tech_generic_unix_new.html raw (HW RAID, VxVM/CVM or SVM volumes) shared CFS (either on HW RAID raw or on SVM raw) NetApp filer Francesco Termine HEG-ARC Filière d Informatique de gestion 29
Oracle RAC - synthèse RAC 9i vs RAC 10gR2 installeur plus stable déploiement facilité RAC 10GR2 features Expanded EM Monitoring Features Improved ASM install process & consolidation OCFS available for Solaris RAC cloning Upgrade enhancements OCR and Voting Disk automatically multiplexed Server-side TAF Oracle Fast Connection Failover Improvements (OCI, jdbc) RAC 11 g http://www.oracle.com/technology/products/databas e/clustering/pdf/twp_rac11g.pdf Manuels d'installation http://startoracle.com/2007/09/30/so-you-want-to-play-with-oracle- 11gs-rac-heres-how/ http://www.oracle.com/technology/pub/articles/vallath-nodes.html Francesco Termine HEG-ARC Filière d Informatique de gestion 30
Merci pour votre attention QUESTIONS? Francesco Termine HEG-ARC Filière d Informatique de gestion 31