NBD 用于提供块设备给远程设备使用是一种非常简便、低成本的方法。然而,让 NBD 开始工作的方法在网上能找到很多,但是 NBD 客户端的配置持久化却很难搜到比较完整的资料。在参考了一些过时博客、manpage 等比较分散的资料之后,我总算是凭借蛛丝马迹找到了应当是正确的配置方法。
1、自动加载 nbd 内核模块
echo nbd > /etc/modules-load.d/nbd.conf
(虽然——我觉得这件事应该在 nbd 包里完成,因为上游不愿意默认提供的理由只是为了考虑 nbd 未被编译为内核模块的情况。)
2、/etc/nbdtab
没错,光是发现这个东西就花了我不少时间。
nbd 服务器、连接选项等本来在 nbd-client 命令中配置的内容,应当被写到这个文件里。
一个简单的例子:
nbd0 192.168.0.10 export0 persist
显而易见,分别对应设备名、服务器地址、服务器上配置的 export 名、其他选项。完整的介绍可以参考对应的 manpage。
Continue reading [Arch] systemd 时代的 NBD 客户端持久化配置方法