Catégorie : Virtualisation

18 août 2017 /

Installation

Installation de Docker via Aptitude:

sudo apt-get update
sudo apt-get install lxc-docker​

Installation de Docker via le script d’installation officiel:

wget -O dockerinstall.sh https://get.docker.com
sh ./dockerinstall.sh

Information

Afficher les informations sur la version de Docker installée​:

docker version

Obtenir la liste des commandes du client Docker:

docker help

Obtenir de l’aide sur les options d’une commande:

docker help nom_de_la_commande

Docker Hub

​Connexion à un compte Docker Hub:

docker login

Déconnexion du compte Docker Hub:

docker logout

Récupérer une image

Récupérer une image sans la lancer:

docker pull nom_de_l_image

Récupération d’une image Ubuntu dans sa dernière version:

docker pull ubuntu:latest

​Rechercher une image Nginx avec au moins 5 étoiles:

docker search --stars=5 nginx

Envoyer d’une image

Envoyer une image locale sur le registre Docker Hub:

docker push nom_image

Envoyer une image sur un registre privé:

docker push localhost:88/ubuntu

Dépôt de l’image depuis une autre machine (host=starmate):

docker push starmate:5000/ubuntu

Sauvegarde et restauration

Export d’une image sous forme d’archive:

docker save -o fichier.tar nom_image

Import d’une archive d’image:

docker load -i fichier.tar

Lancement de conteneur

Démarrer un conteneur arrêté:

docker start nom_image

Redémarrer un conteneur en cours:

docker restart nom_image

Redémarrer un conteneur en spécifiant la période de grâce:

docker restart -t 20 nom_image

Démarrer le conteneur de test Hello World:

docker run hello-world​

Démarrer un conteneur en mode interactif:

docker run -i -t ubuntu

Démarrer sans option d’un conteneur:

docker run ubuntu

Démarrer un conteneur avec un nom donné:

docker run --name=nom_donné nom_image

Démarrer un conteneur avec une commande donnée:

docker run nom_de_l_image commande_à_exécuter

Démarrer un conteneur en ajoutant une variable d’environnement:

docker run -e=nom_variable=valeur nom_image

ou

docker run -e nom_variable=valeur nom_image

Démarrer un conteneur en injectant une des variables d’environnement de la machine hôte:

docker run -e=nom_variable image_à_instancier

Démarrer un conteneur en injectant des variables d’environnement stockées dans un fichier:

docker run --env-file=nom_fichier nom_image

Démarrer un conteneur en modifiant son hostname:

docker run -h hostname_voulu

Démarrer un conteneur en montant un dossier dans le conteneur depuis la machine hôte en RO (read only):

docker run -v dossier_sur_hote:dossier_sur_l_image:ro nom_image

Démarrer un conteneur en mode détaché:

docker run -d nom_image

Démarrer un conteneur d’un registre privé en localhost (port 5000 vers 88):

docker run -d --name starmate -p 88:5000 starmate:2.0

Démarrer un conteneur d’un registre privé sur le réseau local (IPhost=starmate dans tous les fichiers hosts):

docker run -d --name starmate -p 5000:5000 starmate:2.0

Démarrer un conteneur du registre privé en réseau local (IPhost= starmate dans tous les fichiers hosts) en montant un dossier local de la machine host:

docker run -d --name starmate -p 5000:5000 -v /dossier_machine_host:/dossier_image_starmate starmate:2.0

Démarrer et supprimer un conteneur dès la sortie du processus:

docker run --rm hello-world

Connexion à un conteneur

Connexion à un conteneur en tant que root avec bash:

docker exec -u root -it ID_conteneur bash

Suppression de conteneur

Supprimer un conteneur arrêté:

docker rm loving_lovelace

Supprimer un conteneur de manière forcée:

docker rm -f nom_conteneur

Supprimer tous les conteneurs:

docker rm `docker ps -a -q`

Suppression d’une image

Supprimer une image:

docker rmi nom_de_l_image

Supprimer plusieurs images:

docker rmi image1 image2 imageN

Arrêt d’un conteneur

Arrêter un conteneur:

docker stop nom_image

Envoyer un signal à un conteneur:

docker kill -s code_du_signal nom_image

Monitoring

​Lister les conteneurs en cours de fonctionnement:

docker ps

​Lister tous les conteneurs:

docker ps -a

Lister les images Docker présentes sur la machine locale:

docker images

Lister les modifications d’un conteneur par rapport à son image de lancement:

docker diff identifiant_du_conteneur

Visualiser les logs d’un conteneur:

docker logs nom_image

Explorer les processus d’un conteneur:

docker top nom_image

Construction d’un conteneur

Persister l’état d’un conteneur en une nouvelle image:

docker commit identifiant_du_conteneur  nom_de_l_image

Tag

Tag d’un conteneur:

docker build -t identifiant_du_conteneur starmate:1.0

Modifier le tag d’un conteneur:

