AIDE VM LINUX

Virtualisation

Il existe plusieur system de virtualisation
Fedora propose le system kvm/kmu/xen
Il nécessite un kernel spécifique voir si dessous
Je lui prefere vitualbox (OSE) plus simple

VirtualBox

Setup VirtualBox

Par le site de virtual box charger le rpm ou le truc pour ubuntu

creer son images

on monte le cdrom en cliquant sur le symbole
on addition une iso et hop

pour utiliser un net-install centos le monter booter dessus
l'os est dispos sur
http://mirror.ovh.net/ftp.centos.org/5.4/os/x86_6
placer mirror.ovh.net comme nom de serveur
ftp.centos.org/5.4/os/x86_6 come directory

VirtualBoxGuestAddition

A installer pour le partage des dossiers et le copier coller
Sur redhate/centos/fedora

Prérequis:

yum update kernel*
reboot
yum install gcc kernel-devel kernel-headers dkms make bzip2
recupérer la version du kernel courante
fedo `uname -r`
centos `uname -r`-`uname -m`
KERN_DIR=/usr/src/kernels/`uname -r`-`uname -m`
export KERN_DIR

setup

Sur la vm aprés avoir monté l'iso sur l'interface VB
mkdir /media/VirtualBoxGuestAdditions

mount -r /dev/cdrom /media/VirtualBoxGuestAdditions
mount -r /dev/sro VirtualBoxGuestAdditions

cd /media/VirtualBoxGuestAdditions
./VBoxLinuxAdditions.run
rebooter la vm

Usage

Partager un dir par l'interface de vb
Le nom de mon dir est montagevm
Monter le dans la vm
mkdir montagevm
mount -tvboxsf montagevm montagevm
Le premier est pour la source tel que defini dans virtualbox
Le deuxiéme le dir local

En ligne de cmd le changement de clavier poru le rescue mode ce fais par
loadkeys fr

Reseaux VB

Attention sur centos le reseau n'est pas activé par default
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Edit ONBOOT to be ‘yes’. Start network:
service network start

Mode NAT

C'est le mode par défaut il permet l'accès au net
Pour accéder a des service tournant sur la vm il faut faire de l'ip forwarding
Cliquer sur redirection de port et rajouter vos ports

exemple:
xx: c'est l'ip du host porteur de vm
eonsw TCP xx.xx.xx.xx 9080 10.0.2.15 80
eonsw TCP 127.0.0.1 9080 10.0.2.15 80
Shh TCP 127.0.0.1 9022 10.0.2.15 22

Redemarrer la vm
Le port de la vm 80 et donc accessibles sur ma machine sur le port 9080 (choisir des ports ouvert)
sur sons ip (1ereligne)et sur localhost (ligne avec 127.0.0.1)
Http:
http://xx.xx.xx.xx:9080/index.php
http://127.0.0.1:9080/index.php
http://localhost:9080/index.php

ssh/scp (attetion -p et -P):
ssh -p 9022 root@localhost
scp -P9022 * root@localhost:/root/save

Attention à selinux/iptables/ssh
/usr/sbin/setenforce 0
service iptables stop
service ssh status

PONT

