26 juin 2009
Créer un sparse file avec "dd"
Un sparse file est un fichier dont tous les morceaux ne sont pas alloués. Oracle peut dans certain cas créer des sparse file comme par exemple pour les tablespaces temporaires. Dans le cas où vous créez des fichiers qui servent de coquille pour le disque d'une machine virtuelle, un sparse file est idéal. Voici comment en créer un avec la comande
dd sous Oracle Enterprise Linux:time dd if=/dev/zero of=Oracle.img bs=1M seek=10000 count=1Voilà 26 ms pour créer un fichiers de presque 10 Go, ça pourrait même faire rêver un administrateur Exadata; mais contrairement à ce que reporte la commande ls, le fichier fait en réalité 1M
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.026489 seconds, 39.6 MB/s
real 0m0.067s
user 0m0.000s
sys 0m0.000s
ls -ltra Oracle.img
-rw-r--r-- 1 root root 10486808576 Jun 26 02:42 Oracle.img
du -hs Oracle.img
1.1M Oracle.img
Labels:
linux,
OracleVM
Links to this post
23 juin 2009
Installer un serveur X sur le domaine 0 d'OracleVM
Les informations sur Oracle 11.2 commencent à filtrer sur Twitter, Facebook et différents blogs. Dans ce brouhaha, la présentation de DBFS par Kevin Closson vient largement en première place des sujets intéressants... Mais gardez raison! Surtout si vous avez signé un "Confidential Disclosure Agreement".
Parallèlement, Oracle ne manque pas d'actualités : Le lancement d'Oracle Fusion Middleware 11g est imminent; le 1er Juillet est le D-Day. D'autre part, les résultats de Q4FY'09 sont supérieurs aux attentes des analystes même s'ils sont en déclin...
En ce qui me concerne, le "next big thing" d'Oracle est disponible depuis bientôt 2 ans. Il s'appelle OracleVM et c'est la seule solution de virtualisation supportée par Oracle sur x86 et x86_64; Pour plus de détails sur les motivations derrière OracleVM et à propos de l'intérêt de la virtualisation avec Oracle, je vous invite à lire mon post précédent. Qui plus est, le rachat de Virtual Iron et le support de Live Migration avec les versions 11.1.0.7+ va faire grandir encore un plus une solution qui devient de plus en plus indispensable. En effet, OracleVM offre entre autre chose :
Cela dit, peut-être que vous aurez envie de tester OracleVM sans installer 2 machines comme c'est nécessaire en production. Et bien si vous êtes intéressé, il est en fait possible d'installer un serveur X dans le domaine 0 d'OracleVM comme dans le copie d'écran ci-dessous.

