首页 > 解决方案 > 多个 WSL 如何使用不同的文件系统?

问题描述

我想使用 WSL 来实现类似虚拟机的功能(用于学习 hadoop),因为我的电脑性能很差。我使用以下命令创建 3 个实例:

wsl --import <Distribution Name> <Install Folder> <.TAR.GZ File Path>

但我发现它们使用相同的文件系统。我希望 3 个实例像 3 个单独的 pc 一样工作。
有可能吗?</p>

标签: windows-subsystem-for-linux

解决方案


您的问题可能需要更多细节,因为答案似乎相当明显,但让我们看看我们是否可以让您朝着正确的方向前进。

因为每个 WSL 实例都是一个虚拟化环境,所以除非将每个实例分发到单独的Windows驱动器,否则不会提高文件系统性能。例如:

wsl --import Hadoop1 c:\wsl\hadoop1 image.tar --version 2
wsl --import Hadoop2 d:\wsl\hadoop1 image.tar --version 2
wsl --import Hadoop2 e:\wsl\hadoop1 image.tar --version 2

我不是 Hadoop 专家,但我认为C:,D:E:需要是不同的物理驱动器。如果它们都在同一个物理驱动器上(甚至是不同的分区),那么该驱动器的 IO 将在三个之间共享。

当然,如果您使用一个 SSD 和两个 HDD,您可能不会提高性能。

请注意,您应该确保为此目的使用 WSL2 实例。WSL1 实例直接在 Windows 驱动器上创建其文件系统,但 WSL2ext4.vhdx为每个映像使用虚拟 HDD ( )。

您还wsl --set-default-version 2可以将此设置为所有实例的默认值(如果您还没有)。


推荐阅读