windows-subsystem-for-linux - 多个 WSL 如何使用不同的文件系统?
问题描述
我想使用 WSL 来实现类似虚拟机的功能(用于学习 hadoop),因为我的电脑性能很差。我使用以下命令创建 3 个实例:
wsl --import <Distribution Name> <Install Folder> <.TAR.GZ File Path>
但我发现它们使用相同的文件系统。我希望 3 个实例像 3 个单独的 pc 一样工作。
有可能吗?</p>
解决方案
您的问题可能需要更多细节,因为答案似乎相当明显,但让我们看看我们是否可以让您朝着正确的方向前进。
因为每个 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
可以将此设置为所有实例的默认值(如果您还没有)。