Debian 12 虚拟机挂载宿主机目录(NFS方式)
在虚拟机中访问宿主机文件目录,最常见的方式之一就是 NFS(Network File System)。本文将介绍如何在 Debian 12 宿主机 和 Debian 12 虚拟机 中使用 NFS 进行目录共享和挂载。
一、宿主机配置 NFS 服务
1. 安装 NFS 服务
在宿主机执行以下命令:
sudo apt update
sudo apt install -y nfs-kernel-server
2. 创建共享目录
例如我们要共享 /srv/nfs/share
:
sudo mkdir -p /srv/nfs/share
sudo chown nobody:nogroup /srv/nfs/share
3. 编辑共享配置
打开 /etc/exports
文件:
sudo nano /etc/exports
加入以下内容:
/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check)
参数说明:
192.168.1.0/24
:允许该网段的客户端访问(可改为单个虚拟机 IP,例如192.168.1.100
)rw
:读写权限sync
:同步写入(更安全)no_subtree_check
:关闭子目录检查,提高性能
4. 重新加载配置并启动服务
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
5. 确认服务状态
sudo systemctl status nfs-kernel-server
sudo showmount -e
二、虚拟机挂载宿主机共享目录
1. 安装 NFS 客户端
在虚拟机执行:
sudo apt update
sudo apt install -y nfs-common
2. 挂载测试
假设宿主机 IP 为 192.168.1.10
:
sudo mkdir -p /mnt/share
sudo mount -t nfs 192.168.1.10:/srv/nfs/share /mnt/share
检查是否挂载成功:
df -h | grep nfs
3. 设置开机自动挂载
编辑 /etc/fstab
:
sudo nano /etc/fstab
添加一行:
192.168.1.10:/srv/nfs/share /mnt/share nfs defaults 0 0
保存后测试:
sudo mount -a
三、注意事项
-
防火墙 确保宿主机防火墙允许 NFS 相关端口(
2049/tcp
,111/tcp
等)。 -
网络模式 如果虚拟机和宿主机不在同一网段,需要使用 桥接网络 才能正常通信。
-
权限问题 默认情况下,NFS 会将 root 用户映射为
nobody
,如果需要特定权限,可以调整/etc/exports
配置。
四、总结
通过 NFS,我们可以轻松地在 Debian 12 宿主机 和 虚拟机 之间共享目录,实现文件的读写和同步。相比于其他方式(如 Samba),NFS 更适合 Linux 环境下的虚拟机共享场景。