docker tag starmate:1.0 starmate:latest

Forcer le tag d’un conteneur (si tag déjà existant):

docker tag -f starmate:1.0 starmate:latest

 

3 août 2017 /

Désactiver l’expiration du mot de passe et effacer l’historique des mots de passe pour une appliance VMware.

chage -M -1 root; echo "" > /etc/security/opasswd

8 février 2017 /

Arrêt du LDOM

On commence par arrêter le LDOM :

ldm stop starmate

Suppression des ressources associés au LDOM

On désassocie le LDOM de ses ressources virtuelles :

ldm unbind starmate

Puis on supprime le CDROM ainsi que le LUN du LDOM :

ldm remove-vdisk cdrom starmate
ldm remove-vdisk disk0-l-starmate starmate

On désassocie ensuite le switch virtuel :

ldm remove-vnet vnet0 starmate

Par soucis de clarté, on supprime le cdrom virtuel ainsi que le disque virtuel de l’hyperviseur cette fois :

ldm remove-vdsdev cdrom-starmate@primary-vds0
ldm remove-vdsdev disk0-l-starmate@primary-vds0

Suppression du LDOM

On peut maintenant supprimer le LDOM :

ldm destroy starmate

6 février 2017 /

Présentation d’un LUN à l’hyperviseur Solaris

Une fois que le LUN a été créé et présenté au serveur Solaris via Unisphere, on peut le voir sur l’hyperviseur, nommé « Primary » via la commande format:

echo | sudo format

Particularité dans le cas où nous passerions par un espace de stockage ZFS à la place d’un LUN:

zfs create rpool/ldoms
zfs create -V 30g rpool/ldoms/starmate

Préparation du LUN

On commence par rechercher le LUN précédemment présenté à l’hyperviseur Solaris :

echo | sudo format

Attention, si l’ID du VLUN est égal à 0, alors il sera vu en LUNZ

nous allons donner un nom au LUN par soucis de clarté :

format c0t60060160F1F032008D0F62E696D9E611d0

vol-name "l-starmate"
q

Vérification des ressources disponibles sur l’hyperviseur

Avant de créer le LDOM, il peut être utile de vérifier les ressources disponibles sur l’hyperviseur, pour cela nous ferons cette commande:

ldm ls-devices -a

On peut également voir les ressources (Range de la console, liste des Switch virtuel et des devices virtuels existant) de l’hyperviseur via cette commande :

ldm list-services primary

Intégration du LUN dans l’hyperviseur

On intègre le LUN dans l’hyperviseur (primary-vds0) en lui donnant un nom (disk0-l-starmate):

ldm add-vdsdev /dev/dsk/c0t60060160F1F032008D0F62E696D9E611d0s2 disk0-l-starmate@primary-vds0

Note : il est important d’ajouter « s2 » à la fin de l’ID, car cela prend le LUN en entier

Si ZFS a ét choisi à la place d’un LUN, il faudra alors procéder comme cela :

ldm add-vdsdev /dev/zvol/dsk/rpool/ldoms/starmate disk0-l-s10c2@primary-vds0

Création du LDOM (machine virtuelle)

Nous pouvons maintenant créer notre machine virtuelle « starmate»:

ldm add-domain starmate

On y affecte des vCPU:

ldm add-vcpu 3 starmate

On y affecte de la RAM:

ldm add-memory 3g starmate

On ajoute le  switch virtuel (qui devra être créé précédemment) :

ldm add-vnet vnet0 primary-vsw1 starmate

On ajoute le disque qui avait été présenté précédemment (disk0-l-starmate@primary-vds0) à l’hyperviseur, à la machine virtuelle (starmate) et en lui donnant un nom (disk0-l-starmate):

ldm add-vdisk disk0-l-starmate disk0-l-starmate@primary-vds0 starmate

Intégration d’une image ISO bootable à l’hyperviseur

On peut voir l’ensemble des images ISO déclaré dans l’hyperviseur, via la commande suivante :

ldm list -o disk primary

Cela peut nous permettre de retrouver le chemin de l’ISO que l’on souhaite (Solaris 10 ou Solaris 11) si il a été précédemment configuré. Si vous souhaitez une autre image ISO, il suffit de la déposer dans un répertoire de l’hyperviseur et de noter son chemin

Une fois que cela est fait, on peut présenter l’ISO comme disque virtuel à l’hyperviseur (primary-vds0), en lui donnant un nom (cdrom-starmate), et en spécifiant qu’il est en RO (read only) :

ldm add-vdsdev options=ro /iso/sol-10-u11-ga-sparc-dvd.iso cdrom-starmate@primary-vds0

Affectation de l’ISO à la machine virtuelle

On ajoute l‘image ISO à la machine virtuelle (starmate) :

ldm add-vdisk id=99 cdrom cdrom-starmate@primary-vds0 starmate

Sauvegarde de la configuration

Pour ne pas perdre votre machine virtuelle fraîchement configurée, il faut enregistrer sa configuration sous un profil (ici starmate):

