Modifications entre les versions 102 et 136 (s'étendant sur 34 versions)
Version 102 à la date du 2008-02-05 16:54:44
Taille: 7919
Commentaire: Zenity
Version 136 à la date du 2008-12-04 19:15:01
Taille: 4709
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
= TAF pour pouvoir virtualiser correctement =
== Idée principale ==
* Mettre l'image disque-winxp sur un serveur
=== A faire dans l'urgence ===
Ligne 5: Ligne 3:
* Mettre le snapshot sur le disque dur local pour le traitement des diffèrences

* Ceux qui restent sur les dossiers personnels (serveur nfs) de l'utilisateur
  .* Les fichiers de configuration statiques en taille
   .a. VirtualBox.xml (1,3 Ko)
   .b. WinXP.xml (2,6 ko)
  .* Les fichiers de logs (126 ko)
   
== I. Configuration de la machine type/modele ==

* Configurer virtualbox en mode graphique :), l'essentiel est d'avoir une "bonne" config de Windows XP

* Installer le VBOXGuestAdditions_Tools_1.5.0_OSE.iso qui est un correctif, essentiel pour le partage de dossier, graphisme etc...que du bien

* Configuration de Windows avec un disque en mode normal. Droits: (rwx)
 .* Mappage de "mes documents" avec ''/$HOME/Documents'', et mettre le chemin unc: ''\\VBOXSVR\Documents''
 .* Création d'un lecteur logique pour simuler le lecteur usb dans le poste de travail du guest: '' net use z: \\VBOXSVR\FlashDisk ''
 .* Logiciels dépendant de la formation
 --( Installer les portables de MG et TT )--
 * Migrer les postes du personnel:
  * --( DD )--
  * FS(appliAccess)
  * Visiteurs
  * TS
  * BG
 * Mettre telefon.sn.auf sur pied
   * [[http://wiki.auf.org/wikiteki/ZAO/Dakar/Configuration/Voip/TDM2400|Configuration]]
   * [[http://wiki.auf.org/wikiteki/ZAO/Dakar/Configuration/Voip/MenuDAccueil|Menu d'accueil]]
 * Test du /net/home en vrai
 * CDR en intrepid
 * Logo AUF carte abonnement
 
=== Notes en vrac ===
 * [[http://wiki.auf.org/wikiteki/NdimbyAndriantsoavina/VirtualBox|virtualbox sur nfs]]
 * [[http://wiki.auf.org/wikiteki/ZAP/ModèlesDeConfiguration|cupspdf]]: @{HOMEDIRS}=/nfs/home* dans /etc/apparmor.d/tunables/home
Ligne 25: Ligne 22:
== II. Configuration sur les machines foad ==

* Créer une partition de 5Go pour mettre le snapshot, monter sur /mnt/VBOX/TMP
 Donner les droits aux dossiers /mnt/VBOX/TMP à tous les vboxusers.
  {{{
     sudo chmod 666 /dev/vboxdrv
     sudo adduser $LOGNAME vboxusers
     sudo groupadd vboxusers
     sudo chown -R .vboxusers /mnt/VBOX/TMP
     sudo chmod 770 /mnt/VBOX/TMP }}}
==== Install mobile ====
En attendant auf-poste-client-mobile ou eventuellement auf-laptop
 1. Verification bios
 2. Install system
 3. Verification matériel:
   * raccourcis clavier, touche FN
   * verification hardware lspci, lshw, webcam, xserver-xorg-input-synaptics
   * video apres fermeture ecran
xorg.conf
{{{
Section "Device"
        Identifier "Configured Video Device"
        Driver "intel"
        Option "XVideo" "Off"
EndSection
...........
Ligne 37: Ligne 40:
* Essai de [https://help.ubuntu.com/community/ATAOverEthernet ATAoverEThernet] ... impossible en multiaccess de disque-winxp.vdi }}}
   * son apres fermeture ecran
/etc/modprobe.d/modules/options
{{{
options snd_hda_intel model=3stack-dig
}}}
   * Modifier la gestion d'energie pour veiller à l'autonomie, ecran fermé, 2nd écran, effets visuels, gconf-editor/apps/nautilus
 4. Installer les logiciels de bases
   * Groupe utilisateur video, fuse, audio
   * auf-poste-client-logiciels
   * auf-poste-client-reflets
 5. Parametrages divers
   * [[http://wiki.auf.org/wikiteki/ZAO/Dakar/Configuration/ClientDeMessagerie|Thunderbird]]
   * jabber
   * Montage ssh sshfs bao.sn.auf: BAO
   * OpenVPN si il est pas sur le RPV
Ligne 39: Ligne 57:
* Mettre le disque-winxp.vdi sur le serveur NFS avec les droits 440, appartenant au groupe vbox. (/usr/local) ==== Install client-poste-fixe ====
nb: bug auf-desktop dans /etc/dhcp3/dhclient-exit-hooks.d/auf-nfs {-fstype=nfs,noatime,noexec,intr,proto=tcp}
Ligne 41: Ligne 60:
* Faire un script qui automatise le management et le démarrage de vbox,  1. Installation de Hardy basique (ubuntu-desktop, en français), mv home home.local + vipw
 1. Mise en place sources.list dépôt AUF et installation de auf-keyring
 1. aptitude install auf-poste-client-fixe
  * nb : répondre oui à l'écrasement de `dhclient.conf`
 1. initialisation de la synchro par `/usr/sbin/auf-poste-client-fixe-synchro-init`
 1. pour s'assurer que tout redémarre bien (gdm, nscd, etc) : rebooter
 1. ... et c'est fini

=== Mise en place infrastructure ===

 1. DNS-DHCP pour les postes clients
 1. Dans la zone DNS du réseau, ajouter une machine appellée "autoconfig"
  . nb : cette machine doit être accessible en ssh (port 22/tcp) depuis tous les postes clients à auto-configurer
  . idée : prendre une machine existante...
 1. Sur la machine autoconfig créer un compte qui s'appelle "auf-autoconfig"
  . mot de passe important: ce sera le mot de passe pour initialiser la synchro de configuration des postes clients
  . ne pas oublier de le rendre accessible en ssh
 1. Sur le compte '''auf-autoconfig''' :
  1. création d'une clé à destination du root des postes clients (sans passphrase) :
   {{{
auf-autoconfig@autoconfig:~$ ssh-keygen -t dsa -b 1024 -f ./id_dsa -N "" -C "root@auf-poste-client"
}}}
  1. création du .tar.gz contenant ces clés :
   {{{
auf-autoconfig@autoconfig:~$ tar zcvf ssh-root-keys.tar.gz id_dsa id_dsa.pub authorized_keys(root@nfs)
auf-autoconfig@autoconfig:~$ chmod 400 ssh-root-keys.tar.gz
}}}
  1. donner à cette clé l'accès au compte auf-autoconfig :
   {{{
auf-autoconfig@autoconfig:~$ mkdir .ssh
auf-autoconfig@autoconfig:~$ cat id_dsa.pub >> .ssh/authorized_keys
auf-autoconfig@autoconfig:~$ chmod 600 .ssh/authorized_keys
auf-autoconfig@autoconfig:~$ chmod 700 .ssh
}}}
 1. Création des racines : cf partie suivante

=== Création d'une racine pour hardy ===
tar -ztf root-hardy.tar.gz
Ligne 43: Ligne 100:

#!/bin/bash
#
# Script qui permet aux uilisateurs d'installer une image windows sous virtualbox
# VDI contient l'image du disque winxp mis sur le serveur nfs
# TMP contient l'image de diffèrence. Il est préfèrable de monter une partition sur TMP

VBOXMANAGE=$(which vboxmanage)
ZENITY=$(which zenity)

#Prend comme argument le nom de la nouvelle machine
VBOXVMUUID=$1

#VDI=/srv/images/aigeme
VDI=/mnt/AIGEME
MAPAGE=/nfs$HOME/Documents
FLASH=/nfs$HOME/.FlashDisk
#TMP=/srv/local/vbox
TMP=/mnt/VBOX/TMP
#Nom du disk
DISKFILE=XP-AIGEME.vdi


# Tips pour les usb, dans VBOX ose
 if [ ! -d $FLASH ] ; then
 mkdir $FLASH
 ln -s /media/disk/ $FLASH/
 fi

# Test de Zenity
 if [ ! -x ${ZENITY} ]; then
        echo "Erreur: l'outil Zenity n'est pas installé."
        exit 1
 fi

if [ ! $# = 1 ]; then
        ${ZENITY} --error --title "Argument nécessaire" --text "Ce script doit faire appel à un argument: l'UUID/nom de la machine virtuel doit être mis en argument."
        exit 2
fi

# Nettoyer le répertoire home/.Virtualbox/defaults
  if [ -f $HOME/.VirtualBox//.nfs* ]; then
 sleep 3
 ${ZENITY} --error --title "Erreur suppression nfs*** " --text " Ressource occupée, redémarrer l'application"
 exit 2
  fi

 # Re-nettoyage
 rm -rf $HOME/.VirtualBox/


 # Nettoyage des disques de diffèrences
 if [ ! -d $TMP ] ; then
  ${ZENITY} --error --title " Erreur d'accès disque temp." --text "La partition temporaire est innaccessible "
  exit 1
  elif [ -n "$TMP" -a -e $TMP/* ] ; then
  rm -rf $TMP/{*
  fi


# repertoires des images sources des machines sur le serveur nfs
 ${VBOXMANAGE} setproperty vdifolder $VDI/

# conf des machines restent dans le homedir
 ${VBOXMANAGE} setproperty machinefolder defaults


# faire reconnaitre notre image modele
 if [ ! -e $VDI/$DISKFILE ] ; then
 ${ZENITY} --error --title " Erreur d'accès disque " --text "L'image disque ${DISK} ne peut être trouver "

 fi
# rendre le disque immutable
${VBOXMANAGE} registerimage disk $DISKFILE -type immutable

  
# creer la machine du nom de "WinXP"
${VBOXMANAGE} createvm -name ${VBOXVMUUID} -register

# lui attacher l'image disque avec les options audio et nat
${VBOXMANAGE} modifyvm ${VBOXVMUUID} -hda $DISKFILE -nic1 nat -snapshotfolder $TMP -audio alsa


if ${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master > /dev/null; then
        DISKFILE=$(${VBOXMANAGE} showvminfo ${VBOXVMUUID} | grep ^Primary\ master | sed -e "s/Primary\ master:\ *//" -e 's/\ *(UUID.*$//')
        if [ ! -r ${DISKFILE} ]; then
                ${ZENITY} --error --title "Disque primaire non trouvé" --text "L'image disque pour le disque primaire, ${DISKFILE}, ne peut être trouvé."
                 exit 1
        fi
fi
  

# supprimer les extradatas
${VBOXMANAGE} setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn"
${VBOXMANAGE} setextradata global "GUI/Customizations noMenuBar,noStatusBar"

# Partage des dossiers entre XP et Ubuntu
vboxmanage sharedfolder add ${VBOXVMUUID} -name Documents -hostpath $MAPAGE/
vboxmanage sharedfolder add ${VBOXVMUUID} -name FlashDisk -hostpath $FLASH/

 
# lancement de vbox

VBOXOUT=$(${VBOXMANAGE} startvm ${VBOXVMUUID})
VBOXCODE=$?

   if [ ! ${VBOXCODE} = 0 ]; then
           echo -e ${VBOXOUT}
           VBOXERROR=$(echo ${VBOXOUT} | grep "\[\!\]\ Text" | sed "s/.*\[\!\]\ Text\ *=\ *//")
           VBOXERROR=$(echo ${VBOXERROR} | sed "s/\ \[\!\].*//")
           ${ZENITY} --error --title "Erreur lors du lancement de la machine virtuelle" --text " Une erreur s'est produite lors du lancement de la machine virtuelle: ${VBOXERROR}
           tapez \"${VBOXMANAGE} startvm ${VBOXVMUUID}\" pour plus de détails."
        exit 4
   fi
 
./
./etc/
./etc/libnss-mysql-root.cfg
./etc/libnss-mysql.cfg
./var/
./var/lib/
./var/lib/auf-poste-client-fixe/
./var/lib/auf-poste-client-fixe/synchro-postinst
Ligne 161: Ligne 111:
  ----
Ligne 164: Ligne 112:
==== Remarques ====
 . * '' Lorsqu'on modifie, supprime, ou on déplace des fichiers dans "Mes documents" sous WinXP, il faut rafraichir la fenêtre :( ''
 . * Pour modifier le type de l'image pour la maintenance, sachant qu'on a disque-winxp.vdi, avec un chmod rwx
 1. etc/libnss-mysql.cfg
Ligne 168: Ligne 114:
 vboxmanage modifyvm WinXP -hda none
 vboxmanage unregisterimage disk disque-winxp.vdi
 vboxmanage registerimage disk disque-winxp.vdi -type normal
 vboxmanage modifyvm WinXP -hda disque-winxp.vdi
 vboxmanage startvm WinXP -gui }}}
 . et c'est reparti en n'oubliant pas de remettre le mod en read-only
--------
getspnam SELECT username,password,lstchg,min,max,warn,inact,expire,flag \
            FROM users \
            WHERE username= binary '%1$s' \
---------
host 192.168.1.1 (serveur sql)
database tablenss
username user
password lepassnss
timeout 3
compress 0
 }}}
Ligne 175: Ligne 127:
/!\ Avant de copier l'image modele faire un petit  1. etc/libnss-mysql-root.cfg
 {{{
username xxxx
password xxxx
 }}}

 1. var/lib/auf-poste-client-fixe/synchro-postinst
Ligne 177: Ligne 135:
 vboxmanage modifyvm WinXP -hda none
 vboxmanage unregisterimage disk disque-winxp.vdi
}}}
if [ ! -e /home ]; then
 ln -s /net/nfs.refer.sn/home /
fi
Ligne 181: Ligne 139:
 . * Pour les fichiers de configurations, on a 3 types de uuid:
  . 1. Celui qui spécifie le nom de la machine virtuelle: WinXp
  . 2. L'uuid qui spécifie le "disque dur", qu'il soit immutable ou non
  . 3. Et enfin un dernier qui est spécifié quand le type est immutable

 {{{

    <MachineRegistry>
      <MachineEntry src="Machines/WinXP/WinXP.xml" uuid="{f4270d7d-2c5f-4776-46af-e43f34e655dd}"/>
    </MachineRegistry>
     .....
        <HardDisk type="immutable" uuid="{85330e70-3e98-488c-0586-f01e5685fec3}">
          <VirtualDiskImage filePath="/mnt/e1.1/disque-winxp.vdi"/>
          <DiffHardDisk uuid="{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}">
            <VirtualDiskImage filePath="/mnt/VBOX/{db7c4e20-7a9c-4d72-ecbb-96a07249f8c5}.vdi"/>
          </DiffHardDisk>
        </HardDisk>
      </HardDisks> }}}
 
==== A tester ====

 * Test VMDK
  1. Lancer VMDK depuis Gestionnaire de disk VBox
    Sinon Convertir une image VMDK de vmware en VDI

  2. Tester le mode immutable VMDK sur VirtualBox
    Si test ok mettre sur le serveur NFS
       sinon créer une nouvelle image vdi avec les logs de [http://wiki.auf.org/wikiteki/FOAD/AIGEME AIGEME]
        

 * Test X-access
  Tester l'acces de l'image depuis plusieurs machines du CDR
     Si test ok passer a test foad
       sinon verifier les permissions, type etc..

 * Test foad
   Implementer le test sur quelques utilisateurs dans la salle foad
   
 
if [ ! -e /home2 ]; then
 ln -s /net/nfs.refer.sn/home2 /
fi
 }}}

A faire dans l'urgence

  • Installer les portables de MG et TT

  • Migrer les postes du personnel:
    • DD

    • FS(appliAccess)
    • Visiteurs
    • TS
    • BG
  • Mettre telefon.sn.auf sur pied
  • Test du /net/home en vrai
  • CDR en intrepid
  • Logo AUF carte abonnement

=== Notes en vrac ===

Install mobile

En attendant auf-poste-client-mobile ou eventuellement auf-laptop

  1. Verification bios
  2. Install system
  3. Verification matériel:
    • raccourcis clavier, touche FN
    • verification hardware lspci, lshw, webcam, xserver-xorg-input-synaptics
    • video apres fermeture ecran

xorg.conf

Section "Device"
        Identifier      "Configured Video Device"
        Driver          "intel"
        Option          "XVideo" "Off"
EndSection
...........
  • son apres fermeture ecran

/etc/modprobe.d/modules/options

options snd_hda_intel model=3stack-dig
  • Modifier la gestion d'energie pour veiller à l'autonomie, ecran fermé, 2nd écran, effets visuels, gconf-editor/apps/nautilus
  1. Installer les logiciels de bases
    • Groupe utilisateur video, fuse, audio
    • auf-poste-client-logiciels
    • auf-poste-client-reflets
  2. Parametrages divers
    • Thunderbird

    • jabber
    • Montage ssh sshfs bao.sn.auf: BAO
    • OpenVPN si il est pas sur le RPV

Install client-poste-fixe

nb: bug auf-desktop dans /etc/dhcp3/dhclient-exit-hooks.d/auf-nfs {-fstype=nfs,noatime,noexec,intr,proto=tcp}

  1. Installation de Hardy basique (ubuntu-desktop, en français), mv home home.local + vipw
  2. Mise en place sources.list dépôt AUF et installation de auf-keyring
  3. aptitude install auf-poste-client-fixe
    • nb : répondre oui à l'écrasement de dhclient.conf

  4. initialisation de la synchro par /usr/sbin/auf-poste-client-fixe-synchro-init

  5. pour s'assurer que tout redémarre bien (gdm, nscd, etc) : rebooter
  6. ... et c'est fini

Mise en place infrastructure

  1. DNS-DHCP pour les postes clients
  2. Dans la zone DNS du réseau, ajouter une machine appellée "autoconfig"
    • nb : cette machine doit être accessible en ssh (port 22/tcp) depuis tous les postes clients à auto-configurer
    • idée : prendre une machine existante...
  3. Sur la machine autoconfig créer un compte qui s'appelle "auf-autoconfig"
    • mot de passe important: ce sera le mot de passe pour initialiser la synchro de configuration des postes clients
    • ne pas oublier de le rendre accessible en ssh
  4. Sur le compte auf-autoconfig :

    1. création d'une clé à destination du root des postes clients (sans passphrase) :
      • auf-autoconfig@autoconfig:~$ ssh-keygen -t dsa -b 1024 -f ./id_dsa -N "" -C "root@auf-poste-client"
    2. création du .tar.gz contenant ces clés :
      • auf-autoconfig@autoconfig:~$ tar zcvf ssh-root-keys.tar.gz id_dsa id_dsa.pub authorized_keys(root@nfs)
        auf-autoconfig@autoconfig:~$ chmod 400 ssh-root-keys.tar.gz
    3. donner à cette clé l'accès au compte auf-autoconfig :
      • auf-autoconfig@autoconfig:~$ mkdir .ssh
        auf-autoconfig@autoconfig:~$ cat id_dsa.pub >> .ssh/authorized_keys
        auf-autoconfig@autoconfig:~$ chmod 600 .ssh/authorized_keys
        auf-autoconfig@autoconfig:~$ chmod 700 .ssh
  5. Création des racines : cf partie suivante

Création d'une racine pour hardy

tar -ztf root-hardy.tar.gz

./
./etc/
./etc/libnss-mysql-root.cfg
./etc/libnss-mysql.cfg
./var/
./var/lib/
./var/lib/auf-poste-client-fixe/
./var/lib/auf-poste-client-fixe/synchro-postinst
  1. etc/libnss-mysql.cfg
    --------
    getspnam    SELECT username,password,lstchg,min,max,warn,inact,expire,flag \
                FROM users \
                WHERE username= binary '%1$s' \
    ---------
    host        192.168.1.1 (serveur sql)
    database    tablenss
    username    user
    password    lepassnss
    timeout     3
    compress    0
  2. etc/libnss-mysql-root.cfg
    username xxxx
    password xxxx
  3. var/lib/auf-poste-client-fixe/synchro-postinst
    if [ ! -e /home ]; then
            ln -s /net/nfs.refer.sn/home /
    fi
    
    if [ ! -e /home2 ]; then
            ln -s /net/nfs.refer.sn/home2 /
    fi

NdimbyAndriantsoavina/NotesPerso (dernière édition le 2011-09-08 11:12:41 par NdimbyAndriantsoavina)