wiki:InstallVirtualServers

retour

Vagrant HashiCorp

VirtualBox

Installation des serveurs virtuels

Ce document précise les modalités de création d'un système virtuel de base. Il sera ensuite dupliqué pour créer chaque instance définie dans l'architecture à savoir :

  • security : Filtrage et sécurisation des accès entrants / sortants (firewall + proxy)
  • infrastructure : Serveurs techniques (DNS + DHCP + LDAP + mail server)
  • publication : Sites internet et fichiers partagés (webs server + cifs - samba)
  • backend : Applications & bases de données (app serveurs + database serveurs)

Cette procédure s'applique pour un host debian 9 (stretch)

nous utilisons Vagrant pour l'administration des machines virtuelles du réseau et le système de virtualisation VirtualBox d'Oracle


Exemple de plan d'adressage réseau


serveur adresse interface
host des systèmes virtuels 192.168.1.4 internet public + réseau local
base-box 192.168.1.9 internet public
security 192.168.1.5 internet public + réseau local
publication 192.168.1.6 réseau local
infrastructure 192.168.1.7 réseau local
backend 192.168.1.8 réseau local

Vagrant package 2.0.2


A INSTALLER sur le host

source : manuel Vagrant

télécharger le binaire d'installation pour debian 9 (stretch) et lancer

sudo dpkg -i vagrant_x.y.z_x86_64.deb

VirtualBox package 5.2.8


A INSTALLER sur le host

installation des headers du kernel et linkage (dépendances)

sudo apt-get install linux-headers-4.9.0-4-amd64 linux-headers-4.9.0-4-common

installation de Virtualbox

sudo echo deb http://download.virtualbox.org/virtualbox/debian stretch contrib > /etc/apt/sources.list.d/virtualbox.list
wget https://www.virtualbox.org/download/oracle_vbox_2016.asc
sudo apt-key add oracle_vbox_2016.asc
sudo apt-get update
sudo apt-get -y install virtualbox-5.2
rm oracle_vbox_2016.asc

purge des headers linux

sudo apt-get remove linux-headers-4.9.0-4-amd64 linux-headers-4.9.0-4-common

note : pour forcer la désinstallation de virtualbox en cas de problème

sudo apt-get purge "^virtualbox-.*"
sudo apt-get autoremove && sudo apt-get autoclean && sudo apt-get clean

ou via

sudo mv /var/lib/dpkg/info/virtualbox-5.2.* /tmp/ 
sudo dpkg --remove --force-remove-reinstreq virtualbox-5.2

Utilisateur de référence

sudo adduser bubble
sudo usermod -aG sudo bubble

répertoires

sudo mkdir -p /home/servers/base-box
sudo mkdir /home/servers/infrastructure
sudo mkdir /home/servers/publication
sudo mkdir /home/servers/security
sudo mkdir /home/servers/backend
sudo chown -R bubble:bubble /home/servers

dossiers partagés

sudo mkdir -p /var/shared/base-box
sudo mkdir /var/shared/infrastructure
sudo mkdir /var/shared/backend
sudo mkdir /var/shared/security
sudo mkdir /var/shared/publication
sudo chown -R bubble:bubble /var/shared

serveur de référence

cette machine virtuelle sera ensuite clonée pour être configurée spécifiquement en fonction des besoins de l'architecture

cd /home/servers/base-box
sudo vagrant init remram/debian-9-amd64
sudo vagrant up

Configuration

remplacer le contenu du fichier Vagrantfile par

Vagrant.configure("2") do |config|
  config.vm.box = "remram/debian-9-amd64"
  config.vm.hostname = "base-box"
  config.vm.network "public_network", ip: "192.168.1.9"
  config.vm.synced_folder "/var/shared/base-box", "/var/shared", owner: "bubble", group: "bubble"
end

relancer pour prise en compte des modifications

sudo vagrant reload

au redémmarrage sélectionner l'interface réseau à utiliser (1)

accéder à la machine virtuelle

sudo vagrant ssh
sudo -i

configuration et packages

A INSTALLER sur le guest de référence

installation de base

rechargement de l'environnement

quitter la machine virtuelle

exit
exit

création de l'image de base

cd /home/servers/base-box
sudo vagrant halt
sudo vagrant package --output base.box

création des fichiers de configuration des différents hosts

nano Vagrantfile.base

ajouter

Vagrant.configure("2") do |config|
  config.vm.box = "base-box"
  config.vm.box_url = "file:///home/servers/base-box/base.box"
  config.vm.hostname = "base-box"
  config.vm.network "public_network", ip: "192.168.1.X"
  config.vm.synced_folder "/var/shared/[host-name]", "/var/shared", owner: "bubble", group: "bubble"
end
cp Vagrantfile.base Vagrantfile.security
cp Vagrantfile.base Vagrantfile.infrastructure
cp Vagrantfile.base Vagrantfile.publication
cp Vagrantfile.base Vagrantfile.backend

modifier l' addresse ip et le hostname dans chacun des fichiers tel que prévu dans le tableau d'adressage présenté en début de cette page.


Clonage de l'environnement

par exemple pour l'environnement backend

export SERVER=backend
mkdir /home/servers/${SERVER} && cd /home/servers/${SERVER}
vagrant init
cp /home/servers/base-box/Vagrantfile.${SERVER} Vagrantfile
vagrant up

Commandes d'administration


lister les serveurs installés

vagrant box list

ou

vboxmanage list vms

Arrêt d'un serveur virtual

sudo vagrant halt nom-serveur

ou

vboxmanage controlvm <nom-serveur|uuid> poweroff

supprimer un serveur virtuel

sudo vboxmanage unregistervm [vm name] --delete

supprimer une box vagrant

vagrant box remove remram/debian-9-amd64
Last modified 19 months ago Last modified on 04/19/2018 07:05:24 PM

Attachments (2)

Download all attachments as: .zip