Post on 21-Sep-2018
transcript
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: ayc@unavarra.es
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
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: ayc@unavarra.es
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/
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: ayc@unavarra.es
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
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: ayc@unavarra.es
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