了解如何在 Linux 统中设计磁盘分区的布局。您可以运用本文中的资料来学习。这一节讲述的是Linux 磁盘分区之分配磁盘空间。
分配磁盘空间:
如前所述,Linux 文件系统是一个以 / 为根的庞大树形结构。必须挂载软盘或 CD-ROM 上的数据的原因显而易见,但分隔存储在硬盘驱动器上的数据的原因却不是那么明显。分隔文件系统的部分原因包括:
引导文件。某些引导文件必须可被 BIOS 或引导加载器在引导时访问。
多个硬盘驱动器。通常每个硬盘驱动器将划分为一个或多个分区,各有一个必须挂载到文件系统树某处的文件系统。
共享文件。可能有多个系统镜像共享静态文件,如可执行程序文件。用户主目录或邮件池文件也可能是共享的,使用户能够在登录到网络上的任何一台机器时使用相同的主目录和邮件系统。
可能出现的溢出问题。如果一个文件系统占满了 100% 的容量,那么最好将其与运行系统所需的文件分隔开来。
配额。配额限制着用户或组可以占用的文件系统空间数量。
只读挂载。在日志文件系统出现之前,系统崩溃后恢复文件系统往往要耗费大量时间。因而,不常更改的文件系统(例如可执行程序的目录)应以只读方式挂载,避免在系统崩溃后浪费时间来检查这样的系统。
除了上述的文件系统使用方法之外,您还需要考虑在磁盘上分配交换空间。对于 Linux 系统来说,通常是一个专用的分区,也可能是多个专用分区。
假设您正在设置一个包含至少一个硬盘驱动器的系统,您希望通过硬盘驱动器引导。(通过 LAN 引导的无盘工作站的设置和使用 live CD 或 DVD Linux 系统的考虑事项不在本文讨论范围之内。)尽管可以在稍后更改分区大小,但通常比较麻烦,因此预先做出最好的选择是十分重要的。下面将介绍相关内容。
您要考虑的第一个问题是确保系统可以引导。 某些旧系统存在限制,BIOS 仅能通过全部位于磁盘的前 1024 个柱面中的分区引导。如果您的系统就是这样的,那么必须创建一个能够挂载为包含引导系统所需的关键文件的 /boot 的分区。加载了这些文件之后,Linux 系统将接管磁盘的操作,1024 个柱面的限制将不再影响系统的后续操作。如果您需要为 /boot 创建一个分区,通常 100 MB 的空间足矣。
要考虑的下一个问题应该是所需交换空间的大小。考虑到目前内存的价格,交换空间是一种非常缓慢的辅助存储器。一种常见的经验法则是创建与实际 RAM 大小相同的交换空间。如今,您可能希望为一个工作站配置一倍或两倍的实际 RAM,以便在使用某些大型程序时不会出现 RAM 不足的情况。虽然切换会降低速度,但在给定时间您通常仅使用其中之一或其中之二。
建议为内存极小的系统使用较大的交换空间。对于服务器来说,除非需要运行建议不同值的应用程序,否则您可能希望使用大小约为 RAM 一半的交换空间。在任何情况下,您都应该监控服务器的内存使用情况,以便按需添加实际 RAM 或将工作负载分布到其他服务器上。在服务器上过多进行交换并非良好的实践。可以使用交换文件,但专用分区的效果更理想。
现在,我们遇到了一个有分歧的话题。个人工作站的使用的可预测性要低于服务器的使用。我的建议(特别是对于新用户)是将大多数标准目录(/usr、/opt、/varNow 等)分配到一个大分区中。不清楚机器中究竟安装了哪些东西的新用户会发现这种做法很有帮助。运行图形化桌面和一定数量的开发工具的工作站需要 5 GB 或 5 GB 以上的磁盘空间以及用户所需的空间。某些大型开发工具可能要占用数 GB 的空间。我通常会为每个操作系统分配 40 GB 到 60 GB 的空间,将剩余的磁盘空间留作装载其他内容。
服务器的工作负载要更加稳定,同时特定文件系统中空间不足也会造成更加灾难性的后果。因此,通常应为服务器创建多个分区,分散在多个磁盘上,可能还要使用硬件或软件 RAID 或逻辑卷组。
您还需要考虑特定文件系统的工作负载,以及该文件系统是否要在多个系统间共享,还是仅供一个系统使用。您可以结合使用体验、容量规划工具,并预测增长,以便确定适合您的系统的最佳分配方式。
无论您是在配置工作站,还是在配置服务器,都有某些各系统特有的文件位于本地驱动器上。通常,这其中包括用于系统参数的 /etc、用于引导过程中所需文件的 /boot、用于引导或系统恢复所需文件的 /sbin、用于 root 用户的主目录的 /root、用于锁定文件的 /var/lock、用于正在运行的系统的信息的 /var/run、用于此系统日志文件的 /var/log。表示用户主目录的 /home、/usr、/opt、/var/mail 或 /var/spool/news 等其他文件系统可能位于独立的分区上,也可能是通过网络挂载的,具体取决于您的安装需求和偏好。
【编辑推荐】
- 3.2.5 Linux安装模式下,磁盘分区的选择(极重要)
- Linux磁盘分区的操作工具与命令使用
- 简单剖析Linux磁盘分区命令
- 让Linux操作系统支持FAT格式的磁盘分区
- Linux配置文件
- Linux下文件的清理