La procédure qui suit présente cette opération que j'ai testée avec OracleVM 2.1.5.
Installez OracleVM sur votre serveur ou votre portable. Le logiciel peut-être téléchargé gratuitement sur edelivery. En outre, il est possible de l'installer sur une partition d'un disque interne ou sur un disque USB externe si votre serveur peut démarrer sur celui-ci.
Etape 2. Connecter le domaine 0 au référentiel de mise à jour d'Oracle EL5
L'opération est simple; elle consiste à télécharger le fichier de configuration depuis le référentiel YUM d'Oracle avec le script ci-dessous:
Etape 3. Configurer le serveur X
Pour configurer le serveur X, utilisez les utilitaires X.org comme ci-dessous. Dans la plupart des cas, cela suffit à effectuer la configuration:
Etape 4. Installer Gnome
Pour installer Gnome, lancez le script suivant:
Pour installer GDM, lancez le script suivant:
Si vous voulez utiliser des VM, vous pouvez les télécharger sur edelivery. Notez que si vous voulez utiliser les templates HVM, il faut que le processeur Intel ou AMD le supporte. Vous pouvez vérifier les options des processeurs (vmx pour Intel et svm pour AMD); vous pouvez vérifier les "flags" des processeurs comme ci-dessous:
Une fois les rpm installés, vous pouvez même envisager d'installer Oracle VM Manager dans le domaine 0, mais c'est déjà une autre histoire...
Parallèlement, Oracle ne manque pas d'actualités : Le lancement d'Oracle Fusion Middleware 11g est imminent; le 1er Juillet est le D-Day. D'autre part, les résultats de Q4FY'09 sont supérieurs aux attentes des analystes même s'ils sont en déclin...
En ce qui me concerne, le "next big thing" d'Oracle est disponible depuis bientôt 2 ans. Il s'appelle OracleVM et c'est la seule solution de virtualisation supportée par Oracle sur x86 et x86_64; Pour plus de détails sur les motivations derrière OracleVM et à propos de l'intérêt de la virtualisation avec Oracle, je vous invite à lire mon post précédent. Qui plus est, le rachat de Virtual Iron et le support de Live Migration avec les versions 11.1.0.7+ va faire grandir encore un plus une solution qui devient de plus en plus indispensable. En effet, OracleVM offre entre autre chose :
- Un modèle de prix ultra-compétitif avec des licences gratuites et des prestations de support vendus par système physique.
- La compatibilité avec les différents types de licences Oracle. En outre OracleVM permet de limiter l'utilisation des processeurs (hard partitioning) et de ne payer les licences que pour les limites fixées par la solution de virtualisation.
- De nombreux templates disponibles sur edelivery comme OBIEE, Enterprise Manager, Weblogic, Siebel ou Oracle 11g qui permettent d'accélérer et de fiabiliser significativement les mises en oeuvre de vos projets Oracle.
- Une intégration à Oracle Cluster Filesystem (OCFS) qui permet d'utiliser des REFLink et ainsi de cloner des systèmes en quelques secondes sans aucune licence. OCFS permet également de basculer des VM aussi simplement sur un SAN que sur un NAS
- Une empreinte limitée (5 à 10% selon les tests avec la paravirtualisation) si on compare les performances d'un système virtualisé à un système non-virtualisé
- Des performances largement améliorées si on les compare à d'autres solutions basées sur Xen ou VMWare
- La mise en oeuvre de solution HA ou de migration à chaud (en cours de certification pour les systèmes de base de données)
- La mise en place de limites d'utilisation sur les IO virtualisés et les processeurs qui permettent d'isoler les environnements qui cohabitent sur le même système physique
- La conversion de machines physiques ou de machine virtuelles VMWare
Cela dit, peut-être que vous aurez envie de tester OracleVM sans installer 2 machines comme c'est nécessaire en production. Et bien si vous êtes intéressé, il est en fait possible d'installer un serveur X dans le domaine 0 d'OracleVM comme dans le copie d'écran ci-dessous.

