virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案

vagrant安装centos/7方法以及dev/sda1爆满解决方案

  • 简要介绍
    • 准备工作
    • 在线安装
    • 解决dev/sda1爆满问题
    • 离线安装centos/7(附带一些小技巧)

简要介绍

对于利用vagrant在virtualBox上安装虚拟机来说,有两种方法,第一种是在线安装,第二种是离线本地安装,这两种方法网上都有,我在这里介绍一下,另外,安装的过程中我遇到了一个问题,就是虚拟机装好之后没过多久,dev/sda1就满了,有40g的空间,什么都没做就满了,确实有些奇怪,这里也附带问题分析和解决方案。

准备工作

首先,安装virtualbox和vagrant这两个软件,去官网下载,无脑点击下一步,这里就一笔带过,大家都会,附带安装网址:

  1. Vagrant 官⽹下载地址: https://www.vagrantup.com/downloads.html
  2. VirtualBox 官⽹下载地址: https://www.virtualbox.org/wiki/Downloads
  3. centos/7中科大镜像地址 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
    这个镜像也可以直接点开,下载到本地。

在线安装

点击Win+R,输入cmd,打开命令行窗口,不出意外会直接进入C:\Users\用户名目录下,输入vagrant并按回车(这里假设已经安装好virtualBox和vagrant两款软件)会出现下面的图片:表明vagrant安装成功
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第1张图片
接下来输入指令:vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
在这里插入图片描述

初始化centos/7,输入完这条指令会在当前目录下生成两个文件:
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第2张图片
根据提示,继续输入指令:vagrant up开启虚拟机
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第3张图片
出现了Rsyncing folder: /cygdrive/c/Users/用户名/ => /vagrant的时候说明已经开启虚拟机了(这条指令也相当于同步文件夹,他会将/c/Users/用户名/目录挂载到虚拟机上的目录:/vagrant,这也是后面dev/sda1爆满的原因,后面详解),这个时候Ctrl+c终止当前命令,然后输入vagrant ssh登录虚拟机,这个时候就算安装完成了。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第4张图片

解决dev/sda1爆满问题

登陆之后可以看看存储空间,这个时候可以看到上面那张图片,/dev/sda1占比22%,本身不正常,因为刚刚安装的虚拟机,无操作过了一个小时,空间就爆满,这个过程中,他自己在一点点的挤占空间。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第5张图片
这里可以看到上面图片,占比/dev/sda1已经43%了
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第6张图片
这里可以看出来占比96%,即将爆满,再等会就不能装任何软件了。原因是在打开cmd命令行的时候,准备安装centos/7,这里要注意一点,最好找一个空的文件目录,开始安装,因为安装完成后,他会将本目录下所有的东西全部同步到虚拟机根目录下的/vagrant目录下面。我一开始就在C/User/用户名目录下安装的,由于这里有很多文件,尤其是有个文件夹Appdata文件夹,大概20多G,算上其他文件,全部都同步到了/vagrant目录下面了,如下图:
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第7张图片
这就导致了开启虚拟机的时候风扇飞速运转,其实后台在偷偷同步C/User/用户名下的所有文件,导致了没过多久,我的虚拟机硬盘文件直接飙升到36.5G,安装的时候分配的空间40G。
这个时候有两种解决方案,第一种:
删除根目录下的vagrant文件夹及以下目录:sudo rm -rf vagrant
然后在使用命令:df -h 可以看出来,失去的空间,他回来了
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第8张图片
然后关闭虚拟机,并找到C:\Users\用户名\.vagrant.d\boxes\centos7\0\virtualbox目录下有个Vagrantfile文件
打开,:

Vagrant.configure("2") do |config|
  config.vm.base_mac = "5254004d77d3"
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
end

将第三行的"." 更换为"./backup"
然后去C/User/用户名同级目录下新建一个backup文件夹,第三句话原来的意思是将当前目录全部文件同步到虚拟机根目录下的vagrant目录中,这就导致了存储空间爆满,更改成一个空的文件夹,当然,前提是当前目录下要有这个文件夹,所以要去新建backup文件夹,别的名字也可以,Vagrantfile文件内改成对应的名字就行。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第9张图片virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第10张图片
然后退出虚拟机,在命令行终端输入:vagrant reload 重新加载,然后vagrant up最后vagrant ssh

第二种解决方案就是,全部删掉,重新安装,这个时候选择一刻空白的文件夹里面进行安装,就不会出现同步当前目录下所有文件的尴尬局面了,什么都没有,也就不用同步,也不用改Vagrantfile文件。
下面就进行离线安装本地镜像操作,来一遍,这样比较方便快捷,提前备好镜像,不会因为网络出现安装问题。

离线安装centos/7(附带一些小技巧)

一般来说,安装完vagrant之后,在cmd中打开一个目录,在当前目录下使用vagrant命令,会在当前目录下生成一个文件夹:.vagrant.d 然后所有的相关文件如 boxes 都会放在这里,比如在线安装的时候,下载的镜像也在.vagrant.d这个文件夹里。为了防止后续C盘吃紧,我们可以把这个文件夹放到别的盘目录下面,当然需要修改环境变量(下面是我的地址):

变量名: VAGRANT_HOME 
变量值: F:\VagrantFile\VagrantRep\.vagrant.d

将C盘user下的用户名目录下的.vagrant.d文件直接拷贝到上面的目录下面,需要在virtualBox上设置全局变量,虚拟机的地址,这个地址是放vmdk文件的,就是虚拟机的硬盘地址,也最好放到别的盘目录下面,设置好之后再去设置全局变量的那个目录下打开cmd,这样的话安装centos/7镜像就在这个目录下面了。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第11张图片
保存好了需要重启电脑
vagrant box add centos/7 CentOS-7.box 后面的 CentOS-7.box就是镜像文件,如果在别的目录,就要放完整的目录。
输入指令:vagrant box list查看virtualbox添加的镜像列表。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第12张图片

之后需要初始化一下:vagrant init centos/7
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第13张图片
init之后会出现一个文件Vagrantfile并且在上一层目录会出现一个文件夹.vagrant.d是因为之前在环境变量VAGRANT_HOME设置好了
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第14张图片
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第15张图片

然后根据命令行指示输入:vagrant up
virtualbox中出现虚拟机,并且之前设置的全局变量位置里出现了vmdk虚拟机硬盘文件。
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第16张图片

最后:vagrant ssh 登录
最后记得去vagrantfile里面修改ip地址192.168.56.10,根据cmd命令行中ipconfig中的对应网关192.168.56.1
记得退出登录exit; 然后vagrant reload
virtualbox通过vagrant安装centos/7方法以及dev/sda1爆满解决方案_第17张图片

重新登陆之后,修改可以远程登录:
su权限进入目录:vim /etc/ssh/sshd_config(vim需要自己安装,可以使用vi)
修改这两条:

PermitRootLogin yes
PasswordAuthentication yes

重启sshd systemctl restart sshd

你可能感兴趣的:(Linux,centos,vagrant,运维)