1. 原因:
vagrant创建centos的时候,用的模板box是“CentOS Linux release 7.6.1810 (Core)”,但是目前实验和研发、生产环境是CentOS Linux release 7.4.1708 (Core),需要安装的BeyonDB(BeyonDB是什么?找个时间另开新坑)稳定系统是7.4的,so… justs do it!!
2. 步骤:
1) 官网下载box镜像
2) vagarnt添加新的镜像
3) 创建vagrantfile中的,在配置行中修改:config.vm.box = “centos/74”
4) vagrant up 创建虚机
5) 在创建好的虚机中: cat /etc/redhat-lease
备注:
- v1803.01 === CentOS 7.4.1708.
- v1804.02 === CentOS 7.5.1804.
- v1905.1 === CentOS 7.6.1811.
- 所有centos镜像地址:http://cloud.centos.org/centos/7/vagrant/x86_64/images/
- 官方镜像地址: https://app.vagrantup.com/boxes/search
3. 详细:
1) 官网下载box镜像
1.1 下载地址:http://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-1803_01.VirtualBox.box
1.2 下载后的box文件copy到指定的目录,这里我进行统一存储,目录位置:H:\Vagrant\VirtualBox_Template
2) vagarnt添加新的镜像
vagrant box add centos/74 H:\Vagrant\VirtualBox_Template\Cent
OS-7-x86_64-Vagrant-1803_01.VirtualBox.box
3) 创建vagrantfile中的,在 配置行中修改:config.vm.box = "centos/74"
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.require_version ">= 1.6.0"
boxes = [
{
:name => "beyondb-m1",
:eth1 => "169.254.171.141",
:mem => "1024",
:cpu => "1"
}
]
Vagrant.configure(2) do |config|
config.vm.box = "centos/74"
boxes.each do |opts|
config.vm.define opts[:name] do |config|
config.vm.hostname = opts[:name]
config.vm.provider "vmware_fusion" do |v|
v.vmx["memsize"] = opts[:mem]
v.vmx["numvcpus"] = opts[:cpu]
end
config.vm.provider "virtualbox" do |v, override|
v.customize ["modifyvm", :id, "--memory", opts[:mem]]
v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]
end
config.vm.network :private_network, ip: opts[:eth1]
end
end
#config.vm.synced_folder "./labs", "/home/vagrant/labs"
#config.vm.provision "shell", privileged: true, path: "./setup.sh"
end
4) vagrant up 创建虚机
5) 在创建好的虚机中: cat /etc/redhat-lease
创建成功!!
最后如果发现eth1无法使用需要创建eth1的参数文件,具体如下:
# 1. 编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth1
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=169.254.171.141
NETMASK=255.255.255.0
DNS=8.8.8.8
GATEWAY=169.254.171.1
#2. 重启网络服务:
service network restart
systemctl restart network