在系统工作时调整/tmp 和/var 分区在这篇关于在正在运行的系统上更改分区的技巧(第二篇)中,Daniel Robbins 说明了怎么样将 /tmp 和 /var 移动到它们自己的共享分区上。同时,他还介绍了几个诀窍,从而使您可将停机时间缩到最短,并可避免犯严重错误。 在我的 上一篇技巧 中,我们已成功地将 /home 移动到一个新分区上。现在是学习怎么样将经常修改的文件整理到一个新分区上的时候了。为什么要这样做呢?下面是一个例子。经常修改的文件会产生大量的碎片。包含碎片的最佳方式之一就是将经常修改的文件存储在它们自己的分区上。这样,其他分区就不会受经常修改的文件所产生的碎片的影响。这在概念上不难理解,但实际上该怎么样操作呢? 首先,必须创建一个新分区专门用于存储频繁修改的文件。您可能希望将这个分区置于单独的磁盘上以增强性能。接下来,我将逐步说明将 /tmp 和 /var 移动到这个新分区上的各个步骤。 正如在我的前一篇技巧中那样,应该用刚创建的空分区的设备名替换 --?。意外键入错误的名称将破坏现有分区上的数据,所以一定要小心!键入这个命令以后,您就在新分区上创建了一个新的 ext2 文件系统。现在几乎就可以挂载这个分区了,但我们首先要创建一个挂载点。
我选择名称 "rwstorage" 是为了提醒我们,这个特殊的分区将专用于存储频繁读写的文件系统。要挂载分区,请键入:
分区已经挂载好,现在就可以创建新的 /tmp 目录了:
我们的新目录 /mnt/rwstorage/tmp 具有临时目录应该具有的权限。现在,请进入单用户模式,因为我们必须复制整个 /var。像往常一样,我们将进入单用户模式推迟到最后一刻进行。从现在起我们不希望任何程序读写 /var 中的文件,所以必须停止所有守护程序,断开所有用户,执行一些快速的维护,为此请键入以下命令:
如果提示您输入口令来进行系统维护,请按指示操作。您现在应该在 root shell 中,所有不必要的守护进程已被停止。键入以下命令为 /var 中的文件创建一个新位置:
在我们的新 /mnt/newstorage/var 目录上的默认权限应该是正确的,现在就可以将原来的全部 /var 数据复制到新分区上了:
这个命令完成以后,/mnt/rwstorage/var 就成为 /var 的一个完全相同的副本。现在您可能会问,怎么样让 Linux 正确使用 /mnt/rwstorage/var 和 /mnt/rwstorage/tmp 而不是根目录下的默认位置呢?使用符号链接很容易实现这一点 -- 我们将创建新的符号链接 /tmp 和 /var,它们指向 /mnt/rwstorage 中的正确目录。我们首先备份原来的目录:
|