通过 NFS 写入 opensolaris ramdisk

通过 NFS 写入 opensolaris ramdisk

我想在 OpenSolaris 上读写 ramdisk,以进行性能测试。测试针对的是网络传输,我想排除磁盘性能。我在 NFS 服务器(机器 A)上设置了 ramdisk,使用

mkfile -nv 1000m `pwd`/ramdisk

在通过 NFS 挂载到机器 B 上的目录中。读取 ramdisk 很顺利,但写入时会覆盖文件。然后我设置了一个 ramdisk,

ramdiskadm -a ramdisk1 1000m

我可以正常写入,但无法通过 NFS 访问。ramdisk 放在 /dev/ramdisk 上,它是 /devices/pseudo 的链接。我将 /devices/pseudo 添加到 /etc/dfs/sharetab 并将其安装在机器 B 上,没有出现错误,但机器 B 上的目录内容为空。

答案1

以下是您要做的事情的高级方案:

  1. 创建 ramdisk 设备(ramdiskadm)
  2. 使用文件系统格式化 ramdisk 设备(newfs 或 zpool create)
  3. 将 ramdisk 设备挂载到挂载点(挂载,或对于 ZFS 自动挂载)
  4. 通过 NFS 导出该挂载点(man export fs 或 zfs set sharenfs=on)
  5. 利润!

mkfile 不会创建 ramdisk,只会创建某些存储区域上的文件。由于您想测试性能,我看不出它有什么帮助。

答案2

一个更简单的解决方案:(感谢 Adam Leventhal 提供的这条小贴士)

在服务器上

 share -F nfs -o rw /tmp

在客户端:

   mkdir /tmpnfs
   mount -o vers=4,rsize=32768,wsize=32768 server:/tmp  /tmpnfs

其工作方式类似于内存文件系统。

相关内容