Virtualización... virtualización...
Ahora todos intentan exprimir al máximo sus recursos de hardware. Tener varias computadoras separadas con diferentes sistemas operativos es un poco costoso y no todas las organizaciones lo aceptarán. Pero hay una salida, puedes usar máquinas virtuales. Y es posible que muchas personas utilicen el maravilloso producto de Sun "VirtualBox" para este fin. Estoy seguro de que la mayoría de la gente usa una interfaz GUI para la configuración. es muy claro y conveniente. Pero cuantos han pensado en la posibilidad de gestionar VirtualBox a través de la consola.
Se estableció la tarea: instalar dos sistemas operativos (Ubuntu y Windows) en un servidor. Al mismo tiempo, había un servidor de trabajo bajo ejecutando Ubuntu 9.04 Edición del servidor. Por lo tanto, se decidió poner Windows XP como sistema invitado.
Pero hubo un problema en Ubuntu NO INSTALADO entorno gráfico, es decir. solo hay una consola desnuda.
Entonces que tenemos:
PD Se necesitaba Windows XP por una sola razón. El proyecto necesitaba usar MS SQL Server.
A veces, es necesario ejecutar una máquina virtual en un host sin Xs. Hablaré sobre cómo hacer esto, teniendo acceso al sistema host solo a través de ssh + rdp (Protocolo de escritorio remoto). Describiré el proceso para OC Ubuntu 9.10 como host.
Comencemos instalando VirtualBox.
Primero debe instalar el paquete dkms (Dynamic Kernel Module Support Framework):
sudo apt-get install dkms
El sitio ofrece 2 opciones: registrar el código fuente del paquete (deb download.virtualbox.org/virtualbox/debian karmic non-free) en /etc/apt/sources.list o descargar e instalar el paquete deb. Cuando registré la fuente e hice sudo apt-get install virtualbox-3.1, obtuve un montón de paquetes de dependencias (incluidos algunos para la interfaz GUI). Por lo tanto, es mejor descargar el paquete deb. Descargar, instalar:
sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Quizá también se requieran dependencias aquí (algunas bibliotecas para analizando xml, en el que se almacenan configuraciones, pero hay muchas menos que en el primer caso). Si la instalación falló debido a las dependencias, simplemente puede hacer
sudo apt-get -f install
Esto instalará dependencias y VirtualBox.
DE ACUERDO. VirtualBox instalado. Comencemos a crear máquinas invitadas.
Creamos el coche en sí:
VBoxManage createvm --nombre ubuntu --ostype Ubuntu --registrar
(nombre - nombre de la máquina, ostype - tipo de sistema. Se puede encontrar una lista completa de todos los tipos con el comando VBoxManage list ostypes)
configurando
VBoxManage modifyvm ubuntu --memory 512 --disquete deshabilitado --audio ninguno --nic1 puenteado --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp en --vrdpport 3390
Aquí todo está más claro. también puede especificar NAT como tipo de red (--nic1 nat). también habilitar rdp
Nosotros creamos disco duro para máquina virtual:
VBoxManage createhd --nombre de archivo /home/usuario/vbox/ubuntu.vdi --tamaño 20000 --registrar
Agregar un controlador IDE a nuestra máquina
VBoxManage storagectl ubuntu --nombre "Controlador IDE" --agregar ide
Nos aferramos a IDE0 el disco duro creado anteriormente
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
En IDE1 pegamos la imagen de instalación.
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --puerto 1 --dispositivo 0 --tipo de unidad de DVD --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Diciéndole a la máquina que arranque desde el disco
VBoxManage modificar vm ubuntu --boot1 dvd
arrancamos el coche
Para instalar el sistema base, usaremos el cliente rdp (tengo KDE, KRDC está incluido en el paquete estándar). conéctese a la máquina host en el puerto especificado en la configuración (--vrdpport 3390), instale el sistema, haga sudo apt-get install openssh-server . ahora puede acceder a la máquina virtual a través de ssh
Detener la máquina virtual
VBoxAdministrar controlvm ubuntu acpipowerbutton
vía acpi
O más duro
VBoxManage controlvm ubuntu apagado
Decimos cargado desde hdd
VBoxManage modificar vm ubuntu --boot1 disco
También puede desenganchar el disco de instalación
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --puerto 1 --dispositivo 0 --medio ninguno
Y comenzamos de nuevo
Nohup VBoxHeadless --startvm ubuntu &
Comandos más útiles:
VBoxManage lista ejecutandovms
ver todas las máquinas en funcionamiento
VBoxManage showvminfo ubuntu
ver información sobre la máquina virtual
Así, en una máquina con un mínimo sistema instalado puedes criar varios virtuales para varios propósitos y experimentos
1.Cree una máquina virtual llamada windows_xp
VBoxManage createvm --name windows_xp --regist r
La máquina virtual creada es archivo XML, que se encuentra en el directorio de inicio /root/VirtualBox\ VMs/windows_xp/windows_xp.vbox
2. A continuación, debe crear un disco de máquina virtual
VBoxManage createhd --filename /date/VirtualBox/windows_xp.vdi --size 15000 --variant Fixe d
De forma predeterminada, el disco se crea en la carpeta de inicio del usuario, creamos el disco windows_xp.vdi en el directorio /date/VirtualBox/ con un tamaño de 15 gigabytes; el tamaño es fijo, es decir, su aumento no se produce de forma dinámica.
3. Cree un controlador de disco virtual
VBoxManage storagectl windows_xp --nombre "Controlador IDE" --agregar ide --controlador PIIX4
Este comando crea un controlador IDE llamado "Controlador IDE", el tipo de controlador es PIIX4.
4. Conectar disco virtual a la máquina virtual:
VBoxManage storageattach windows_xp --storagectl "Controlador IDE" --port 0 --device 0 --type hdd --medium /date/VirtualBox/windows_xp.vdi
5. Conectamos la imagen virtual del SO que queremos instalar
VBoxManage storageattach windows_xp --storagectl "Controlador IDE" --port 0 --device 1 --type dvddrive --medium /date/public/winxp_pro_eng_sp3.iso
6. Establecer el tamaño memoria de acceso aleatorio para maquina virtual 512mb
vboxmanage modificar vm windows_xp --memoria 512
7. Establezca el tipo de sistema VBoxManage modifyvm windows_xp --ostype WindowsX P
ver todos los tipos de sistema operativo posibles: VBoxManage lista de tipos de sistema operativo
8. Permitir conectarse a la consola a través del protocolo RDP
vboxmanage modificar vm windows_xp --vrde en
Para que sea más conveniente administrar máquinas virtuales, necesita un conjunto de complementos que incluya USB 2.0 y un servidor RDP integrado. Descargue complementos e instálelos: wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.12/Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
VBoxManage extpack instalar Oracle_VM_VirtualBox_Extension_Pack-4.2.12-84980.vbox-extpack
9. Inicie la máquina virtual
vboxheadless -s windows_xp o en segundo plano:
VBoxManage startvm windows_xp --tipo sin cabeza
para ejecutar el sistema operativo invitado en la computadora base a la que se está conectando, debe usar el interruptor --type=headless:
10. Conéctese a través de RDP ip_servera e instale win_xp como de costumbre
11. Puede apagar la máquina así VBoxManage controlvm windows_xp poweroff
12. Monte el disco VboxGuestAdditions
VBoxManage storageattach windows_xp --storagectl "Controlador IDE" --port 0 --device 1 --type dvddrive --medium /usr/share/virtualbox/VBoxGuestAdditions.iso
Inicie la máquina e instale VboxGuestAdditions
13. Se puede obtener información detallada sobre un sistema operativo virtual específico con el comando VBoxManage showvminfo windows_xp
14. Este comando crea una interfaz de red NIC en puente
VBoxManage modificar vm windows_xp --nic1 puenteado --bridgeadapter1 eth0
15. Si es necesario clonar el disco de la máquina virtual, esto se hace mediante la utilidad VBoxManage:
VBoxManage clonehd /ruta/desde/copiar/imagen1.vdi /ruta/a/copiar/imagen2.vdi
Después de eso, todo se conecta maravillosamente a la nueva máquina virtual.
16.Crea una carpeta compartida con el servidor
vboxmanage carpeta compartida agregar "windows_xp" --name compartir-nombre --hostpath /mnt
Conectar carpeta compartida desde windows_xp ejecutar
\\vboxsvr\nombre-compartido
Es posible que los usuarios comunes de VirtualBox no sean conscientes del tremendo poder que se encuentra en la interfaz de línea de comandos.
La gente suele preguntar: "¿Por qué trabajar en la línea de comandos cuando tienes una interfaz gráfica perfectamente buena?" La respuesta está en las amplias posibilidades de la línea de comandos. Desde 1995 ha habido toda una generación usuarios de computadoras, quienes creen que una computadora es una colección de ventanas y gráficos, pero, en realidad, esto está muy lejos de la verdad. ¿Por qué, 1995, preguntas? Con la llegada de Windows 95 en 1995, se inició una nueva era de la informática: la era de las interfaces gráficas. Poco después de ese fatídico agosto, se lanzó FVWM95, que fue la respuesta de Linux a la interfaz del Explorador de Windows 95. Me parece que en aquellos buenos viejos tiempos línea de comando desapareció para siempre. Ya nadie quería usar DOS y dejó de tenerle miedo a Linux. Pero la línea de comandos todavía está viva y bien en el entorno Linux. Todavía está bastante vivo en Windows. Y ahora que las Mac están basadas en Unix, también tienen muchas cosas que no requieren una GUI.
Puede que le sorprenda que debajo de la bonita interfaz gráfica de usuario de VirtuaBox, con sus gráficos brillantes, una página de configuración clara y muchas listas desplegables, se esconde el mundo oculto de la línea de comandos. El verdadero poder de este mundo oscuro se revelará solo a aquellos que se atrevan a entrar en estas mohosas catacumbas. Después de familiarizarse con la línea de comando de VirtualBox, puede decidir que la GUI es poco más que una bonita cortina hecha para aquellos que de otro modo simplemente ignorarían el aburrido rectángulo negro de una aplicación real en ejecución.
El rectángulo negro del que estaba hablando es la ventana de la terminal. La línea de comandos le permite aprovechar todo el poder de la ejecución automática de comandos. La única forma La automatización que conozco en los sistemas * nix es el uso de scripts escritos en Perl, scripts de shell o scripts en algún otro idioma. Y el demonio del programador del sistema (cron) lo ayudará con tiempo correcto ejecutar el script. Este poder de la línea de comandos que, gracias a su capacidad de ejecución automática, requiere que los administradores del sistema también puedan escribir scripts, es su bagaje de habilidades. Para cada trabajo que requiera Administrador de sistema, se indicará que el postulante debe ser capaz de escribir guiones en al menos uno de los idiomas interpretados listados en la vacante.
En lo que respecta a la virtualización, la línea de comandos le permitirá crear rápidamente discos virtuales, agregar una nueva interfaz de red, iniciar máquinas virtuales y crear nuevas máquinas virtuales, todo sin usar una GUI. Ejecución automática el uso de scripts también le permitirá programar el inicio y la parada de las máquinas virtuales sin su intervención directa. Y, si es realmente un gran creador de secuencias de comandos, puede escribir una secuencia de comandos que, con la ayuda de sugerencias, lo ayudará a crear una máquina virtual, ejecutarla o instalarla y modificarla con una intervención mínima de su parte. Si no le gusta hacer todo manualmente, haga una lista de las máquinas virtuales que se usan todo el tiempo, luego configure scripts (plantillas) para cada tipo de máquina virtual usada y, si es necesario, cree una máquina virtual dentro de unos pocos segundos.
Veamos simple y elegante. funcionalidad línea de comando en VirtualBox.
Desde el enlace Descargas de VirtualBox Linux, descargue la distribución binaria para su sistema. Si quieres, puedes descargar fuente. Para la opción que elegí (para RHEL5/CentOS5 en formato rpm), se crearon los siguientes directorios:
Si su distribución no tiene ultima versión VirtualBox (versión 3.1.2 en el momento de escribir este artículo), use uno de los paquetes que puede descargar o descargue el código fuente.
La parte más difícil de usar la línea de comandos es saber por dónde empezar. EN interfaz gráfica de usuario necesita usar el botón Nuevo. La línea de comandos es un poco más difícil de revelar sus secretos. Para crear y configurar una nueva máquina virtual, debe abrir una ventana de terminal o usar una sesión ssh para acceder al sistema Linux donde está instalado VirtualBox y ejecutar el siguiente comando:
$ /usr/bin/VBoxManage createvm --nombre Debian5 --registrar
Este comando crea una nueva máquina virtual llamada Debian5 y la registra con VirtualBox. La máquina virtual creada es un archivo XML que se encuentra en el directorio de inicio ~/.VirtualBox/Machines/Debian5/Debian5.xml.
Cree un disco virtual para su máquina virtual:
$ /usr/bin/VBoxManage createhd --filename Debian5.vdi --size 4000 --variant Fijo
Ha creado un disco virtual de 4 GB (4000 MB) llamado Debian5.vdi; el tamaño es fijo, es decir, su aumento no se produce de forma dinámica.
El disco virtual se crea como un archivo. ~/.VirtualBox/Discos duros/Debian.vdi
Cree un controlador de dispositivo de disco al que conectará el disco virtual y el dispositivo de CD/DVD virtual
$ /usr/bin/VBoxManage storagectl Debian5 --nombre "Controlador IDE" --agregar ide --controlador PIIX4
Este comando crea un controlador IDE llamado "Controlador IDE", el tipo de controlador es PIIX4.
Ahora conectemos el disco virtual a su máquina virtual:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "Controlador IDE" --port 0 --device 0 --type hdd --medium Debian5.vdi
Nos conectamos imagen iso juguete Sistema operativo quieres instalar:
$ /usr/bin/VBoxManage storageattach Debian5 --storagectl "Controlador IDE" --port 0 --device 1 --type dvddrive --medium /ISO/debian-40r3-i386-netinst.iso
Configuración de la red:
$ /usr/bin/VBoxManage modificar vm Debian5 --nic1 puenteado --cableconnected1 en --bridgeadapter1 eth0
Este comando crea una interfaz de red NIC de tipo puente (puente): el cable se conecta al inicio sistemas linux, el adaptador es eth0.
Ponemos en marcha la máquina virtual:
$ /usr/bin/VBoxManage startvm Debian5
Si todo sale según lo planeado, verá el siguiente mensaje y luego verá la ventana de la máquina virtual lista para la instalación:
Esperando a que se abra la sesión remota... La sesión remota se ha abierto correctamente.
Puede ver que crear y configurar una máquina virtual en la línea de comandos lo libera de interminables clics del mouse y abre un mundo completamente nuevo de posibilidades de automatización de máquinas virtuales. Y no hemos profundizado mucho aquí, pero espero que esto despierte su curiosidad y lo anime a dominar el tremendo poder que tiene la línea de comandos.
A veces, es necesario ejecutar una máquina virtual en un host sin Xs. Hablaré sobre cómo hacer esto, teniendo acceso al sistema host solo a través de ssh + rdp (Protocolo de escritorio remoto). Describiré el proceso para OC Ubuntu 9.10 como host.
Comencemos instalando VirtualBox.
Primero debe instalar el paquete dkms (Dynamic Kernel Module Support Framework):
sudo apt-get install dkms
El sitio ofrece 2 opciones: registrar el código fuente del paquete (deb download.virtualbox.org/virtualbox/debian karmic non-free) en /etc/apt/sources.list o descargar e instalar el paquete deb. Cuando registré la fuente e hice sudo apt-get install virtualbox-3.1, obtuve un montón de paquetes de dependencias (incluidos algunos para la interfaz GUI). Por lo tanto, es mejor descargar el paquete deb. Descargar, instalar:
sudo dpkg -i virtualbox-3.1_3.1.0-55467_Ubuntu_karmic_i386.deb
Quizás también se requerirán dependencias aquí (algunas bibliotecas para analizar xml, en las que se almacenan las configuraciones, pero hay muchas menos que en el primer caso). Si la instalación falló debido a las dependencias, simplemente puede hacer
sudo apt-get -f install
Esto instalará dependencias y VirtualBox.
DE ACUERDO. VirtualBox instalado. Comencemos a crear máquinas invitadas.
Creamos el coche en sí:
VBoxManage createvm --nombre ubuntu --ostype Ubuntu --registrar
(nombre - nombre de la máquina, ostype - tipo de sistema. Se puede encontrar una lista completa de todos los tipos con el comando VBoxManage list ostypes)
configurando
VBoxManage modifyvm ubuntu --memory 512 --disquete deshabilitado --audio ninguno --nic1 puenteado --bridgeadapter1 eth0 --vram 4 --accelerate3d off --boot1 disk --acpi on --cableconnected1 on --usb off --vrdp en --vrdpport 3390
Aquí todo está más claro. también puede especificar NAT como tipo de red (--nic1 nat). también habilitar rdp
Cree un disco duro para la máquina virtual:
VBoxManage createhd --nombre de archivo /home/usuario/vbox/ubuntu.vdi --tamaño 20000 --registrar
Agregar un controlador IDE a nuestra máquina
VBoxManage storagectl ubuntu --nombre "Controlador IDE" --agregar ide
Nos aferramos a IDE0 el disco duro creado anteriormente
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --port 0 --device 0 --type hdd --medium /home/user/vbox/ubuntu.vdi
En IDE1 pegamos la imagen de instalación.
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --puerto 1 --dispositivo 0 --tipo de unidad de DVD --medium /home/user/vbox/iso/ubuntu-9.10-alternate-i386.iso
Diciéndole a la máquina que arranque desde el disco
VBoxManage modificar vm ubuntu --boot1 dvd
arrancamos el coche
Para instalar el sistema base, usaremos el cliente rdp (tengo KDE, KRDC está incluido en el paquete estándar). conéctese a la máquina host en el puerto especificado en la configuración (--vrdpport 3390), instale el sistema, haga sudo apt-get install openssh-server . ahora puede acceder a la máquina virtual a través de ssh
Detener la máquina virtual
VBoxAdministrar controlvm ubuntu acpipowerbutton
vía acpi
O más duro
VBoxManage controlvm ubuntu apagado
Decimos cargado desde hdd
VBoxManage modificar vm ubuntu --boot1 disco
También puede desenganchar el disco de instalación
VBoxManage storageattach ubuntu --storagectl "Controlador IDE" --puerto 1 --dispositivo 0 --medio ninguno
Y comenzamos de nuevo
Nohup VBoxHeadless --startvm ubuntu &
Comandos más útiles:
VBoxManage lista ejecutandovms
ver todas las máquinas en funcionamiento
VBoxManage showvminfo ubuntu
ver información sobre la máquina virtual
Por lo tanto, en una máquina con un sistema mínimamente instalado, puede generar varios virtuales para diversos propósitos y experimentos.