VirtualBox的Linux虚拟机如何与宿主机共享文件

时间:01/29/2024 19:56:59   作者:ChenReal    阅读:205

上周公司一台服务器遭遇的黑客攻击,数据损失殆尽,唯独虚拟机镜像幸存下来。痛定思痛厚,决定利用虚拟机系统来做数据异地备份。一翻实践下来,任务顺利完成。记录一下相关的知识点,希望永远不会因为同样缘由而再次派上用场。

服务器环境

  • 服务器的主操作系统是Windows Server 2022
  • 虚拟机软件是Oracle公司出品的免费开源的VirtualBox 7.0.14
  • 虚拟机镜像是我最喜欢的Debian 11

共享文件夹

以上环境都是现成的,接下来我们就开始设置共享文件夹了。

  • 1、配置共享文件夹

首先打开VisualBox,再主界面点击“设置”图标。

设置

进入设置项“共享文件夹”,然后点击右上角的加号图标。 共享文件夹

先选择共享文件夹路径,然后设置一个名称。注意:这个名称是一个别名,可以随便起。等挂接到Linux镜像系统上,需要用到这个名称(尽量使用英文名)。

添加共享文件夹

  • 2、安装增强功能包(Guest Additions) 这个功能包相当予以个扩展插件,能让镜像系统更好地调用宿主机的资源。我们挂接上共享文件夹必须要先安装它。 还是再设置界面找到名叫“存储”的项目,然后添加碟片。虚拟光盘iso镜像文件实在:C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso

    4.png

    挂接好碟片后,就可以切换到Linux系统,进行下一步的操作了。 执行命令:lsblk,看看光盘碟片是否已经载入。

    5.png 可以看到sr0就是光驱的位置(/dev/sr0)。接下来还要把光驱挂接到本地目录才能访问里头的内容。操作命令如下:

    mkdir /mnt/cdrom
    sudo mount /dev/sr0 /mnt/cdrom
    

    然后进入目录看一下是否挂接成功:

    cd /mnt/cdrom
    ls
    

7.png

确认无误后,开始运行增强包内的脚本安装。

./VBoxLinuxAdditons.run

但是,不幸报错了:

Verifying archive integrity... 100% MD5 checksums are OK. All good. Uncompressing VirtualBox 7.0.14 Guest Additions for Linux 100% bzip2 not found. Please install: bzip2 tar; and try again.

然而,这点小问题难不倒我们,明显失却少了一个解压缩的工具,安装上就可以了。

apt-get install bzip2

然后再来一次

./VBoxLinuxAdditons.run

挂接共享文件夹

安装成功之后,先创建一个目录,用来挂接VirtualBox的共享文件夹,如果这个目录需要双向读写的话需要增加权限,干脆来个777吧。

mkdir -p /data/jindie
chmod -c 777 /data/jindie

最后挂接共享文件夹

mount -t vboxsf jindie /data/jindie

注意在vboxsf后面的参数便是我们刚才在VisualBox所设置的共享目录名称。最后看一下结果,确实把共享文件夹挂接上了。

8.png

定时备份

大概的思路就是,用crontab服务,定时执行SCP脚本,把备份文件全部上传到另外一台服务器上。

  • 先创建一个脚本 /data/scripts/bak-jindie.sh,脚本内容如下:
TODAY=`date +%Y%m%d`
sshpass -p "backupuser" scp /data/jindie/*_$TODAY.ADF backupuser@192.168.1.100:/backup/jindie

注意,为了能自动完成密码的输入用这里用了一个叫sshpass的工具。如果您的服务器还没有安装,请执行:

apt-get install sshpass
  • 最后配置cron脚本定时执行备份动作
echo "59 0 * * * /data/scripts/bak-jindie.sh" > /data/crons
crontab /data/crons

总结

  • 1、VirsualBox界面添加共享文件夹
  • 2、安装增强功能包(Guest Additions)
  • 3、在Linux挂接共享文件夹
  • 4、利用crontab服务定时执行scp脚本将每日的备份文件上传另外的服务器

 

评论
0/200