在只读磁盘上运行Linux – 可能吗?

我想知道是否可以从只读磁盘运行Linux服务器,特别是CentOS 5.4。

我们的系统有许多Linux机器,每个机器都安装有自己的磁盘。 目前一切都是可读写的。 我们从这些磁盘引导,但运行我们在通过NFS共享的一些外部磁盘上开发的所有软件。

我们希望能够做的是确保没有任何东西被写入内部磁盘上,只有通过NFS共享的外部驱动器。 我想我们可以通过编辑/ etc / fstab文件并将驱动器挂载为只读来进行pipe理。

因此,如果我们拍摄了内部磁盘的映像,然后启动系统,运行我们的软件(这将只接触外部磁盘),然后closures系统,并采取另一个内部磁盘的形象不会有一个单一的字节不同。

操作系统本身将要写自己的日志文件等,所以我不能看到,将驱动器安装为只读将导致function正常的操作系统 – 或者它会吗?

我只能认为某种networking启动会实现这一点,但是添加一台额外的机器作为DHCP和TFTP服务器的可能性是零。

任何帮助或想法将不胜感激! 🙂

是的,可以使用只读介质运行Linux服务器。 见魔鬼Linux; 这些服务器运行CD光盘。

您可以使用RAM磁盘为日志文件等内容创build可写空间。 不过,空间会非常紧张。 除非是非常特殊的情况,否则我不会推荐这样做。

在大多数情况下,你可以混合这个过程。 大多数服务器是只读的,但是有一个暂存空间用于内部驱动器或USB驱动器的日志文件。

你也可以用可启动的Linux路由器来做到这一点,因为我已经看到它们是用只读的软盘启动的。

另一个缺点是更新。 这个想法是,即使有人破解了一些漏洞,我也不会因为无法修改系统文件或类似的东西而造成太大的破坏。 定期更新主映像或获取最新的ISO映像,并使用该映像作为更新进行引导; 与我曾经尝试过的Devil Linux服务器,我有ISO映像引导,然后使用USB磁盘拉该服务器的configuration特定的文件。 或者,您可以编辑特定设置所需的文件,并将其与CD的/ etc目录重新整合,然后重新刻录光盘。

无论如何,是的,这是可以做到的,但这是一个维护麻烦,只能在非常特殊的情况下考虑。

"I'm wondering if it is possible to run a Linux server from a read only disk, specifically CentOS 5.4." 

不,服务器将需要一些地方来写入数据。 日志就是一个很好的例子。

但是,您可以设置分区,使系统与其他存储分开。

例如,我通常将桌面分区为拥有用户数据的/ home /分区,根分区/其余的分区,然后我将自行分区,并在安装后添加到fstab以将其挂载到他们所属的位置。

我想这是可能的 – 我想你应该仔细看看Live CD,并制作一张自定义的Live CD。

不是从硬盘启动系统,而是从硬件写保护Live USB闪存驱动器。 在Fedora中有一个实用程序 – livecd-iso-to-disk – 也适用于Centos LiveCD。 您可以使用“覆盖”function轻松进行自定义,然后打开写保护。

对系统磁盘的更改将是可能的,但不会重新启动 – 它们将只在内存中。

只读挂载分区对安全性没有太大的帮助,因为当系统被破坏的时候,黑客会做的第一件事就是重新挂载它的读写。 只有物理安全性才能保证磁盘上的数据不会被改变。

但是你永远不会收到这个系统的安全更新,所以你需要非常小心。