我有一个高性能计算包括一个服务器和大约 20无盘计算节点。服务器有一个交换分区。我想知道我是否可以通过网络使用此交换分区(即使用NFS) 供计算节点使用。我知道这会导致速度严重下降,但由于节点只需要几秒钟的少量交换,因此值得使用这种奇怪的交换类型。
PS:节点没有HDD,并且具有最大支持的内存(RAM)。
PS:这里:http://www.tldp.org/HOWTO/Network-boot-HOWTO/x542.html
说的是可以为一个远程工作站做这件事,但是并没有提到同时拥有多个工作站。
答案1
你会得到这样的错误,因为内核需要直接写入交换文件
swapon: /mnt/shady/swapfile: swapon failed: Invalid argument
不经过文件系统就无法直接写入 NFS 挂载,您也许可以使用 i SCSI 来执行此操作,但真正的问题是它是否值得。
答案2
不,您不能在不同的活跃主机之间共享交换分区(或交换文件)。Linux 的分页编程并不期望交换分区被不同的系统同时访问。
答案3
答案4
我正在通过 NBD 交换共享另一台机器的 RAM
主机/服务器
设置 ramfs(如果需要,如果不需要则跳至 nbd)
sudo mkdir /mnt/ram
sudo mount -t tmpfs -o size=16G tmpfs /mnt/ram
配置文件/etc/nbd-server/config
:
[generic]
user = nbd
group = nbd
[swap]
exportname = /mnt/ram/swap
copyonwrite = false
prerun = truncate -s 16G /mnt/ram/swap && mkswap /mnt/ram/swap
开始 NBD
sudo systemctl start nbd
客户
sudo nbd-client 192.168.1.3 -name swap /dev/nbd0
sudo swapon /dev/nbd0