ldm add-spconfig starmate

Activation des ressources du LDOM

On doit activer la machine virtuelle pour pouvoir la démarrer:

ldm bind starmate

Démarrage de la machine virtuelle

On peut maintenant la démarrer :

ldm start starmate

Connexion sur le LDOM

Il faut tout d’abord identifier le port console qui lui a été affecté par l’hyperviseur.Pour cela il suffit de lister les machines virtuelles :

ldm list

Une fois le numéro de console récupéré, nous utilisons la commande telnet pour nous connecter sur le LDOM :

telnet -e^Y localhost 5002

Le break (^Y soit CTRL+V puis CTRL+Y) permet de pouvoir sortir de la console/telnet en faisant CTRL+Y

Démarrage sur l’ISO

Une fois sur la console du LDOM, vous devriez avoir un prompt « {0} ok».
Il faut maintenant démarrer sur le CDROM.

Pour cela, on commence par lister les alias avec la commande devalias:

devalias

On voit que l’alias pour le cdrom est cdrom, nous faisons donc la commande suivante pour booter dessus :

boot cdrom - install

Bonus

Voir la configuration de l’hyperviseur « Primary »:

ldm list-services primary

Changer le range du port console:

ldm add-vcc port-range=5000-5100 primary-vcc0 primary

Création d’un switch virtuel (ici pour la carte « aggr2 » de l’hyperviseur):

ldm add-vsw net-dev=aggr2 primary-vsw2 primary

Voir toutes les associations de devices sur les VM:

ldm list-bindings

Dans le cas ou on n’arriverait pas à obtenir le prompt « ok » , on peut le forcer à y aller avec la combinaison de touches « ~# » qui envoie un break ; ça revient à faire un ctrl-A.

Pour voir les séquences de touche existantes, il faut faire « ~? » :

VNTSD commands
~# --Send break
~^B --Send alternate break
~. --Exit from this console
~w --Force write access
~n --Console next
~p --Console previous
~? --Help

Assignation d’un volume ZFS à l’hyperviseur :

ldm add-vdsdev /dev/zvol/dsk/rpool/ldoms/nom_ldom vol1@primary-vds0

Assignation d’un Disque local à l’hyperviseur :

ldm add-vdsdev /dev/dsk/c2t1/IDs2 vol2@primary-vds0

Assignation d’un LUN sous veritas à l’hyperviseur :

ldm add-vdsdev /dev/vx/dmp/IDs2 vol3@primary-vds0

Assignation d’un Simple fichier à l’hyperviseur :

ldm add-vdsdev /chemin/vers/fichier vol4@primary-vds0

Sauvegarde de la configuration (sous un profil nommé « starmate »), et vérification qu’elle est bien prise en compte:

ldm list-spconfig

factory-default [next poweron]

ldm add-spconfig starmate

ldm list-spconfig

factory-default
starmate[current]

Mettre à jour une configuration (sinon elle sera perdue au reboot):

ldm set-spconfig starmate

Définir la mémoire de l’hyperviseur :

ldm set-memory 2G primary

Définir le nombre vCPU de l’hyperviseur :

ldm set-vcpu 4 primary

Définir le nombre de module de cryptographie de l’hyperviseur :

ldm set-mau 1 primary

4 décembre 2016 /

Pour augmenter la taille d’un .vmdk sur une appliance vCenter 6.x:

  1. Connectez-vous en ssh (en root) sur le vCenter.
  2. Exécutez cette commande pour activer le shell Bash:

    Shell.set --enabled true

  3. Il faut maintenant taper le mot « shell » puis on valide en appuyant sur entrée pour le lancer.
  4. On utilise la commande « df » pour identifier la partition à augmenter:

    df -h

  5. Une fois identifiée, on peut en déduire son numéro de VMDK, on va donc cette fois sur le client Vsphere (web ou client lourd) et on augmente la taille du disque VMDK.
  6. On retourne sur notre connexion ssh, et on exécute cette commande pour que le volume logique prenne en compte l’espace ajouté dans l’étape précédente:

    vpxd_servicecfg storage lvm autogrow

  7. Si tout c’est bien passé, le message suivant apparaîtra :
    VC_CFG_RESULT=0 
  8. On peut alors vérifier que la taille a bien été augmenté avec la commande df:

    df -h

Rappel:

Disque VMDK Taille par défaut Point de montage
VMDK1 12 Go / (10Go), /boot (132Mo), SWAP (1Go)
VMDK2 1,3 Go /tmp
VMDK3 25 Go SWAP
VMDK4 25 Go /storage/core
VMDK5 10 Go /storage/log
VMDK6 10 Go /storage/db
VMDK7 5 Go /storage/dblog
VMDK8 10 Go /storage/seat
VMDK9 1 Go /storage/netdump
VMDK10 10 Go /storage/autodeploy
VMDK11 5 Go /storage/invsvc

Source