虚拟化相关工具安装
下载软件
下载vagrant软件
https://www.vagrantup.com/downloads.html
https://releases.hashicorp.com/vagrant/1.9.1/vagrant_1.9.1_x86_64.rpm
下载virtualbox软件以及扩展
https://www.virtualbox.org/wiki/Downloads
http://download.virtualbox.org/virtualbox/5.1.14/VirtualBox-5.1-5.1.14_112924_el6-1.x86_64.rpm
http://download.virtualbox.org/virtualbox/5.1.14/Oracle_VM_VirtualBox_Extension_Pack-5.1.14-112924.vbox-extpack
安装
[root@mypc1 ~]# rpm -ivh vagrant_1.9.1_x86_64.rpm
[root@mypc1 ~]# yum install kernel-devel-2.6.32-431.el6.x86_64
[root@mypc1 ~]# /sbin/vboxconfig
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
[root@mypc1 ~]# vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.14-112924.vbox-extpack
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".
配置virtualBox和vagrant的缺省路径
[root@mypc1 home]# mkdir -p /home/vagrant/virtualbox
[root@mypc1 home]# vboxmanage setproperty machinefolder /home/vagrant/virtualbox/
[root@mypc1 vagrant]# mkdir /home/vagrant/vagrant.d
[root@mypc1 vagrant]# echo "export VAGRANT_HOME='/home/vagrant/.vagrant.d'">>/etc/profile
virtualBox常用命令
vboxmanage list vms
vboxmanage list runningvms
vboxmanage modifyvm debian_test --vrde on #启用 debian_test虚拟机上的vrde
vboxmanage modifyvm debian_test --vrdeport 8889 #绑定到的host端口上
VBoxHeadless --startvm debian_test --vrde=on #启动虚拟机时,打开vrde扩展。
控制已经运行的虚拟机:(暂停|恢复|重启|关机|休眠)
VBoxManage controlvm | pause|resume|reset|poweroff|savestate
启动指定的可用虚拟机:
VBoxManage startvm | [--type gui|sdl|headless]
创建一个虚拟磁盘:(--size 取值单位MB --sizebyte 取值单位字节)
$VBoxManage createhd --filename RedHat9.vdi --size 30000
使用virtualbox安装redhat6.7操作系统
准备好iso文件,放置在/home/xyz/shared/dvd.iso
[root@mypc1 vagrant]# pwd
/home/vagrant
[root@mypc1 vagrant]# VBoxManage createhd --filename virtualbox/redhat67v0 --size 51240
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: 77e47d7f-a7f4-44b2-88c3-a6c4dee57b82
[root@mypc1 vagrant]# ls -lrt ./virtualbox/
total 208
-rw------- 1 root root 2097152 Feb 4 04:40 redhat67v0.vdi
[root@mypc1 vagrant]# VBoxManage createvm --name redhat67v0 --register
Virtual machine 'redhat67v0' is created and registered.
UUID: 9edbe25d-2051-4ced-b161-7e27466eea88
Settings file: '/home/vagrant/virtualbox/redhat67v0/redhat67v0.vbox'
[root@mypc1 vagrant]# VBoxManage modifyvm redhat67v0 --ostype linux
[root@mypc1 vagrant]# VBoxManage modifyvm redhat67v0 --memory 4096
[root@mypc1 vagrant]# VBoxManage storagectl redhat67v0 --name IDE --add ide --controller PIIX4 --bootable on
[root@mypc1 vagrant]# VBoxManage storagectl redhat67v0 --name SATA --add sata --controller IntelAhci --bootable on
[root@mypc1 vagrant]# VBoxManage storageattach redhat67v0 --storagectl SATA --port 0 --device 0 --type hdd --medium virtualbox/redhat67v0.vdi
[root@mypc1 vagrant]# VBoxManage storageattach redhat67v0 --storagectl SATA --port 1 --device 0 --type dvddrive --medium /home/xyz/shared/dvd.iso
[root@mypc1 vagrant]# VBoxManage modifyvm redhat67v0 --nic1 nat --nictype1 82540EM --cableconnected1 on
[root@mypc1 vagrant]# vboxmanage modifyvm redhat67v0 --vrde on
[root@mypc1 vagrant]# vboxmanage modifyvm redhat67v0 --vrdeport 8889
开始安装
[root@mypc1 vagrant]# VBoxHeadless --startvm redhat67v0 --vrde=on
使用mstsc连接到mypc1:8889,开始通过桌面安装redhat6.7系统
新建用户为vagrant/vagrant,运行下面命令
sudo visudo
vagrant ALL=(ALL) NOPASSWD: ALL
禁用防火墙,确保sshd服务已经安装并启动
确保网卡没有禁用并随电源开关打开
使用vagrant打包virtualbox中的操作系统为box
[root@mypc1 boxes]# vagrant package --base redhat67v0 --output ./redhat67v0.box
==> redhat67v0: Exporting VM...
==> redhat67v0: Compressing package to: /home/vagrant/boxes/redhat67v0.box
[root@mypc1 boxes]# pwd
/home/vagrant/boxes
如果想把当前运行的BOX实例进行二次打包,运行下面命令
当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:
$ vagrant package
打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box 并用其初始化自己的开发目录就能得到一个一模一样的开发环境了
使用vagrant实例化BOX并配置
根据box初始化一个实例并运行
[root@mypc1 redhatv0]# vagrant box add redhat67v0 ../boxes/redhat67v0.box
[root@mypc1 redhatv0]# vagrant init redhat67v0
[root@mypc1 redhatv0]# vi Vagrantfile
config.ssh.username="vagrant"
config.ssh.password="vagrant"
[root@mypc1 redhatv0]# vagrant up
(启动完成后的虚拟机依旧可以通过mstsc远程桌面的方式直接连接到后台进行操作)
[root@mypc1 redhatv0]# vagrant ssh
vi /etc/sudoers (最好用visudo命令)
注释掉 Default requiretty 一行
#Default requiretty
意思就是sudo默认需要tty终端。注释掉就可以在后台执行了。
开通177端口
vi /etc/gdm/custom.conf
# GDM configuration storage
[daemon]
[security]
DisallowTCP=false
[xdmcp]
Enable=1
Port=177
[greeter]
附录
卸载BOX以及相关实例
vagrant destroy 销毁当前实例
vagrant box remove redhat67v0 删除注册的box
创建虚拟机脚本
cd /home/vagrant/
ls
pwd
VBoxManage createhd --filename virtualbox/redhat67v0 --size 51240
ls -lrt ./virtualbox/
VBoxManage createvm --name redhat67v0 --register
VBoxManage modifyvm redhat67v0 --ostype linux
VBoxManage modifyvm redhat67v0 --memory 4096
VBoxManage storagectl redhat67v0 --name IDE --add ide --controller PIIX4 --bootable on
VBoxManage storagectl redhat67v0 --name SATA --add sata --controller IntelAhci --bootable on
VBoxManage storageattach redhat67v0 --storagectl SATA --port 0 --device 0 --type hdd --medium virtualbox/redhat67.vdi
VBoxManage storageattach redhat67v0 --storagectl SATA --port 0 --device 0 --type hdd --medium virtualbox/redhat67v0.vdi
VBoxManage storageattach redhat67v0 --storagectl SATA --port 1 --device 0 --type dvddrive --medium /home/xyz/shared/dvd.iso
VBoxManage modifyvm redhat67v0 --nic1 nat --nictype1 82540EM --cableconnected1 on
vboxmanage modifyvm redhat67v0 --vrde on
vboxmanage modifyvm redhat67v0 --vrdeport 8889