创建共享文件夹(qemu虚拟机&宿主机)

1.说明

qemu-kvm虚拟机与宿主机之间实现文件传输,主要是使用网络来进行,一般是qemu在创建虚拟机时在xml中配置好标签然后通过ssh的scp远程拷贝命令实现。

    
      
      
    

但在某些情况下,qemu不是以xml创建的虚拟机,而是以纯命令创建的虚机。这就只能手动配置宿主机和虚拟机之间的网络,需要先在宿主机上配置网络桥接,然后在qemu-kvm启动时配置网卡。除了这种方式外,还可以配置共享文件夹,它也可以实现简单的虚拟机和宿主机之间的文件传输,尤其适合少量的大文件,接下来介绍其配置方法。

2.宿主机上操作

1. 使用dd创建一个4G大小的文件,作为虚拟机和宿主机之间传输桥梁

dd if=/dev/zero of=/opt/share.img bs=4M count=1k

2. 格式化share.img文件:

mkfs.ext4 /opt/share.img

3. 创建一个共享文件夹并挂载:

   mkdir /tmp/share

   mount -o loop /opt/share.img /tmp/share

4. 把需要传输给虚拟机的文件放到/tmp/share 下即可:

   cp  stress.xxx.rpm  tmp/share

创建共享文件夹(qemu虚拟机&宿主机)_第1张图片

创建共享文件夹(qemu虚拟机&宿主机)_第2张图片

3.虚拟机操作

1. 启动qemu-kvm虚拟机时,额外添加上 -hdb /opt/share.img参数:

/usr/libexec/qemu-kvm -m 4G -smp 4 -name bcl-qemu --enable-kvm  -boot cd -hda /root/linux.qcow2 -hdb /opt/share.img -vnc :1

2. 在虚拟机中lsblk查看本地磁盘是否挂载上宿主机的/opt/share.img,可以看到虚机多了一个sdb,且大小正好是之前创建/opt/share.img的4G

创建共享文件夹(qemu虚拟机&宿主机)_第3张图片

 3. 创建/root/share文件夹,作为虚拟机的挂载点

mkdir /root/share

4. 以同样的文件格式ext4挂载刚刚添加的/dev/sdb硬盘:

mount -t ext4 /dev/sdb /root/share

创建共享文件夹(qemu虚拟机&宿主机)_第4张图片

5. 通过访问/root/share文件夹即可以获得宿主机上放在/tmp/share文件夹下的文件

6. 若宿主机重新往共享文件夹下添加文件,就在虚拟机中先卸载/dev/sdb然后再挂载以实时共享(直接用mount -o remount /dev/sdb重新挂载/dev/sdb测试不成功)

umount /dev/sdb

mount -t ext4 /dev/sdb /root/share

创建共享文件夹(qemu虚拟机&宿主机)_第5张图片

你可能感兴趣的:(Linux,linux)