Transcript
Page 1: Virtualización con VirtualBox

Departamento de Automática y Computación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea Tfno. 948 169113, Fax. 948 168924 Email: [email protected]

VirtualizaciónconVirtualBox

1. IntroducciónyobjetivosElobjetivodeestaprácticaesfamiliarizarseconlosentornosdevirtualización,enconcreto con algunas funcionalidades de VirtualBox similares (aunque de formasimplificada)aloquesepuedeemplearenunentornodeservidorenelcentrodedatos. Practicaremos con la posibilidad de crear redes internas donde algunoshostsvirtualespuedanactuarporejemplocomoroutersoservidores,asícomoconelmovimientodemáquinasvirtualesentrehosts.Estaprácticanopretendeseruntutorialpaso-a-paso.Seplanteanlosobjetivosade cada apartado pero puede habermúltiples formas de alcanzarlos, incluso sepuede llevar a cabo la práctica en plataformas diferentes (Linux del laboratorio,Mac OS X, Windows). Al final del guión de la práctica se incluyen anotaciones,pistas y consejos que pueden ayudar ante ciertas dificultades, aunque todo sepuederesolverconunpocodetrabajoybuscandodocumentación.

2. NetworkingvirtualVirtualBoxpermitediferentesformasdenetworkingentrelasmáquinasvirtualesyconelexterior.Seremiteasumanualparamásdetalle1.Eneste apartado se lepideque creeunescenario comoel que semuestra en laFigura1.LosequiposvRouter1yvRouter2sonmáquinasvirtualesLinuxcondosinterfacesEthernetactuandocomorouters.LosequiposPC1,PC2,PC3yPC4sonmáquinasvirtualesconuninterfazdered,actuandocomohostsnormales.TodosellossonguestsenelmismohostVirtualBox.

Figura1-Topologíadered

Los equipos vSwitch1, vSwitch2 y vSwitch3podrían ser equipos Linux actuandocomopuentes,sinembargoparaesteejercicioserecomiendaemplearlacapacidadde crear redes internas independientes en VirtualBox2. Cree tres redes internasindependientesparaactuarcomocadaunadeesasLANs.Configure direcciones IP y rutas en todos los hosts y routers y compruebe laconectividadycaminoscontraceroute.SilainstalacióndeLinuxquehaempleadoparalosPCsincluyeservidoryclientedesshpuedeprobartambiénaaccederdeunamáquinavirtualalaotra.NohacefaltaqueningunodelosPCsincluyauninterfazgráfico.Puntodecontrol:Muestreelescenariocompletoenfuncionamientoalprofesor.

1https://www.virtualbox.org/manual/ch06.html2https://www.virtualbox.org/manual/ch06.html#network_internal

Page 2: Virtualización con VirtualBox

Departamento de Automática y Computación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea Tfno. 948 169113, Fax. 948 168924 Email: [email protected]

3. MigracióndemáquinasvirtualesentrehostsEnesteapartadodebereproduciruncasodemovimientodemáquinavirtual“encaliente”deunhostaotro.VirtualBox implementaalgodeeseestilomediante lafuncionalidadquellama“Teleporting”3.Sesugierecrearunescenariocomoelmostradoen laFigura2.Enél losequiposHost1yHost2sonordenadoresdellaboratorio,interconectadosporsuLANy“vm”es una máquina virtual ejecutándose gracias a VirtualBox en una de esasmáquinas/hostsyquedebemosmoversindetenerlaalaotra.

Figura2-Escenariodeteleporting

Queremosquelamáquinavirtualtengaconectividadderedconelexterior.Puedehacer esto por ejemplo con una solución de NAT ofrecida por sus hosts.Compruebe entonces qué sucede si antes del teleport la máquina virtual estabahaciendounpingsostenidoaotrasmáquinasdelaredyquésucedesiloqueteníaes una conexión TCP establecida con otra máquina (por ejemplo un ssh oempleandonc).PuederepetirelexperimentoofreciendoahoraloshostunaccesopuenteadoalaLANdellaboratorio.DeberáentoncesasignarunadirecciónIPalamáquinavirtualquenocolisioneconotrasmáquinasdellaboratorio.Consulteconelprofesorquédirección puede emplear. Compruebe qué dirección MAC está empleando lamáquinavirtual.Punto de control: Muestre una migración de máquina virtual al profesor ycontesteasuspreguntas.

4. Recomendaciones,pistas,consejosycomentarios• Paralosguestdelapartado2puedeemplearunainstalaciónpequeñadeLinux,

porejemplounLinuxCore4.SiescogeunLinuxCorehost tengaencuentaquetendráque activar el reenvíodepaquetes con el comando sysctl. Si tomaunLinuxCore pensado para actuar como router traerá ya activada esta opción(aunquelaimagendeldiscopuedeserunpocomásgrande).EncualquiercasotengaencuentaqueesteLinuxenconcretosecargaenunRAMdisk,asíquelos cambiosa ficherosnopermanecen trasun reiniciodelmismo (peroestoprobablementenoresultetrascendenteenesapartedelapráctica).

• Paraahorrarrecursospuedecrearunamáquinavirtualyclonarlavariasveces(clonenlazadoo“linkedclone”)enVirtualBox.

• SiempleaNATenelhostparalaconectividaddeunguesthaciaelexterioryesteúltimonotomadirecciónIPautomáticamenteseráprobablementeporqueno tenga lanzado un cliente de DHCP (el host haciendo NAT suele tener un

3https://www.virtualbox.org/manual/ch07.html#teleporting4http://brezular.com/2013/09/17/linux-core-appliances-download/

Page 3: Virtualización con VirtualBox

Departamento de Automática y Computación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea Tfno. 948 169113, Fax. 948 168924 Email: [email protected]

servidordeDHCPparalosguests).PuedelanzarunclientedeDHCPenLinuxdelguesthaciendosimplemente(sitieneinstaladodhclient):# dhclient eth0

