linux的实验环境的搭建,使用vagrant快速搭建linux实验环境

简介

本文主要介绍如何使用vagrant配合virtualbox快速搭建实验环境。

virtualbox是一个开源跨平台虚拟机管理软件,功能类似收费的vmware

vagrant是一个开源的虚拟机配置编排软件,可以在命令行快速启动管理虚拟机。

安装

1.安装virtualbox官方下载virtualbox对应平台的软件包安装

2.安装vagrant官方下载vagrant对应平台的软件包安装,由于官方网站在国外,可能下载比较慢。

3.设置virtualbox虚拟机存方目录# 默认情况下 virtualbox 启动虚拟机会存放在用户的家目录里# windows 下C盘可能过小,需要设置特定目录存储虚拟机VBoxManage setproperty machinefolder D:\virtualbox

VBoxManage list systemproperties | grep machine

搭建实验环境

1.下载导入相关box# 由于需要从国外拉取box,可能会很慢。推荐使用我存储在百度云的box# 导入boxvagrant box add centos-7.4-base centos-7.4-base.box

vagrant box list

2.启动单机mkdir single && cd single

cat >Vagrantfile<

config.vm.box = "centos-7.4-base"

config.vm.hostname = "will"

config.ssh.insert_key = false

# 指定CPU和内存大小

config.vm.provider "virtualbox" do |v|

v.memory = 1024

v.cpus = 2

v.customize ["modifyvm", :id, "--name", "will"]

end    # 配置网络

config.vm.network "private_network", ip: "11.11.11.111"

# config.vm.network "private_network", ip: "192.168.22.10"

# 配置启动后的操作

config.vm.provision "shell", inline: <

hostname

SHELL

end

EOF# 启动vagrant up

3.启动多主机mkdir double && cd doublecat >Vagrantfile<

config.vm.define "web" do |web|

web.vm.provider "virtualbox" do |v|

v.customize ["modifyvm", :id, "--name", "web", "--memory", "512"]

end

web.vm.box = "centos-6.9"

web.vm.hostname = "web"

web.vm.network "private_network", ip: "11.11.11.11"

end

config.vm.define "db" do |db|

db.vm.provider "virtualbox" do |v|

v.customize ["modifyvm", :id, "--name", "db", "--memory", "512"]

end

db.vm.box = "centos-6.9"

db.vm.hostname = "db"

db.vm.network "private_network", ip: "11.11.11.22"

end

end

EOF# 启动vagrant up

3.启动集群mkdir cluster && cd cluster

cat >Vagrantfile<

(1..6).each do |i|

config.vm.define "lab#{i}" do |node|

node.vm.box = "centos-7.4-docker-17"

node.ssh.insert_key = false

node.vm.hostname = "lab#{i}"

node.vm.network "private_network", ip: "11.11.11.11#{i}"

node.vm.network "private_network", ip: "11.11.12.11#{i}"

node.vm.provision "shell",          inline: "echo hello from node #{i}"

node.vm.provider "virtualbox" do |v|

v.cpus = 4

v.customize ["modifyvm", :id, "--name", "lab#{i}", "--memory", "2048"]

end

end

end

end

EOF# 启动vagrant up

4.连接虚拟机# 一般情况下虚拟机ssh连接用户名为 vagrant# 一般情况下都不支持 密码登录, 可以登录之后自行配置支持密码登录# 连接的sshkey存储在用户家目录下 .vagrant.d 目录下# C:\Users\will\.vagrant.d\insecure_private_key

常用命令以下命令后面都可以接虚拟机名,只对指定虚拟机作操作启动虚拟机vagrant up

暂停虚拟机vagrant suspend

关闭虚拟机vagrant halt

删除虚拟机vagrant destroy

存储快照vagrant snapshot save lab1 init

恢复快照vagrant snapshot restore lab1 init

你可能感兴趣的:(linux的实验环境的搭建)