vagrant 制作centos centos创建文件

如何使用 Vagrant 管理 centOS 和 Ubuntu 虚拟机

Vagrant是一款用于管理虚拟机的软件,它能够与 VirtualBox, VMware等虚拟机厂商的软件进行对接。一般来说,使用 VirtualBox的情况更为常见,因此在安装 Vagrant时,需要先在本地电脑上安装 VirtualBox或其他虚拟机软件。

Vagrant提供了命令行界面,用于管理虚拟机,包括安装 CentOS和 Ubuntu的虚拟机镜像。镜像在 Vagrant中被称为"box",可以使用命令进行管理,如添加、删除、启动和停止。

启动虚拟机后,可以使用 ssh连接到虚拟机,并利用本地电脑与虚拟机之间同步的目录,将项目文件直接放置在本地电脑指定位置,然后在虚拟机上配置的环境中运行。

对于 CentOS,首先下载 Vagrant和 VirtualBox,然后安装 bento/centos-6.8 box。使用命令"Vagrant up"实际上是将下载的虚拟机复制到项目特定目录,仅在此项目中进行更改。

对于 Ubuntu,同样地,下载所需的虚拟机镜像,如 ubuntu,并通过 Vagrantfile进行安装。完成安装后,通过 vagrant ssh连接到虚拟机。

至此,本文详细介绍了如何使用 Vagrant管理 CentOS和 Ubuntu虚拟机的安装步骤。

如何制作libvirt使用的vagrant box

vagrant是一个用于创建和部署虚拟化开发环境的工具。它默认使用的provider是VirtualBox来创建虚拟机。当然它也支持libvirt,vmware,hyperv等。

每一个provider使用的镜像格式不一样。例如vmware使用vmdk,libvirt使用qcow2。在 vagrant cloud中可以搜到很多公用的box。这些box中就

包含一个虚拟机模板。在我们的开发中不可避免的需要定制自己的镜像。这里就介绍一下在libvirt中创建vagrant可以使用的box文件。

基础镜像的制作

以centos7为例来说明:

首先,需要安装一个使用qcow2文件的centos7的虚拟机。

这里要注意:

1.镜像的root用户密码为vagrant

2.镜像需要有vagrant用户,vagrant密码为vagrant,并且vagrant用户的home目录为/home/vagrant

3.要配置vagrant用户的ssh免密码登陆。

wget

wget

4.清除网络相关信息,在centos7下清除/etc/sysconfig/network-scripts下除了ifcfg-lo以外ifcfg-*文件。 5.配置用户权限。在/etc/sudoers中添加

vagrant ALL=NOPASSWD: ALL

vagrant ALL= NOPASSWD: ALL

6.安装自己需要的软件,以及个性化的配置

制作box

首先,需要将刚才准备的基础镜像重命名为box.img

然后创建Vagrantfile

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

config.vm.provider:libvirt do|libvirt|

libvirt.driver="kvm"

end

end

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

config. vm. provider: libvirt do| libvirt|

libvirt. driver="kvm"

end

end

创建metadata.json文件

{

"provider":"libvirt",

"format":"qcow2",

"virtual_size": 40

}

{

"provider":"libvirt",

"format":"qcow2",

"virtual_size": 40

}

然后制作box

tar cvzf centos_box.box./metadata.json./Vagrantfile./box.img

tar cvzf centos_box. box./ metadata. json./ Vagrantfile./ box. img

现在就可以使用自己制作的镜像来创建虚拟机了

CentOS上配置VirtualBox虚拟机及安装Windows的教程

开始之前,首先需要使用 VirtualBox最小化安装 CentOS 7.0。

系统设置

使用 root账号登录,进行系统设置。

安装组件

安装系统必须的组件。

复制代码

代码如下:

yum install gcc bzip2 kernel-devel wget

修改主机名称

设置一个便于识别的主机名称,便于以后使用 ssh登录时方便识别。

复制代码

代码如下:

vi/etc/hostname

SSH设置

取消 DNS解析,使 ssh登录更快。编辑/etc/ssh/sshd_config文件,更改以下配置项:

复制代码

代码如下:

UseDNS no

安装 VBoxGuestAdditions

安装了 VBoxGuestAdditions后才可以使用共享目录的功能。

注意:此时需要重启一下系统,否则可能无法继续安装。

点击 VirtualBox运行界面的 Devices菜单,选择 Insert Guest Additions CD Image。

挂载光盘并安装 VBoxGuestAdditions

复制代码

代码如下:

mkdir/media/cdrom

mount/dev/cdrom/media/cdrom

/media/cdrom/VBoxLinuxAdditions.run

umount/media/cdrom

rm-rf/media/cdrom

