diumenge, 6 de novembre del 2011

Virtualització de màquines amb Virtual Box

Conceptes
Virtualitzar una màquina significa simular el seu hardware mitjançant un programa (software): la CPU, la memòria, els discos i les connexions de xarxa es virtualitzen, creant una màquina virtual. En aquesta màquina virtual podem instal·lar sistemes operatius i programari. En una única màquina real (anomenada "host") es poden allotjar moltes màquines virtuals (anomenades "guest"). 
Això és molt pràctic per provar, experimentar i aprendre sistemes operatius (SO) sense necessitat de fer particions de disc; a més a mes  no cal reiniciar per provar cada SO, i podem simular xarxes d'ordinadors amb un únic Pc. També s'utilitza la virtualització en serveis de hosting: amb un únic servidor host podem sonar serveis a diversos clients, cadascun tindrà una màquina virtual dedicada.
Virtualització a Wikipedia.

Programari de virtualització
Els següents són els programaris més usats que ens permeten fer virtualització:

  • Virtual Box OSE: és programari lliure, disponible per Windows i Linux. També hi ha una versió de pagament propietat d'Oracle, però usable de forma gratuïta per ús personal.
  • Virtual Pc: programari de Microsoft usable de forma gratuïta, es caracteritza per ser d'ús simple i necessitar pocs recursos del host.
  • VmWare: és de pagament, i el meś usat en entorns professionals. També el que proporciona més possibilitats (servidors de màquines virtuals, instal·lacions desateses...).  Disponible per Windows i per Linux.
En el que segueix parlarem de Virtual Box.

Virtual Box

Una aplicació Virtual Box conté moltes màquines amb diferents SO, els detalls de la virtualització del maquinari es veuen a la dreta.

Un cop instal·lat ja podem crear màquines virtuals amb l'assistent (premem "Nova"):
  1. Ens preguntarà el nom de la màquina i quin SO usarà, també la quantitat de RAM que li assignem; aquest punt és crític en el sentit de que si assignem massa poca el SO guest virtualitzat no podrà arrencar, mentre que si assignem massa el que anirà escàs és el sistema host, doncs el que es fa és repartir la memòria física RAM disponible entre el host i els guests.
  2. A continuació ens demana les dades de virtualització del disc dur; podem assignar a la màquina un disc dur virtual ja creat (per exemple un que portem al pendrive) o crear-ne un de nou. En aquest cas s'inici l'assistent de creació de discs.
  3. El disc virtualitzat pot ser: de mida fixa (més ràpid en accés, però pot ocupar molt espai en el disc del host) o dinàmic (més lent, ocupa només el necessari, es va expandint conforme es necessita). Caldrà donar-li un nom i una grandària màxima. El disc realment consisteix en un fitxer que es guarda en un directori de Virtual Box.
Un cop creada la màquina podem modificar-ne la configuració o bé arrencar-la per primer cop.

Configuració
Per configurar-la anem a "Paràmetres":

Configuració d'una màquina virtual

  1. En "Sistema" veiem la RAM, l'ordre en que el sistema buscarà l'arranc i el nombre de processadors del host que usarà la màquina virtual.
  2. En pantalla assignem la RAM de vídeo
  3. En emmagatzematge veiem tots els discs virtuals assignats, tant discs durs IDE, SATA o SCSI com unitats de CD. en el cas del CD, en el desplegable "Dispositiu" podem seleccionar l'unitat del host que es compartirà amb el guest.
  4. En xarxa podem connectar fins a 4 adaptadors; en cada un tenim diverses possibilitats que expliquem en l'apartat xarxes amb Virtual Box.
  5. A carpetes compartides poden habilitar un directori compartit de la màquina host per que sigui visible des de la màquina virtual, de forma que ambdues hi tenen accés. Això és força útil per compartir baixades d'Internet, per exemple.
Un cop configurada podrem arrencar-la.

Arranc i instal·lació d'un SO
El primer cop caldrà tenir un CD d'instal·lació en el host que estigui compartit pel guest. Hi ha una alternativa: usar una imatge ISO.