Le mode pont permet d'axeceder a la vm via sont ip
Si elle est sur dhcp elle risque de changer ....
Verrouillez la via la mac adresse (sur freebos dans l'interface sur le web puis remplir le /etc/hosts)
Ou en entreprise enregistrait la auprès du dns

Reseaux VM


Configurationn de la vm en mode pont

Sur la vm

/etc/sysconfig/network
Changer dans le HOSTNAME dans la conf reseaux
vi/etc/sysconfig/network
exemple de fichier modifié
NETWORKING=yes
NETWORKING_IPV=no
HOSTNAME=localvm1
/etc/sysconfig/network-scripts/ifcfg-eth0
Fixer l'ip de la vm
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Commenter le dhcp (adresse donné automatiquement)
Et placer sont ip/gateway

Pour obtenir la gatway deux methode possible
sudo netstat -nr
route
#BOOTPROTO=dhcp
IPADDR=192.168.122.14
GATEWAY=192.168.0.254 NETMASK=255.255.255.0
Prendre en compte les modif
ifdown eth0
ifup eth0
/ect/hosts
Pour connaitre le hostname que l'on à dans le dhcp nslookup ip
Rajouter le hostname
vi /etc/hosts
127.0.0.1 localvm1
Recupere l'ip de la vm
ifconfig
inet addr:xxx.xxx.xxx.xxx
rebooter la vm (reboot)

Resize

Transformer si besoins votre hdd en un format resizable

> VBoxManage clonehd "C:\Users\dummyuser\VirtualBox VMs\MQA-Db\MQA-Db-disk1.vmdk" "C:\Users\dummyuser\VirtualBox VMs\MQADb\mqadb1.vdi" --format vdi

Resizer le volume virtuel:

VBoxManage modifyhd "C:\Users\dummyuser\VirtualBoxVMs\MQA-Db\mqadb1.vdi" --resize 100000

Resizer l'os

Si votre hdd est composé de partition simple (pas de lvm) gparted dans votre live fedora fera l'affaire
yum install gparted
Vous pouvez aussi utiliser des distribes spécialisé offrant gparted (http://gparted.sourceforge.net/download.php) ou http://partedmagic.com

Pour les inntall sur lvm Installer toujours dans votre live
yum install system-config-lvm,gparted
Avec gparted configurer votre espace vierge comme partition lvm2 pv
Puis sous lvm manager dans unallocated volumes selectionner votre partition et faire add to existing volume
Puis sous Volume groups, Logical view selectionner resizer votre partion logic

Vielle doc (versions<2005)

nfs

Serveur ou on partage

Authorizer l'export d'un repertoir
sudo vi /etc/exports
/opt/logs/consolidated * (insecure,ro,all_squash)
sudo service nfs restart

Firewall (serveur de partage)

Par l'interface grafique debloquer le firewall 2049 tcp+udp
le port forwarding (interface de confiance eth0)

cela done c'est regle sur sudo iptables-save
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Mount sur client

mkdir /opt/logs/consolidated
mount spokeniece.ds.corp.gadille.free.fr:/opt/logs/consolidated /opt/logs/consolidated

PONT

le mode pont permet d'axeceder a la vm via sont ip
si elle est sur dhcp elle risque de changer ....
veroullier la via la mac adresse (sur freebos dans l'interface sur le web puis remplir le /etc/hosts)
ou en entreprise enregistrer la auprés du dns
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DHCP_HOSTNAME="antec-vm-biKognitio"
vi /etc/sysconfig/network
HOSTNAME=antec-vm-biKognitio.toto.com
Bien sur cela peut varié d'une boitte a l'autre suivant le dns il vosu faudra peux etre faire une demande auprés de votre admin

NAT

Par default le routage nat n'affect pas les regles sur votre host il va falloir faire du nat
Sois nativement sois utiliser l'outils fournits par vb

Lister les vm

pas en root avec le user qui à créer les vm
VBoxManage list vms

Syntax NAT

VBoxManage setextradata vm-name "VBoxInternal/Devices/net-device/0/LUN#0/Config/name/cible" port
Pour net-device:
e1000 correspond a ma cartte reseaux intel pro/1000
pcnet, d'autre valeur possible

Pour faire le nat du port 2222 pour le host sur le 22 de la vm centos

VBoxManage setextradata centos "VBoxInternal/Devices/e1000/0/LUN#0/Config/ssh/HostPort" 2222
VBoxManage setextradata centos "VBoxInternal/Devices/e1000/0/LUN#0/Config/ssh/GuestPort" 22
VBoxManage setextradata centos "VBoxInternal/Devices/e1000/0/LUN#0/Config/ssh/Protocol" TCP

Lister les info complémentaire lié a la vm

VBoxManage getextradata "centos" enumerate

Pour enlever le nat

VBoxManage setextradata centos "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort"
VBoxManage setextradata centos "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort"
VBoxManage setextradata centos-costRevenue "VBoxInternal/Devices/e1000/0/LUN#0/Config/ssh/Protocol" TCP

login

ssh root@127.0.0.1 -p 2222
scp -P 2222 bourriquet.gif root@127.0.0.1:/root
!! noter le petit p et le grand P

Clone VB


cd /home/mel21lio/.VirtualBox/HardDisks
VBoxManage clonehd hdd1.vdi hdd2.vdi
ensuite creer une vm rajouter le hdd creer et le choisir

libvirtd

Instatller tous les packages de virtualization
/usr/sbin/libvirtd &
lancer le vm manager installer un os
selectionner son iso suivre le process standard d'install
cliquer droit sur localhost qemu choisir l'onglet storage
faire plus est ce rajouter un chemin avec de la place (par defaul //var/lib/libvirt/images) puis choisir iso faire browse
puis choisir select managed or other ... storage

Reseaux VM


Sur la vm

/etc/sysconfig/network

Changer dans le HOSTNAME dans la conf reseaux
vi/etc/sysconfig/network
exemple de fichier modifié
NETWORKING=yes
NETWORKING_IPV=no
HOSTNAME=localvm1

/etc/sysconfig/network-scripts/ifcfg-eth0

Fixer l'ip de la vm
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Commenter le dhcp (adresse donné automatiquement)
Et placer sont ip/gateway

get gateway

sudo netstat -nr
#BOOTPROTO=dhcp
IPADDR=192.168.122.14
GATEWAY=192.168.0.254 NETMASK=255.255.255.0
rebooter (sa marche pas bien faire un halt puis relancer la vm)

/ect/hosts

Rajouter le hostname
vi /etc/hosts
127.0.0.1 localvm1
Recupere l'ip de la vm
ifconfig
inet addr:xxx.xxx.xxx.xxx
rebooter la vm (reboot)

Sur le Host

Modif sur Host

Sur votre host editer le /etc/hosts et placer la resolution ip vm nom vm
Si vous utilisez switch hosts (addons firefox) passer par sont interface
127.0.0.1 localhost.localdomain
::1 localhost
192.168.122.14 hostvm1
Vous pouvez axceder par ssh a votre vm (si vous avez configurer le sshd et le firewall)
normalement ssh root@hostvm

Clone de vm

en ligne de commande (sinon on ne choise pas le nom)
sudo virt-clone --prompt