installation - una - instalar maquina virtual virtualbox desde iso
¿Cómo configuras tus máquinas virtuales? (12)
Recientemente, el zumbido de la virtualización ha llegado a mi lugar de trabajo donde los desarrolladores prueban máquinas virtuales en sus computadoras. Anteriormente escuché de varios desarrolladores diferentes sobre la configuración de la máquina virtual en sus computadoras de escritorio a fin de mantener limpios sus entornos de desarrollo.
Hay muchos productos de software de máquina virtual en el mercado:
- Microsoft Virtual PC
- Sun VirtualBox
- Estación de trabajo VMWare o reproductor
- Parallells Inc de Parallell Inc
Me interesa saber cómo usa la virtualización de manera efectiva en su trabajo. Mi pregunta es ¿cómo se usan las máquinas virtuales para el desarrollo diario y por qué motivo?
Acabo de construir una máquina carnosa real en casa para poder ejecutar varias máquinas virtuales a la vez. Mi caso es probablemente extremo, pero esta es mi lógica para hacerlo.
Pruebas
Cuando realizo la prueba, particularmente una aplicación de escritorio, generalmente creo varias máquinas virtuales, una para cada plataforma en la que se debe ejecutar mi software (Windows 2000 / XP / Vista, etc.). Si hay sabores de 32 y 64 bits disponibles, también creo uno de cada uno. También juego con la configuración de hardware de VM (por ejemplo, mucha RAM, poca RAM, 1 núcleo, 2 núcleos, etc.). Encontré un montón de pequeños bichos de esta manera, que definitivamente habría llegado a la naturaleza si no hubiera usado este enfoque.
Este enfoque también hace que sea fácil jugar con diferentes escenarios de software (¿qué sucede si el usuario que instala el programa no tiene .NET 3.5 sp1? ¿Qué sucede si no tiene el componente XXX? Etc.?
Desarrollo
Cuando desarrollo, tengo una VM que ejecuta mis servidores de bases de datos (SQL2000 / 2005/2008). Esto es por dos razones. Primero, es más realista. En un entorno de producción, es probable que su aplicación no se esté ejecutando en el mismo cuadro que el db. ¿Por qué no replicarlo cuando se desarrolla? Además, cuando no estoy desarrollando (recuerde que esta es también mi máquina doméstica), ¿realmente necesito tener todos esos servicios de base de datos ejecutándose? Sí, podría encenderlos y apagarlos manualmente, pero es mucho más fácil encender una VM.
Clientela
Si quiero mostrarle a un cliente cierto trabajo web que he realizado, puedo poner solo una máquina virtual en la zona desmilitarizada y él puede iniciar sesión en la máquina virtual y jugar con el proyecto web, mientras que el resto de mi red / computadora está a salvo.
Compatibilidad
Vista64 es ahora mi máquina principal. Cualquier hardware / software anterior que posea no funcionará bien con ese sistema operativo. Mi solución es tener Windows XP 32 como máquina virtual para todos esos artículos.
La virtualización (con instantáneas o discos no persistentes) es realmente útil para probar la instalación del software en una configuración limpia conocida (es decir, no queda nada de las instalaciones defectuosas anteriores de su software).
Otro buen caso de uso para las máquinas virtuales es crear una red virtual de máquinas. Por ejemplo, puede mostrar máquinas que ejecutan los diferentes niveles de su pila de aplicaciones, cada una de las cuales se ejecuta en su propia máquina virtual. Piénselo como el centro de datos de un hombre pobre.
Estas máquinas virtuales también pueden aparecer disponibles en su red física, por lo que puede usar RDP o similar para obtener una sesión de terminal remota con ellas.
Puede tener una máquina robusta (mucha memoria) ejecutando estas máquinas virtuales, mientras accede a ellas de forma remota desde otra máquina, como una computadora portátil, o la máquina que tenga con la mejor pantalla.
Por lo que sé, no hay nada como Parallels en Mac, sino más bien por el trabajo en lugar de las pruebas.
La integración (con "coherencia", su máquina virtual no se ejecuta "en una ventana" de su sistema host, todos los programas en el sistema huésped tienen su ventana adecuada en el sistema host) es espléndida y le permite llenar todos ( ¡TODOS! ) Vacíos :
Mi compañero de trabajo lo tiene configurado para Outlook (no hay nada como Outlook para MacOsX) en Windows aparece cuando hace clic en un "mailto:" - enlace en una página web, ¡navegado con Firefox en Mac!
En la otra dirección, si recibe un PDF, hace doble clic en el archivo adjunto en Outlook (en Windows), que abre el archivo PDF en el Mac-buildin PDF-viewer.
VirtualBox también ofrece esta posibilidad de separación de ventanas (al menos cuando Windows se ejecuta en la máquina virtual en Linux), lo cual es realmente útil para el trabajo.
Para las pruebas, etc., por supuesto, no hay nada como un entorno limpio y separado.
Tener su cuadro de desarrollo en un solo archivo (con una máquina virtual) hará que sea mucho más fácil hacer una copia de seguridad y restaurar si ocurre un problema.
Aparte de eso, también puede llevar su caja de desarrollo portátil alrededor de diferentes máquinas, ya que no tiene restricciones en esa máquina particular en la que generalmente trabaja.
No solo eso, sino que puede probar en diferentes sistemas operativos a la vez, con un único sistema operativo instalado en cada archivo de máquina virtual que tenga.
Créanme, esto ahorrará bastante molestia al hacer los trabajos que mencioné anteriormente.
Usé el enfoque de virtualización usando VMWare Server cuando la tarea que tenía delante era probar un entorno en clúster de WebSphere Application Server. Después de configurar VMWare Server, creé una nueva máquina virtual e hice todas las instalaciones de software que necesitaría, como WebSphere App Server, Oracle, WebSphere Commerce, etc., después de lo cual apagué la VM y copié sobre la imagen del disco duro virtual a dos diferentes archivos, uno como clon VM y otro como respaldo.
Creé una nueva máquina virtual y le asigné una de las imágenes de disco copiadas, así que obtuve dos sistemas en funcionamiento ahora que me permitieron probar el mismo escenario de un entorno en clúster. Tomé una instantánea de la VM a través de VMware y si me equivocaba con cualquier actividad, revertiría los cambios a la instantánea tomada, yendo al estado anterior y aumentando mi productividad en lugar de tener que averiguar qué invertir. La imagen del disco de respaldo también se puede usar si necesito volver a un estado muy antiguo, en lugar de tener que empezar desde cero.
La funcionalidad de instantánea que existe tanto en VMWare como en la PC / Servidor Virtual de Microsoft es lo suficientemente buena como para considerar la virtualización para escenarios en los que cree que podría hacer cambios bruscos, que pueden no ser tan fáciles de revertir.
Uso una máquina virtual en Windows para ejecutar Linux. Aunque ya hay una versión de emacs para Windows, usarla en Linux simplemente se siente más gratificante por alguna razón.
Aquí hay algo que no se ha mencionado aún.
Cada vez que un proyecto ingresa al modo de mantenimiento (también conocido como abandonado), creo una máquina virtual con todas las herramientas, bibliotecas y código fuente necesarios para construir el proyecto. De ese modo, si tengo que volver a hacerlo un año después, no apostaría ni un ápice a ninguna herramienta o biblioteca actualizada en mi estación de trabajo.
Cuando comencé en mi empresa actual, la mayoría del personal de soporte / dev / PM ejecutaba Virtual PC con entre 1 y 3 VM en su escritorio para realizar pruebas.
Después de unos meses, armé una propuesta y ahora utilizamos un servidor VMware ESXi que ejecuta un conjunto de máquinas virtuales (todas las 24 horas del día, los 7 días de la semana) con diferentes entornos para que nuestro personal de soporte pueda probar problemas del cliente y reproducir problemas. Tenemos VM de Windows 2000 / XP / Vista con cada Office 2000/2002/2003/2007 instalado (así que son 12 VM) más algunas VM de prueba más generales, algunas máquinas de Server 2003/2008 que ejecutan Citrix, Servicios de Terminal Server, etc. Básicamente la mayoría de las veces, cuando accedemos a una nueva configuración de cliente que necesitamos depurar, y es probable que otros clientes también tengan esa configuración, configuraré una VM para ello. (Por ejemplo, solo estamos usando tres máquinas virtuales de 64 bits en este momento, la mayoría son 32 bits)
Además de eso, el mismo servidor ejecuta una XP VM que utilizo para crear instaladores (InstallShield, WiX), depuración (VS 2005) y localización (Lingobit), así como una segunda máquina virtual que nuestros desarrolladores utilizan para las pruebas automatizadas (TestComplete).
Al VM de desarrollo e instalador se le ha asignado una mayor prioridad y ambos están configurados como máquinas virtuales de doble CPU con memoria de 1 Gb. Las máquinas virtuales restantes tienen la misma prioridad y 256-1 Gb de RAM.
Todo se ejecuta en un Xeon de doble núcleo cuádruple con 8 Gb de RAM con ESXi y RAID de hardware (4x1Tb RAID10)
Por poco más de US $ 2,5k de inversión, hemos mejorado la productividad 10 veces (imagine el tiempo de inactividad mientras un asistente instala una versión anterior de la oficina en su escritorio para replicar un problema del cliente, o el momento en que no puedo usar mi escritorio porque estamos construyendo instaladores). El siguiente paso será duplicar la RAM a 16Gb a medida que agreguemos más servidores de servidor Server 2008 y Vista.
Todavía tenemos VM extraña en nuestros escritorios (tengo versiones localizadas de Windows, Ubuntu y Windows 7 ejecutándose bajo VMware Workstation, por ejemplo), pero las configuraciones comunes / muy utilizadas han sido descargadas a un servidor dedicado que todos podemos conectar de forma remota dentro. Mucho, mucho más fácil.
Tenemos un servidor físico dedicado a alojar máquinas virtuales en nuestro entorno de desarrollo. Las máquinas virtuales se abren y derriban regularmente y se utilizan para probar software en entornos operativos estándar conocidos.
También es realmente útil cuando queremos que una aplicación se ejecute en un dominio que es diferente al entorno de desarrollo.
Además, la organización para la que estoy trabajando se encuentra en la etapa de planificación para crear un gran campo de pruebas virtuales. Esta será una gran red de máquinas, ubicadas en su propia red, y todo el personal interno de la organización, los contratistas y los proveedores de terceros podrán escenificar su software con fines de prueba antes de implementarlo en el entorno de producción. Las máquinas virtuales reflejarán las máquinas físicas en el entorno de producción.
Suena genial, pero todo el mundo es un poco escéptico: esta es una organización gubernamental ... La burocracia y la burocracia probablemente convertirán esto en una gran pérdida de tiempo y dinero.
Mantenimiento de computadoras archivadas
Tengo la situación en la que se cierran las escuelas en mi región, pero su sistema financiero tiene que mantenerse por hasta 2 años para garantizar que se paguen todas las facturas pendientes. Esto solía manejarse manteniendo el hardware de las escuelas abandonadas que tenían algunos problemas:
- Esto desperdiciaba recursos de hardware escasos y ocupaba mucho espacio físico.
- Los oficiales de finanzas tenían que estar físicamente presentes en el hardware para trabajar en cada sistema.
Hoy organizo cada escuela improvisada en su propia caja virtual dentro de un solo host físico. A cada sistema individual se accede mediante rdp en el número de IP del host, pero con su propio número de puerto y se mantiene la seguridad original de cada escuela.
Los oficiales de finanzas ahora pueden trabajar en las escuelas improvisadas sin tener que desplazarse a su ubicación física, hay más espacio físico en la sala de servidores y el respaldo de todas las escuelas improvisadas a la vez es un proceso automatizado simple.
Con cada escuela desarticulada en su propia vbox no hay forma de contaminación cruzada de datos entre sistemas. Muchos miles de dólares en hardware también se liberan para su redistribución.
La virtualización parece ser la solución perfecta para este problema.
Si estamos usando una máquina virtual (vpc 2007, Virtual Server 2005, aplicación VMWare, etc.)
1. Podemos ejecutar múltiples sistemas operativos (Windows98,2000, XP, Vista, Windows Server 2003,2008, Windows 7 / linux / solaris) en un solo servidor
2. Podemos reducir los costos de hardware y el espacio del centro de datos
3. podemos reducir el poder y el costo de enfriamiento de CA.
4. podemos reducir el recurso de administrador,
5. podemos reducir el costo de la aplicación
6. Podemos ejecutar ADS / DNS / DHCP / Exchange / SQL / Sharepoint Server / Servidor de archivos ... etc.