Una imatge ISO és un fitxer amb extensió .iso que recopila tota la informació d'un CD, fins i tot si és arrencable. En mols llocs d'Internet es poden descarregar ISO's amb les que després podem generar el CD ("cremar-lo" o "CD burn"). En el cas dels programes de virtualització no caldrà generar cap CD, si tenim el fitxer ISO corresponent al CD del SO que volem instal·lar, només caldrà assignar-lo en l'apartat "emmagatzematge" de la configuració de la màquina.

Una imatge ISO assignada com a unitat de disc CD en la màquina virtual

D'aquesta forma, podem tenir un directori amb les diferents ISO de tots els sistemes operatius, i assignar a cada màquina el que li toqui.


Xarxes amb Virtual Box
En aquest article introductori només donarem una visió ràpida de les possibilitats que tenim. Si anem a l'apartat xarxa de la configuració veiem:


La connexió entre xarxa virtual i host pot ser per:

  • NAT: Virtual Box genera una IP fora del rang de la màquina host, i fa de router amb Internet; per tant la màquina virtual pot navegar però no veurà a la màquina host (ni serà vista per ella).
  • Adaptador pont (o bridge): simula una targeta de xarxa en el mateix rang que el host, de forma que la màquina virtual pot veure i és vista per el host i per altres ordinadors de la xarxa real, i també a Internet.
  • Xarxa interna: diferents màquines virtuals allotjades en un únic host es podran veure entre sí, tindrem una "xarxa virtual", però no serà accessible des de la xarxa real.
  • Només l'amfitrió: es crea una conenxió de xarxa host-guest que no utiltiza per a res la targeta de xarxa del host; les dues màquines es veuran fins i tot si la màquina host no te targeta de xarxa.
També podem canviar  la MAC assignada, i connectar/desconnectar el cable de xarxa.

Instal·lar "Guest Additions"

Per optimitzar el funcionament de la nostra màquina virtual és important instal·lar un conjunt d'eines addicionals que permeten millorar la resolució gràfica, compartir el portapapers de la màquina host amb la guest, i tenir directoris compartits entre totes dues màquines.

  1. Aneu a Dispositivos -> Instalar Guest Additions
  2. VirtualBox afegeix una unitat virtual de CD (és a dir, un fitxer ISO) autoexecutable en la màquina virtual; en Windows en principi s'executarà automàticament, en Linux no sempre, de vegades caldrà executar-lo manualment des de el gestor de fitxers.
  3. Un cop acabada la instal·lació, per veure la visualització millorada cal reiniciar la màquina.

Directoris compartits entre la màquina host amb la guest

Per compartir un directori de la màquina host:

  • En la màquina virtual: Dispositivos -> Carpetas compartidas
  • Clic en la icona Agregar carpeta compartida
  • Seleccionem un directori per compartir de la màquina host, i li donem un nom de recurs compartit

  • Podeu marcar les opcions Automontar i  Hacer permanente si voleu que sempre estigui compartida, cada cop que inicieu la màquina virtual
  • Per accedir al directori compartir en una màquina virtual Windows, procedeix com si tinguessis una carpeta compartida de xarxa en una màquina anomenada vboxsrv anomenat tal com li has dit en el pas anterior, per exemple, 


  • També li pots assignar una unitat de xarxa al recurs, de forma que en endavant tindràs una unitat, per exemple la Z:, amb accés al recurs compartit


Per accedir al directori compartir en una màquina virtual Linux  cal usar la línia de comandaments:

Per exemple, per tenir el recurs compartit anomenat M1 muntat en un directori de Linux, dintre del teu home, anomenat compartida fem:

Llavors en compartida veuràs el contingut del directori compartir del la màquina host:




Bé, amb això tenim prou per comença a provar la instal·lació de SO. En altres articles parlarem de més possibilitats, com ara:

  • Clonar màquines i discos
  • Captures d'instantànies de màquines (snapshots)
  • Importar i exportar màquines senceres
  • Virtual Pc: comparativa amb Virtual Box
  • ...





Gestió d'usuaris i grups en Linux

Usuaris i grups Linux  Els comptes de Linux són com els comptes de Windows o MacOS; però els detalls no, així que cal explicar alguns detall...