用户配置

设置 root用户密码为 vagrant。

创建 vagrant用户,密码与用户名相同。

配置 vagrant用户执行 sudo命令时不需要输入密码。并且可以后台执行指令。运行 visudo命令。然后添加如下配置:

复制代码

代码如下:

vagrant ALL=(ALL) NOPASSWD: ALL

Defaults requiretty

设置 vagrant用户证书,使其可以无密码登录系统

复制代码

代码如下:

cd/home/vagrant

mkdir.ssh

wget--no-check-certificate

chmod 700.ssh

chmod 600.ssh/authorized_keys

chown-R vagrant:vagrant.ssh

清理系统

清理临时文件以减小制作出来的 Box文件体积。

复制代码

代码如下:

yum clean all

rm-rf/tmp/*

rm-f/var/log/wtmp/var/log/btmp

history-c

然后关闭虚拟系统。

打包

回到物理机终端,使用下面的命令打包输出 box.

复制代码

代码如下:

vagrant package--base [virtualbox name]--output [box name].box

创建一个 windows的虚拟环境

开始之前,需要先准备一个 windows的安装文件,如 win2003.iso。

使用命令行创建 VirtualBox虚拟机

创建一个名为 win2003的虚拟机:

复制代码

代码如下:

vboxmanage createvm--name win2003--register

设置虚拟机

复制代码

代码如下:

#设置系统类型

vboxmanage modifyvm win2003--ostype Windows2003

#开启电源管理

vboxmanage modifyvm win2003--acpi on

#设置系统内存

vboxmanage modifyvm win2003--memory 512

#添加网卡,网络模式为 NAT

vboxmanage modifyvm win2003--nic1 nat

创建一个的虚拟硬盘,容量为 5G

复制代码

代码如下:

vboxmanage createhd--filename win2003.vdi--size 5000

绑定虚拟硬盘

复制代码

代码如下:

#创建虚拟机的硬盘控制器

vboxmanage storagectl win2003--name HDD--add ide--bootable on

#绑定创建的虚拟硬盘

vboxmanage storageattach win2003--storagectl HDD--port 0--device 0--type hdd--medium win2003.vdi

添加光驱并绑定系统安装文件

复制代码

代码如下:

vboxmanage storageattach win2003--storagectl HDD--port 0--device 1--type dvddrive--medium win2003.iso

启动并安装系统

复制代码

代码如下:

vboxheadless-s win2003

在桌面环境的电脑上使用远程桌面软件,连接服务器的 3389端口就可以看到虚拟机的画面,并进行安装操作了。

使用 vboxheadless命令启动的虚拟机是会话模式的,而且默认启用了远程桌面功能 VRDP。适合首次运行虚拟机安装系统。安装完系统后,想要以后台服务的方式运行,应当使用 vboxmanage startvm命令:

复制代码

代码如下:

vboxmanage startvm win2003--type headless

安装增强包

VirtualBox默认安装好系统后,使用起来不是很顺畅。特别是鼠标操作时,迟滞感十分严重。安装增强包可以明显改善操作感。首先下载 VirtualBox Guest Additions增强包: VBoxGuestAdditions_4.3.20.iso。然后使用下面的命令挂载增强包到光驱:

复制代码

代码如下:

vboxmanage storageattach win2003--storagectl HDD--port 0--device 1--type dvddrive--medium VBoxGuestAdditions_4.3.20.iso

然后启动系统,双击光驱盘符,执行安装程序后重启完成。

添加共享目录

共享目录方便虚拟机和主机之间交换文件,使用下面的命令进行共享目录的添加和删除:

添加共享目录:

复制代码

代码如下:

vboxmanage sharedfolder add win2003--name share-name--hostpath/host/path/folder/--automount

删除共享目录:

复制代码

代码如下:

vboxmanage sharedfolder remove win2003--name share-name

其它常用技巧

1.添加 NAT网络模式下的端口转发

复制代码

代码如下:

#添加远程桌面的转发

vboxmanage modifyvm vmname--natpf1"remote desktop,tcp,,33089,,3389"

vboxmanage modifyvm vmname--natpf2"remote desktop,udp,,33089,,3389"

2.关闭虚拟机

复制代码

代码如下:

vboxmanage controlvm vmname poweroff

3.开机自动启动虚拟机

设置自动开机的数据库路径:

复制代码

代码如下:

vboxmanage setproperty autostartdbpath/etc/vbox

添加要开机启动的虚拟机:

复制代码

代码如下:

vboxmanage modifyvm vmname--autostart-enabled on--autostop-type acpishutdown

启动管理服务:

复制代码

代码如下:

service vboxautostart-service restart

阅读剩余
THE END