Linux 下的推荐分区方案

调查了 Sun Ray 服务器的硬件配置要求以后,VPSee 开始着手安装一台新服务器,从别的项目组扒了一台 SUN Fire X2200,4核的 Quad-Core AMD Opteron Processor 2218 2.6GHz,8GB DDR2-667 ECC 内存,250GB SATA 2 的硬盘,没多余的硬盘做不了 RAID 10,先用1个硬盘凑合。这台机器只做 Sun Ray Server 不做别的,所以分区简单没有用更灵活的 LVM,服务器分区如下:

/boot (100MB)
boot 分区用来存放 Linux 内核,100MB 足够了。

/ (5GB)
root 分区用来存放系统主要文件、程序等。CentOS/RHEL 5 最小安装需要 3GB,全安装(安装所有包)需要 5GB,所以给 5GB 应该够了。

/var (5GB)
var 分区通常包括一些日志、临时文件、运行时目录等,推荐 3GB 以上,5GB 应该够了。

/home
home 分区包含所有用户的数据,需要最多的硬盘空间,剩下的空间都分给它。

swap
上个世纪的时候,VPSee 看过的几乎所有 Linux 系统管理的书上都推荐设置交换分区大小为内存的2倍。这些建议到了现在就是那么适用了,现在的服务器动不动就是 16GB/32GB 内存,难道相应的交换分区也要扩大到 32GB/64GB?根据 OpenBSD 的安装建议

Many people follow an old rule of thumb that your swap partition should be twice the size of your main system RAM. This rule is nonsense. On a modern system, that’s a LOT of swap, most people prefer that their systems never swap. You don’t want your system to ever run out of RAM+swap, but you usually would rather have enough RAM in the system so it doesn’t need to swap. If you are using a flash device for disk, you probably want no swap partition at all. Use what is appropriate for your needs.

再看看 RHEL 5 推荐的 swap 分区大小

Swap should equal 2x physical RAM for up to 2 GB of physical RAM, and then an additional 1x physical RAM for any amount above 2 GB, but never less than 32 MB. For systems with really large amounts of RAM (more than 32 GB) you can likely get away with a smaller swap partition (around 1x, or less, of physical RAM).

上面说的是一般情况,在安装系统的时候很难决定多大的交换空间,往往需要根据服务器实际负载、运行情况、以及未来可能应用来综合考虑 swap 分区的大小,所以这里参考推荐最小 swap 大小更实际一些:

  • 4GB 或 4GB 以下内存的系统,最小需要 2GB 交换空间;
  • 大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
  • 大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
  • 大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。

评论 (7 Comments)

  1. 请问,如果一台128M RAM 5G内盘的VPS,安装CentOS,应该怎样分区?
    谢谢。

  2. 如果是 VPS 的话,不必分区,也分不了区,你买到的 VPS 就已经把操作系统装好了,不必也不能重新安装系统,要重装系统的话只能 load 已经定义好的操作系统模板,不能从 CD/ISO 安装。

  3. 哦,原来是这样啊。
    了解了商业VPS的模式。
    我目前的情况是这样的,还没有购买VPS,只是在自己的电脑上虚拟了一个128M,5G的计算机,用来学习CentOS,所以不知道该怎么办……
    你有什么好的建议么?

  4. 你可以使用免费版本的 vmware 或者 virtualbox 来虚拟一个 Linux 操作系统,既然在自己电脑上虚拟就最好多给点内存, 512MB 内存和 20G 硬盘.

  5. 我目前就是在virtualbox 上虚拟安装的CentOS,为了模拟真实的VPS环境,所以只给了128M RAM 5G 硬盘。
    该怎么分区呢?

  6. 5G 空间不用分区,256MB 给交换分区,剩下都给 root 区就可以了。

  7. 哦,谢谢啊。

发表评论