Windows 使用 Vagrant
软件准备
下载、安装Virtual Box https://www.virtualbox.org/wiki/Downloads
VirtualBox在官网下载比较慢,可以在清华大学开源软件镜像站中搜索下载 https://mirrors.tuna.tsinghua.edu.cn/
下载、安装Vagrant https://www.vagrantup.com/downloads.html
配置环境变量
# VAGRANT_HOME
VAGRANT_HOME=D:\Program Files\Vagrant
# 加入path
%VAGRANT_HOME%\bin
vagrant
需要以管理员身份运行
查看是否安装成功
# 查看版本号
vagrant version
# 查看帮助
vagrant -h
安装与使用
初始化
在线
# 从 vagrant 镜像官网 https://app.vagrantup.com/boxes/searc 下载镜像
vagrant init centos/7
解决vagrant安装centos7下载巨慢问题
# 从中科大的镜像仓库下载镜像
vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
离线
vagrant 下载很慢,可以离线下载下来再进行挂载
从centos的镜像仓库 http://cloud.centos.org/centos/7/vagrant/x86_64/images/ 或者中科大的镜像仓库 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images 选择需要的版本,下载好之后,执行命令
vagrant box add centos7 C:\Vagrant\source\CentOS-7-x86_64-Vagrant-1905_01.VirtualBox.box
vagrant init centos7
启动虚拟机
# 安装并启动虚拟机(在包含Vagrantfile文件的目录中,执行此命令启动虚拟机)
vagrant up
连接虚拟机
# 连接虚拟机
vagrant ssh
默认有两个用户
root/vagrant
vagrant/vagrant
虚拟机操作
vagrant 虚拟机的四个状态:running、poweroff、saved、not created
# 启动,状态是 running
vagrant up
# 停止,状态是 poweroff
vagrant halt
# 暂停,状态是 saved
vagrant suspend
# 激活挂起的虚拟机
# 命令 resume 可以恢复 suspend 保存的虚拟击状态
vagrant resume
# 重启,状态是 running
# 命令 reload 是先关闭,再开启
vagrant reload
# 销毁,状态是 not created
vagrant destroy
注:suspend-->虚拟机, 可以保存虚拟机内存里运行的东西保存在硬盘上。
虚拟机配置
# 切换root用户,默认的密码是vagrant
su
# sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
# 把 PasswordAuthentication no 修改成 yes,保存并退出
vi /etc/ssh/sshd_config
# 重启ssh服务
service sshd restart
# 查看服务器ip,默认为10.0.2.15
ip addr
# 设置主机名称
hostnamectl set-hostname node1
# 或者使用 vi /etc/hostname 也可以修改主机名
# 修改hosts文件
vi /etc/hosts
192.168.1.14 node1
192.168.1.184 node2
# 安装网络工具包,包含ifconfig等
yum install -y net-tools
# 安装sz、rz
yum install -y lrzsz
设置固定IP
使用ipconfig
查看物理机ip地址,可以看到VirtualBox Host-Only Network的IPV4地址为192.168.56.1
,修改Vagrantfile第35行,使在同一个网段
config.vm.network "private_network", ip: "192.168.56.10"
重启虚拟机vagrant reload
,
测试:ping 192.168.56.10
遇到的问题
ping不通百度
修改网卡配置,设置DNS,使永久生效,我的虚拟机有两个网卡eth0和eth1,修改eth1
vi /etc/sysconfig/network-scripts/ifcfg-eth1
# 添加:
DNS1=114.114.114.114
DNS2=8.8.8.8
也可以
echo DNS1=8.8.8.8 >> /etc/sysconfig/network-scripts/ifcfg-eth1
echo DNS2=114.114.114.114 >> /etc/sysconfig/network-scripts/ifcfg-eth1
这两行DNS配置追加到网卡配置里
添加dns服务器
vi /etc/resolv.conf
# 在文件中添加如下两行:
nameserver 8.8.8.8
nameserver 8.8.4.4
重启网卡
systemctl restart network
ssh远程连接报错
新建的虚拟机通过私有网络ssh报错,无法登录
Disconnected: No supported authentication methods available(server sent:public key)
可以通过修改配置文件
vi /etc/ssh/sshd_config
# 将 PasswordAuthentication no 修改为 yes
PasswordAuthentication yes
然后重启服务
sudo systemctl restart sshd