Managing and provisioning VMs
Cleanup
Once you've worked with your Vagrant VMs, the last order of business is to clean up the environment. Depending on your needs, you can use Vagrant to take snapshots, suspend, halt, or destroy the VMs.
If you need to verify your VM's current state before running any commands, you can get some useful output with:
$ vagrant status
Suspending the guest machine will save the machine's current running state and stop it:
$ vagrant suspend
A suspended machine can be resumed with the vagrant up
command.
Halting the guest machine will shut it down pretty much like a physical computer. To turn off the machine, type:
$ vagrant halt
When you enter this command, Vagrant will first attempt to gracefully halt the machine by executing the proper commands to initiate a shutdown from within the guest machine. However, if it is unable to communicate with the machine and the shutdown sequence times out, Vagrant will forcefully shut it down.
It's also wise to take regular snapshots of the VMs, which you can then roll back to if you run into problems. To do this, use:
$ vagrant snapshot save <name> $ vagrant snapshot restore <name>
Here <name>
is the unique string to identify the snapshot. The first command creates the snapshot, while the second command restores from it (Figure 5).
Finally, when you are done with a VM you can zap it from your host machine and remove all traces of it by deleting hard disks, state files, and so on with:
$ vagrant destroy
Remember that destroying a VM will cause you to lose all changes, as well as any files or folders created outside of the shared filesystem. When you now issue a vagrant up
command, Vagrant will create the VM from scratch, which means it'll provision it again as well.
Conclusions
Now that you have a basic understanding of Vagrant, I hope you can see its potential. If you choose to deploy Vagrant in your production environment, you should first read Vagrant's extensive documentation section [6].
Infos
- Vagrant: http://www.vagrantup.com
- Download Vagrant: http://www.vagrantup.com/downloads.html
- VirtualBox Linux downloads: http://www.virtualbox.org/wiki/Linux_Downloads
- List of predefined boxes: https://app.vagrantup.com/boxes/search
- Installing desktop environments inside CentOS 7: http://www.techrepublic.com/article/how-to-install-a-gui-on-top-of-centos-7
- Vagrant documentation: http://www.vagrantup.com/docs
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)