Según la versión de Linux o el usuario empleado tendrá que usar sudo. Elnombredelinterfazeselquequieraconfigurar(yqueestéenunaLANconunservidorDHCP,comoeselcasodeunaredNATenVirtualBox).

• SiempleaunguestconunsistemaoperativodeescritoriocomopuedeserunUbuntuDesktop tengaencuentaquenormalmentehayserviciosdel sistemaencargados de configurar automáticamente los interfaces de red. Puede queustedvayaaconfiguraruninterfazderedenlíneadecomandos(ifconfig)yseencuentre al rato con que el sistema le ha cambiado la configuración.Normalmentesepuededesactivaresecomportamientoconelpaneldecontrolcorrespondiente a la configuración de red en ese sistema operativo deescritorio (también puede ahorrarse problemas de este tipo y ceder ante latentacióndeconfigurarelinterfazderedcondichopaneldecontrol).

• Para un teleport necesita que el disco de la máquina virtual a mover seencuentre en un volumen compartido entre los dos hosts. Recuerde que sudirectoriohomeenellaboratorioseencuentraenunvolumencompartidoporNFScontodaslasmáquinasdelmismo.Noempleeunamáquinavirtualconundisco grande si pretende guardarla en su directorio home. El laboratorioimplementacuotas (puedeversu límitedeusuarioconel comandoquota)yademásnotarálamayorlentitudporestarhaciendotodoslosaccesosdediscolamáquinavirtualporlared.Puedeserrazonableparaunamáquinavirtualdeunas decenas de megabytes (que a fin de cuentas puede mantenerenteramenteenRAMunavezquelaarranque).

• Parahacerunteleportentredosmáquinasdellaboratorioserecomiendaqueen cada una haga login con un usuario diferente (coordínese con uncompañero).Elmotivoesquepuededarproblemashacerloginconelmismousuario en dos máquinas dado que el home del mismo es compartido y elinterfazgráficoguardaficherosdeconfiguración,porloquepodríanentrarenconflictoambasmáquinasalmodificarlosmismosficheros.

• En casodequerer crear unamáquina virtual conundiscode centenaresdemegabyteso inclusoalgúngigabyte,enlasmáquinasdel laboratoriotieneundirectorioeneldiscolocalenelquepuedeescribir:/opt/rng/practicaTenga en cuenta que ese directorio es local, no está compartido con otrasmáquinas.Tambiénvigile suusodel discopues si lo llena empezará a tenerproblemas de uso del ordenador. No debería necesitar crear máquinasvirtuales demás de un par de gigabytes. Por defecto VirtualBox guarda lasmáquinasvirtualesquecreaoimportaenundirectorioenelhomedelusuario.DesdelaspreferenciasdeVirtualBox,enlasecciónGeneralpuedecambiaresecomportamiento y cambiarlo por ejemplo a que se guarden en unsubdirectorio de /opt/rng/practica para no tener problemas de espacio(aunqueentoncessololastendrádisponiblesenesamáquina).

• Lapruebadeteleportsepuedellevaracabosinemplearlosordenadoresdellaboratorio, empleando por ejemplo un ordenador portátil, aunque puederesultar más complicada. Si dispone de un ordenador con una CPUsuficientementemodernapuedeinstalardosmáquinasvirtualesqueincluyanuna instalación de VirtualBox cada una ymover unamáquina virtual desde

Page 4: Virtualización con VirtualBox

Departamento de Automática y Computación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea Tfno. 948 169113, Fax. 948 168924 Email: [email protected]

una de esas máquinas virtuales a la otra (Figura 3). En este caso lavirtualización es doble pero puede llevar a cabo el ejercicio con un soloordenador (esto se ha probado sin problemas empleando un ordenador dellaboratorio). En la configuración de red de los HostVirtualX (Figura 3)configurequepuedanusarelmodopromiscuoenel interfaz.PruebetantoelcasoenquelosHostVirtualXtienenconfiguradodaraccesoalguestvmalaredconunNATcomoconunbridge.

Figura3-Teleportcompletamentevirtualizado

• Entodosloscasosdeteleportrecuerdequeeldiscodelamáquinavirtualdebeencontrarse en un volumen accesible por los dos hosts. En el caso dellaboratorioestosepuedelograrsinmásqueteniendodichodiscoensuhome,dadoqueesedirectorioestámontadodeunservidorNFSentodoslostlmXY(siestádandoaccesoalficherodediscodeunaVMaotrousuariodeberátenercuidado con los permisos de acceso – comando chmod) En el caso de unteleport en un escenario completamente virtualizado (por ejemplo en suportátil) tendrá que instalar una tercera máquina virtual que actúe comoservidorNFSdondehospedelaimagendeldiscodelamáquinavirtual(Figura4) o puede hacer que uno de losHostVirtualX actúe también como servidorNFS.CómoconfigurarunservidorNFSdependedelaversióndeUnix5(enunUbuntupuedeque tengaque indicareldirectorioquedesee compartir enelfichero /etc/exports y activar algún servicio del sistema o del kernel; en elclientenormalmentedeberáusarelcomandomount)

Figura4-TeleportcondiscoenservidorNFSindependiente

5http://www.tldp.org/HOWTO/NFS-HOWTO/server.html


Recommended