首页 > 其他 > 详细

Vagrant虚拟化

时间:2014-03-24 20:24:41      阅读:603      评论:0      收藏:0      [点我收藏+]

什么是Vagrant

简单来说,**Vagrant 就是一个虚拟机的集成管理器**

我们用它可以快速创建虚拟机,可以快速部署好所需的各种环境,无论你想要开发环境或是上线环境都能一键搞定。甚至你可以部署多台都没问题。

想想看,假设一台Application Server,再加一台Master Database+ 一台Slave Database,也许可以再来一台Monitor Server等等,全部都可以用你那台开发工作的电脑来实现,只要有足够内存。是不是很牛的样子?所以说,要让我们不用Vagrant,给个理由先?



.安装Vritualbox

1.检查系统内核版本

uname -a


2.安装软件环境

yum -yinstall gcc

yum -yinstall kernel-devel

yum -yinstall kernel-headers


3.yum -y install kernel

升级完内核后要重启 reboot


4.安装dkms

注意:先安装dkms在装virtualbox。不然会报错,说你缺少依赖包

下载dkms包:

wget http://linux.dell.com/dkms/permalink/dkms-2.2.0.3-1.noarch.rpm

安装dkms包:

rpm -ivhdkms-2.2.0.3-1.noarch.rpm


5.安装所需依赖包:

yuminstall mesa-libGL

yuminstall qu-x11

yuminstall libXmu

yum installSDL


6.安装virtualbox

rpm -ivh VirtualBox-4.3-4.3.8_92456_el6-1.x86_64.rpm


7.启动virtualbox

/etc/init.d/vboxdrvsetup



.安装Vagrant

1.下载vagrant安装包

可到vagrant官网下载

http://www.vagrantup.com/

根据个人系统选择需要下载的安装包安装即可

rpm -ivh  vagrant_1.4.3_x86_64.rpm


2.下载vagrantbox

vagrant把每个打包好的虚拟机叫做box

可以到http://www.vagrantbox.es/下载你所需要的box虚拟机镜像


3.添加一个boxvagrant虚拟机里

vagrantbox add aaaaaa代表虚拟机的名字可自行设定)CentOS-6.4-x86_64-v20130731_0.box(下好的box镜像)


4.添加到box列表

vagrantbox list


5.新建一个工作目录vm然后在vm里使用以下命令

vagrantinit aaa

然后我们会看到如下提示信息:

A`Vagrantfile`hasbeenplacedinthisdirectory.Youarenow

readyto`vagrantup`yourfirstvirtualenvironment!Pleaseread

thecommentsintheVagrantfileaswellasdocumentationon

`vagrantup.com`formoreinformationonusingVagrant.

Vagrantvm目录会生成了一个“Vagrantfile”的设定文件。


6.启动vagrant

vagrantup


我们会看到很多信息

Bringingmachinedefaultupwithvirtualboxprovider...
[default]SettingthenameoftheVM...
[default]Clearinganypreviouslysetforwardedports...
[default]Creatingsharedfoldersmetadata...
[default]Clearinganypreviouslysetnetworkinterfaces...
[default]Preparingnetworkinterfacesbasedonconfiguration...
[default]Forwardingports...
[default]--22=>2222(adapter1)
[default]BootingVM...
[default]WaitingforVMtoboot.Thiscantakeafewminutes.
[default]VMbootedandreadyforuse!
[default]Configuringandenablingnetworkinterfaces...
[default]Mountingsharedfolders...
[default]--/vagrant


证明虚拟机已经启动

启动如遇到以下问题

VBoxManage startvm RedHat9 --typeheadless打开无窗口的virtualbox看报错后

执行chmod -R o-w /usr

7. 下面我们需要连接上vagrant

vagrantssh


会出现如下信息:

[root@root vagrant]# vagrantssh

Last login: Thu Mar  608:39:55 2014 from 10.0.2.2

Welcome to your Vagrant-built virtual machine.


这表示我们的已经进入到vagrant的虚拟机


默认的密码是vagrant如果想切到root用户

su - root

密码也是vagrant


8.打包自己的box虚拟机

当你把自己的虚拟机做好所需的环境,例如我的CentOS-64会升级好yum软件包,安装好MySQLPHP等环境后,不想以后每次都把这个过程重来一次,或者假如在团队里不想每个成员的开发环境各自五花八门乱七八糟,我就可以把这个做好的CentOS-64打包出来,分享给团队成员。

vagrant package

等过一段时间后就会在我们的vm目录下生成一个新的box镜像叫做:package.box

这样以后我们就可以使用这个新的box镜像了。

用同样的方法添加到box列面中

记得一定要把vagrantfile文件删除不然无法添


vagrant box add bbbpackage.box


原来的box镜像可以删掉节省一些空间

vagrant box remove aaa



9.虚拟机设定

注:下面提到的设定有些是默认注释掉的,没有开启,务必要取消注释才会生效。


指定虚拟机使用哪个Box源。

config.vm.box ="aaa"


端口转发设定主机的8080端口映射到虚拟机的80端口

config.vm.network :forwarded_port,  guest: 80, host:8080


网络连接方式

config.vm.network :private_network, ip:"192.168.33.10"(私有模式)和你host机同以网络的其它电脑看不到它


config.vm.network :public_network (公开模式)和你host机器有类似IP,同一网络其它电脑都能看到它。


一般采用私有模式,而IP也不建议用192.168开头以免冲突,例如可以用66.66.66.10


设定虚拟机内存

vb.customize["modifyvm",:id,"--memory","1024"]




10.多台虚拟机设定

打开Vagrantfile配置文件将下行注视:

#All Vagrantconfiguration is done here. The most common configuration


将配置文件里改成这样:

Vagrant.configure("2")do |config|


 config.vm.define :dev1 do |dev|

   dev.vm.box = "vvv"

   dev.vm.network :public_network

   dev.vm.network :forwarded_port, guest:3306, host: 10000

 end


 config.vm.define :dev2 do |dev|

   dev.vm.box = "vvv"

   dev.vm.network :public_network

   dev.vm.network :forwarded_port, guest:3306, host: 10001

 end


然后我们使用vagrant up 启动,可以看到跑出来很多行信息,注意到每行前面都有类似“dev1”“dev2”这样的开头,表示各自是哪一台机子。


ssh可以指定连到哪一台:

vagrant ssh dev1

vagrant ssh dev2


Vagrant虚拟化,布布扣,bubuko.com

Vagrant虚拟化

原文:http://zhukexu.blog.51cto.com/6849298/1382638

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!