在埃里克·哈蒙德的文章中使用 EBS 在 Amazon EC2 上运行 MySQL他展示了如何添加第二个驱动器 ( /vol/
),然后继续将mysql
配置和数据移动到那里。
/sdh
/vol
通过编辑和添加安装fstab
:
/dev/sdh /vol xfs noatime 0 0
接下来添加一些路径,如下所示:
/vol/etc/mysql /etc/mysql none bind
我这样做没有问题,但我不太明白发生了什么。
我可以最接近地将其与使用符号链接进行比较,例如:
ln -s /etc/mysql /vol/etc/mysql
我查看了一下,man fstab
没有看到太多有关语法的信息,并且在 Linux 管理员手册的 参考资料 部分bind
中也找不到它。fstab
有人可以阐明fstab
的bind
语法、它的工作原理、它的作用以及我应该在哪里找到更多有关它的信息吗?
答案1
bind
镜像文件系统(在其他情况下,当设置一个 chroot 且需要一个“完整”系统时(例如解包/安装 Gentoo 时),它非常有用。
就像这样,它将一棵树从 A 镜像到 B。我不确定它是否有任何选项,但我对此表示怀疑,它除了镜像之外没有做更多的事情。
与符号链接不同的是,符号链接是一个文件系统中指向另一个文件系统的文件,需要您对其进行设置,并且仍然是一个“特殊文件”,bind 确实镜像了整个子树。根据工具的不同,这两种策略都可能有效,但可以检测到符号链接,并且某些工具可能会将其解析为原始路径。该bind
方法更加透明,就像两个不同的文件系统一样。