Búsqueda de sitios web

Cómo crear Vagrant Box a partir de una máquina virtual Virtualbox existente


Este es un breve tutorial sobre cómo crear una caja Vagrant a partir de una máquina virtual existente. La herramienta Vagrant le brinda el mejor entorno para administrar y controlar sus máquinas virtuales. Esto funciona en cualquier distribución de Linux.

Instalar Vagrant Box desde cero puede no ser una forma eficiente si ya tiene una máquina virtual Virtualbox en ejecución desde el mismo sistema operativo base que Vagrant Box. Además, ahorrará ancho de banda si actualizó la máquina virtual preexistente y tal vez instaló paquetes adicionales que le gustaría tener en la nueva máquina virtual controlada por Vagrant.

Paso 1: crear el directorio de caja Vagrant

Cree un directorio para que se cree vagrant box.

mkdir -p ~/vagrant
cd ~/vagrant
mkdir centos7

Paso 2: crear un usuario vagabundo en una máquina virtual existente

La máquina virtual actual que necesita convertir a Vagrant Box debe tener un usuario vagabundo creado. Si falta, cree un nombre de usuario llamado "vagrant" con contraseña "vagrant". Si no puedes agregarlo

vim adduser.sh

Pegue el código a continuación y guarde el archivo.

# Vagrant specific
date > /etc/vagrant_box_build_time

# Add vagrant user /usr/sbin/groupadd vagrant
/usr/sbin/useradd vagrant -g vagrant -G wheel
echo "vagrant"|passwd --stdin vagrant
echo "vagrant        ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
chmod 0440 /etc/sudoers.d/vagrant

# Installing vagrant keys
mkdir -pm 700 /home/vagrant/.ssh
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh

# Customize the message of the day
echo 'Welcome to your Vagrant-built virtual machine.' > /etc/motd

Haga que el script sea ejecutable y ejecútelo.

chmod +x adduser.sh
./adduser.sh

Paso 3: Crear cuadro base vagabundo

Cambie al directorio que contiene el cuadro vagabundo de CentOS que descargó.

 cd ~/vagrant/centos7

Cree un archivo llamado Vagrantfile y pegue los datos siguientes.

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

Levante la máquina virtual agregada

vagrant up

Si logras girar, deberías iniciar sesión de forma predeterminada. Si recibe el mensaje de error "predeterminado: Advertencia: tiempo de espera de conexión. Reintentando…”, intente presionar CTL+C y use vagrant ssh para iniciar sesión.

Paso 4: copiar el disco virtual de VM

Cambie el directorio al directorio de VirtualBox VM y busque el nombre de Virtualbox VM que queremos que utilice el cuadro recién agregado.

cd  ~/VirtualBox VMs/
ls

El mío está en la carpeta centos-asterisk. Con el nombre de vmdk como centos-asterisk-disk1.vmdk. Necesitamos copiar este archivo al directorio que contiene la VM vagabunda y agregamos “centos7“.

Ahora cambie el nombre de su VM agregada en Virtualbox Gui. Antes de poder cambiar el nombre, debes desactivarlo.

cd ~/vagrant/centos7
vagrant halt

Para cambiar el nombre, vaya a Máquina virtual > General > Básico > Nombre

Lo siguiente que debe hacer es copiar centos-asterisk-disk1.vmdk a box-disk1.vmdk. Asegúrese de que la máquina virtual esté apagada; si no, apáguela.

cp ~/VirtualBox VMs/centos-asterisk/centos-asterisk-disk1.vmdk ~/VirtualBox VMs/centos7/box-disk1.vmdk

Ahora comienza la caja vagabunda.

cd ~/vagrant/centos7
vagrant up
vagrant ssh

Paso 5: Instale VirtualBox Guest Additions

Instale Virtualbox Guest Additions en el sistema operativo invitado.

Desde la computadora host, copie a VBoxGuestAdditions.iso ~/vagrant/centos7. Luego, en el sistema operativo invitado, ejecute

mount -o loop /vagrant/VBoxGuestAdditions.iso /mnt
sh /mnt/VBoxLinuxAdditions.run
umount /mnt

Disfruta de tu entorno Vagrant. Guías similares

  • Convierta la imagen de disco de VirtualBox (VDI) e img al formato Qcow2
  • Agregue, instale y ejecute CentOS 7 usando Vagrant Box
  • Extienda los discos duros Vdi y VMDK en VirtualBox