La procédure qui suit présente cette opération que j'ai testée avec OracleVM 2.1.5.
Nota Bene:Etape 1. Installer OracleVM
Ce qui est décrit ci-dessous n'est pas supporté et ne doit être utilisé qu'à des fins de démonstration
Installez OracleVM sur votre serveur ou votre portable. Le logiciel peut-être téléchargé gratuitement sur edelivery. En outre, il est possible de l'installer sur une partition d'un disque interne ou sur un disque USB externe si votre serveur peut démarrer sur celui-ci.
Etape 2. Connecter le domaine 0 au référentiel de mise à jour d'Oracle EL5
L'opération est simple; elle consiste à télécharger le fichier de configuration depuis le référentiel YUM d'Oracle avec le script ci-dessous:
cd /etc/yum.repos.dPositionnez le paramètre
wget http://public-yum.oracle.com/public-yum-el5.repo
enable à 1 pour EL5 Update 3 comme ci-dessous:[el5_u3_base]Vous pouvez ensuite mettre à jour le domaine 0 avec yum:
[...]
enabled=1
yum update
Etape 3. Configurer le serveur X
Pour configurer le serveur X, utilisez les utilitaires X.org comme ci-dessous. Dans la plupart des cas, cela suffit à effectuer la configuration:
Xorg -configurePour fermer le display X, tapez sur "Ctrl+Alt+Back"; Enfin ajouter le fichier de configuration à
X -config /root/xorg.conf.new
/etc/X11:cp /root/xorg.conf.new /etc/X11/xorg.conf
Etape 4. Installer Gnome
Pour installer Gnome, lancez le script suivant:
yum groupinstall "gnome"Etape 5. Installer GDM
# Lancer le Serveur X et le Window Manager
startx
Pour installer GDM, lancez le script suivant:
yum install gdmUne fois GDM installé et configuré, modifiez le fichier
echo Enable=true >>/etc/gdm/custom.conf
/etc/inittab en remplaçant:id:3:initdefault:par
id:5:initdefault:Vous pouvez redémarrer le serveur ou simplement changer de niveau avec la commande ci-dessous:
init 5Etape 6. Télécharger et démarrer les VM
Si vous voulez utiliser des VM, vous pouvez les télécharger sur edelivery. Notez que si vous voulez utiliser les templates HVM, il faut que le processeur Intel ou AMD le supporte. Vous pouvez vérifier les options des processeurs (vmx pour Intel et svm pour AMD); vous pouvez vérifier les "flags" des processeurs comme ci-dessous:
# Pour IntelSi les options sont disponibles, vous devez les activer dans le BIOS de votre serveur/portable puisque ces options sont désactivées par défaut.
grep vmx /etc/cpuinfo
# Pour AMD
grep svm /etc/cpuinfo
Une fois les rpm installés, vous pouvez même envisager d'installer Oracle VM Manager dans le domaine 0, mais c'est déjà une autre histoire...
Labels:
OracleVM
Links to this post
Oracle et VMWare
Utiliser VMWare, ou tout autre solution de virtualisation avec des infrastructures x86 32 ou 64 bits a de nombreux intérêts, en particulier avec Oracle; elles permettent :
Support et Stratégie
Commençons par l'ensemble des solutions de virtualisation supportées par les bases de données Oracle ! Vous y découvrirez qu'Oracle ne supporte aucun environnement virtualisés sur les plateformes x86 et x86_64 sauf OracleVM. Pour plus de détails, reportez-vous aux notes "249212.1 - Support Position for Oracle Products Running on VMWare Virtualized Environments" et "464754.1 - Certified Software on OracleVM".
Mais de qu'est-ce que ça veut dire ? Pour résumer, si vous utilisez Oracle et rencontrez un problème connu, Oracle vous supportera. Si par contre, le problème n'est pas référencé, vous devrez apporter la preuve que ce n'est pas votre environnement virtualisé qui introduit le problème. Vous pourrez, par exemple, reproduire le-dit problème sur un environnement non virtualisé ou avec OracleVM. Et le diable étant dans les détails, il existe des différences de moins en moins subtiles entre les environnements virtualisés et ceux non virtualisés; c'est d'autant plus vrai que ces technologies s'intégrent désormais dans les puces d'Intel et d'AMD.
Changeons de point de vue; au lieu de regarder pourquoi Oracle ne supporte pas les environnements virtualisés sur x86, regardons plutôt pourquoi Oracle développe un environnement virtualisé (basé sur Xen) pour ses produits.
Une base de données repose sur des ressources avec lesquelles, les environnements virtualisés ne sont pas toujours aussi à l'aise que pour gérer de la puissance CPU:
Implémenter Oracle sur des environnements x86 virtualisés
Les organisations mettent en oeuvre différents types d'environnements pour différents objectifs. Ces environnements ont des besoins distincts:
(*) n'oubliez pas que virtualisation ne signifie pas seulement mutualisation et qu'il y a plusieurs avantages à avoir, pourquoi pas, un serveurs physique pour une machine virtuelle. Les capacités de clonage ou de de reprendre en quelques minutes tout un environnement virtuel sur un autre serveur sont quelques exemples des autres bénéfices de la virtualisation.
- d'utiliser au mieux les ressources des datacenters en permettant de consolider les services sur les mêmes serveurs et ainsi d'optimiser les investissements; certaines fonctions, comme VMWare DRS, permettent de déplacer les ressources d'un serveurs à un autres automatiquement et avec un impact limité
- d'apporter une grande flexibilité aux administrateurs qui peuvent créer ou utiliser des templates / gold images ou déplacer les machines virtuelles et les disques d'un serveurs à l'autre avec des solutions comme VMotion et Storage VMotion
- d'isoler les environnements les uns des autres dans des machines virtuelles séparées et ainsi, à la fois, de simplifier les installations et limiter l'impact des erreurs
- d'offrir des solutions pour reprendre automatiquement les services en cas de perte d'un serveur ou une erreur matérielle comme VMWare HA et VMWare Fault Tolerant.
- de simplifier les configurations en remplaçant des périphériques physiques (réseaux, stockage...) par des périphériques virtuels. Cela permet également d'uniformiser les infrastructures à gérer, malgré les différences des matériels et des systèmes d'exploitation.
- de maintenir des systèmes vieillissants sans avoir à mettre à jour les systèmes d'exploitation.
Support et Stratégie
Commençons par l'ensemble des solutions de virtualisation supportées par les bases de données Oracle ! Vous y découvrirez qu'Oracle ne supporte aucun environnement virtualisés sur les plateformes x86 et x86_64 sauf OracleVM. Pour plus de détails, reportez-vous aux notes "249212.1 - Support Position for Oracle Products Running on VMWare Virtualized Environments" et "464754.1 - Certified Software on OracleVM".
Mais de qu'est-ce que ça veut dire ? Pour résumer, si vous utilisez Oracle et rencontrez un problème connu, Oracle vous supportera. Si par contre, le problème n'est pas référencé, vous devrez apporter la preuve que ce n'est pas votre environnement virtualisé qui introduit le problème. Vous pourrez, par exemple, reproduire le-dit problème sur un environnement non virtualisé ou avec OracleVM. Et le diable étant dans les détails, il existe des différences de moins en moins subtiles entre les environnements virtualisés et ceux non virtualisés; c'est d'autant plus vrai que ces technologies s'intégrent désormais dans les puces d'Intel et d'AMD.
Changeons de point de vue; au lieu de regarder pourquoi Oracle ne supporte pas les environnements virtualisés sur x86, regardons plutôt pourquoi Oracle développe un environnement virtualisé (basé sur Xen) pour ses produits.
Une base de données repose sur des ressources avec lesquelles, les environnements virtualisés ne sont pas toujours aussi à l'aise que pour gérer de la puissance CPU:
- Oracle doit pouvoir s'appuyer sur des infrastructures de stockage performantes qu'il gère par lui même avec des composants comme ASM ou DirectNFS et en intégrant des protocoles particuliers sur des technologies comme Infiniband,
- Oracle s'appuie sur la connaissance de l'OS pour utiliser au mieux des larges segments de mémoire ou pour décider du niveau de parallelisme qu'il peut mettre en oeuvre et ainsi optimiser la gestion des ressources du serveur
- Oracle offre des fonctionnalités, au premier rang desquel le clustering, qui s'appuient sur les couches les plus profondes des OS pour gérer l'IO fencing ou assurer la cohérence d'infrastructures s'appuyant sur plusieurs serveurs.
Implémenter Oracle sur des environnements x86 virtualisés
Les organisations mettent en oeuvre différents types d'environnements pour différents objectifs. Ces environnements ont des besoins distincts:
- Les environnements de développement et de tests unitaires n'ont souvent pas besoin d'être très performant, contrairement aux environnements d'intégration, de qualité (pré-production), de production ou pour le plan de reprise d'activité. Ces environnements ne contiennent souvent que de petits jeux de tests mais les développeurs aimerait toujours en avoir plus.
- Selon les cas, les développeurs voudront reconstruire des environnements de tests mensuellement, hebdomadairement ou même pour chaque série de tests. De plus, la manière de reconstruire ces environnements est souvent très différente de la manière de reconstruire un environnement de pré-production qui doit quant à lui rester le plus proche possible de la production.
- L'indisponibilité d'un environnement de production peut coûter très cher tandis que l'indisponibilité d'un environnement de test pourra avoir un impact limité dans certains cas.
- VMWAre, VirtualPC et les solutions basées sur Xen ne permettent pas de garantir un minimum de ressources à plusieurs Virtual Machines qui utilisent les mêmes processeurs. Si les solutions comme DRS permettent d'imaginer pouvoir rebalancer les environnements lorsque des minimas sont atteints, ses solutions sont limitées avec des bases Oracle, au moins avec les bases de production; le fait qu'OracleVM Live Migration ne soit pas encore supporté avec Oracle donne le ton... On aura donc tendance à, sinon complétement séparer les environnements de production des environnements de tests, au moins à dédier des processeurs par type d'environnements ou à permettre à dédier certains processeurs physiques à vos environnements de production(*)
- Les autres limites de VMWare et aux autres environnements virtualisés sur x86 sont relatifs à l'utilisation de la virtualisation du stockage et militent pour l'utilisation des technologies de virtualisation directement au niveau d'Oracle comme ASM ou DirectNFS:
- Un device virtuel ne peut pas être accédés directement depuis un serveur physique ce qui limite les possibilités si vous voulez pouvoir vous appuyer sur une approche V2P pour adresser un éventuel problème avec une base de données de production.
- Comme pour les ressources CPU, si les devices virtuels partagent les même devices physiques, il n'y a pas de moyen de prioriser ou de balancer les accès disques simplement.
- Un device virtuel ne peut pas être accédés directement depuis un serveur physique ce qui limite les possibilités si vous voulez pouvoir vous appuyer sur une approche V2P pour adresser un éventuel problème avec une base de données de production.
(*) n'oubliez pas que virtualisation ne signifie pas seulement mutualisation et qu'il y a plusieurs avantages à avoir, pourquoi pas, un serveurs physique pour une machine virtuelle. Les capacités de clonage ou de de reprendre en quelques minutes tout un environnement virtuel sur un autre serveur sont quelques exemples des autres bénéfices de la virtualisation.
Labels:
linux,
oracle
Links to this post
18 juin 2009
L'atelier Infrastructure Oracle à Toulouse... C'est demain!
Bonjour,
Si vous rencontrez quelques difficultés techniques aujourd'hui et que vous habitez à Toulouse, j'anime un atelier sur les Infrastructures Oracle demain. Il reste 2 places alors, battez-vous pour venir discuter et déjeuner dans notre nouvelle agence de Toulouse.
Sinon, vous devrez attendre la prochaine inauguration qui sera à Paris dès la rentrée; les travaux débutent la semaine prochaine... Voilà vous pouvez rallumer votre navigateur web, et retourner à notre dur labeur quotidien, comme moi:

Oops! Ce n'est pas mon jour.
Grégory
Si vous rencontrez quelques difficultés techniques aujourd'hui et que vous habitez à Toulouse, j'anime un atelier sur les Infrastructures Oracle demain. Il reste 2 places alors, battez-vous pour venir discuter et déjeuner dans notre nouvelle agence de Toulouse.
Sinon, vous devrez attendre la prochaine inauguration qui sera à Paris dès la rentrée; les travaux débutent la semaine prochaine... Voilà vous pouvez rallumer votre navigateur web, et retourner à notre dur labeur quotidien, comme moi:

Oops! Ce n'est pas mon jour.
Grégory
Labels:
clusterware,
database,
exadata,
oracle,
OracleVM,
rac
Links to this post
Inscription à :
Messages (Atom)