Post pxe install
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script de post-installation |
| Contexte | Préparation d'une cellule de stockage Exadata après PXE/kickstart |
| Voir aussi | Archi exadata · Cellcli · CELL Create hdd fileformat |
Script shell exécuté après une installation PXE d'une cellule de stockage Exadata (sur machine virtuelle OVM dans ce cas), pour finaliser la configuration réseau, désactiver les services inutiles, installer le logiciel de cellule et créer les disques.
Désactivation des services inutiles
Si l'installation n'est pas passée par un kickstart qui s'en charge déjà, désactiver les services non nécessaires sur une cellule dédiée :
chkconfig --level 2345 auditd off && service auditd stop chkconfig --level 2345 autofs off && service autofs stop chkconfig --level 2345 avahi-daemon off && service avahi-daemon stop chkconfig --level 2345 bluetooth off && service bluetooth stop chkconfig --level 2345 cups off && service cups stop chkconfig --level 2345 ip6tables off && service ip6tables stop chkconfig --level 2345 iptables off && service iptables stop chkconfig --level 2345 isdn off && service isdn stop chkconfig --level 2345 kudzu off && service kudzu stop chkconfig --level 2345 mcstrans off && service mcstrans stop chkconfig --level 2345 netfs off && service netfs stop chkconfig --level 2345 pcscd off && service pcscd stop chkconfig --level 2345 restorecond off && service restorecond stop chkconfig --level 2345 rhnsd off && service rhnsd stop chkconfig --level 2345 sendmail off && service sendmail stop chkconfig --level 2345 setroubleshoot off && service setroubleshoot stop chkconfig --level 2345 smartd off && service smartd stop chkconfig --level 2345 xinetd off && service xinetd stop chkconfig --level 2345 yum-updatesd off && service yum-updatesd stop mkdir -p /var/log/oracle && chmod -R 775 /var/log/oracle mkdir -p /opt/oracle/cell/disks/raw cat >> /etc/sysctl.conf <<EOF fs.file-max = 65536 EOF cat >> /etc/security/limits.conf <<EOF * soft nofile 65536 * hard nofile 65536 EOF cat >> /etc/pam.d/login <<EOF session required pam_limits.so EOF
(bloc ci-dessus laissé en commentaire dans le script d'origine, à activer si le kickstart ne l'a pas déjà fait)
Corps du script
#!/bin/bash
clear
cat<<EOU
#===========================================================================#
Script de post-installation d'une cellule Oracle
#===========================================================================#
Sujet : installation des paquets
#===========================================================================#
EOU
echo -e "\n\nExecuting...\n\n"
# sur une machine OVM uniquement
yum -y remove microcode_ctl
##############################################
#### Suite de la procédure générique
##############################################
HOSTNAME=$(hostname)
rpm -ivh http://repo/repo/oel/x86_64/5/u8/Cell/jdk-1_5_0_15-linux-amd64.rpm
rpm -ivh http://repo/repo/oel/x86_64/5/u8/Cell/cell-11.2.3.2.1_LINUX.X64_130109-1.x86_64.rpm
su - celladmin -c "cellcli -e create cell $HOSTNAME interconnect1=eth0"
su - celladmin -c "cellcli -e alter cell restart services all"
detect_ifconfig=$(cat /opt/oracle/cell/cellsrv/deploy/config/cellinit.ora | grep ipaddr | wc -l)
if [[ $detect_ifconfig -ne 1 ]] ; then
echo "Le fichier de configuration ne contient pas la configuration réseau."
echo "Veuillez consulter le fichier :"
echo -e "/opt/oracle/cell/cellsrv/deploy/config/cellinit.ora"
echo "La commande suivante n'a probablement pas fonctionné :"
echo "cellcli -e create cell $HOSTNAME interconnect1=eth0"
exit 1
else
echo -e "\n\tValidation réseau OK\n"
fi
##################################
### Disques ASM
##################################
# Les disques ASM ne peuvent pas être formatés via l'utilitaire de partitionnement kickstart
# (celui-ci impose un point de montage). Il faut les préparer à la main.
# disque 2 - 200G
parted -s /dev/xvdb mklabel gpt
parted -s /dev/xvdb mkpart primary ext3 0% 100%
# disque 3 - 33G
parted -s /dev/xvdc mklabel gpt
parted -s /dev/xvdc mkpart primary ext3 0% 100%
# disque 4 - 33G
parted -s /dev/xvdd mklabel gpt
parted -s /dev/xvdd mkpart primary ext3 0% 100%
# préparation des liens symboliques
mkdir -p /opt/oracle/cell/disks/raw
ln -sf /dev/xvdb1 /opt/oracle/cell/disks/raw/disk00D
ln -sf /dev/xvdc1 /opt/oracle/cell/disks/raw/disk00R
ln -sf /dev/xvdd1 /opt/oracle/cell/disks/raw/FLASH00
# purge des disques (écriture de zéros en tête de partition)
dd if=/dev/zero of=/dev/xvdb1 bs=1M count=20
dd if=/dev/zero of=/dev/xvdc1 bs=1M count=20
dd if=/dev/zero of=/dev/xvdd1 bs=1M count=20
su - celladmin -c "cellcli -e create celldisk all"
#su - celladmin -c "cellcli -e import celldisk all force"
su - celladmin -c "cellcli -e create griddisk DATA_CD_disk00D_$(hostname) celldisk=CD_disk00D_$(hostname)"
su - celladmin -c "cellcli -e create griddisk RECO_CD_disk00R_$(hostname) celldisk=CD_disk00R_$(hostname)"
su - celladmin -c "cellcli -e create flashcache all size=32G"
su - celladmin -c "cellcli -e create flashlog all"
cat << EOF
La vérification de l'installation se fait par ces commandes :
su - celladmin -c "cellcli -e list flashcache detail"
su - celladmin -c "cellcli -e list flashlog detail"
su - celladmin -c "cellcli -e list cell"
su - celladmin -c "cellcli -e list celldisk"
su - celladmin -c "cellcli -e list griddisk"
EOF
exit 0
Bug corrigé par rapport à la source : le test if [[ detect_ifconfig -ne 1 ]]
comparait une chaîne littérale (sans $) au lieu de la valeur de la variable
$detect_ifconfig — la condition ne se déclenchait donc jamais correctement.
Voir aussi
- Archi exadata — rôle de
cellinit.oraet de la hiérarchie disque → cell disk → grid disk - CELL Create hdd fileformat — détail des commandes cellcli de création des disques
- Cellcli — référence des commandes cellcli