最佳UNIX文件系统分区+设置策略

在为UNIX分区新系统磁盘时,对于桌面和/或服务器,您最喜欢的策略是什么?

请包括磁盘分区布局,文件系统格式和选项,安装点,RAID级别,LVM组和卷,encryption以及任何其他相关设置。

我是LVM这种问题的粉丝。 你只需要一些空间/启动(我使用约100MB)。 结合可dynamic增长和缩小(或至less增长)的文件系统,您再也不必考虑小分区。

在我的桌面上,我使用LVM和XFS作为所有分区的文件系统。 我创造尽可能小,让他们成长,因为我需要更多的空间。

如果是Linux,请单独/ boot。

对于其他Unix版本,通常我build议使用/和/ var分区,数据通常安装在/ u001,/ u002等

以前需要大量分区,因为磁盘空间是有限的,而且你不希望有一个填满的分区来closures整个系统。 随着今天大大增加的存储空间以及可用的大量调整和虚拟化选项,对于许多分区IMO的需求已经下降。 再加上当你有很多分区的时候移动它是一件麻烦的事实,这意味着如果你可以less走开,就这样做。

当你有32GB的内存时,交换为2xRAM是没有意义的。 所以请记住,“规则”是真正的指导方针,有些根本无法使用现有的新硬件。

规划一个好的分区结构很大程度上取决于实际知道你将如何使用系统。 任何不考虑系统正在做什么的随机build议都不会特别有用。

所有的花哨的文件系统有时可能是有用的,但是如果你想要一个稳定的系统,只要坚持使用“标准”文件系统(例如ext3),除非你有很好的理由使用别的东西,否则可能是一个好主意。

RAID是好的,我总是在我所有的个人电脑上运行RAID1,因为我的硬盘太多了。

如果您的系统是便携式设备,具有高价值的数据,或者您只是偏执狂,那么使用类似dm-crypt的encryption技术是很好的。

正如你正在规划你的分区,对文件系统层次结构标准等有很好的理解,以及你所select的unix是否偏离标准是非常有帮助的。

使用LVM可以使以后改变主意,调整分区而不必重新启动,而且创build快照的function可以非常容易地创build好的备份。 使用LVM,不要立即分配所有的空间。

除FStypes外,还有两个很好的理由进行分区:

  1. 防止影响系统function的应用程序溢出。 如果您的应用填充/usr ,那么在/var上留下一些空间可以让系统继续并logging日志。

    Jauder上面说过,这是今天被硬盘的大小所否定的 – 我不认为这是完全正确的。 我们的驱动器可能会更大,但是我们正在翻的数据却在不断增加。 没有必要得到自满。

  2. 安装选项。 您可以更仔细地定义每个分区应该采用的权限。 例如,不允许从/tmp执行文件,尤其是suid,因为它是服务于Web应用程序的机器的常见攻击媒介。 除非你正在运行监狱,否则你不应该期望看到设备节点,除了/dev 。 等等。

例如。

 / noatime /tmp noatime,nodev,nosuid,noexec /var noatime,nodev,nosuid /usr noatime,nodev /home noatime,nodev,nosuid 

物理磁盘分区
最低2个磁盘开始:

 #1 100MB,ID = 83(Linux),引导标志打开
 #2剩余,ID = FD(Linux Raid Auto)

100MB分区用于/ boot卷。 我将所有的驱动器(甚至是非引导)都放在这个位置,以便灵活性,以便以后可以启动任何驱动器。 如果磁盘大小不匹配,或者您有一个奇数(500GB,250GBx2),则将500GB驱动器的分区拆分为与较小的磁盘相匹配。

袭击
使用sdasdb上的100MB分区为/boot创build一个RAID1(镜像)卷。 这成为md0

 md0 / boot 100MB Ext2

不要打扰/使用异国情调的FS,这是不值得的。

剩下的空间可以用不同的方法设置。 我select了使用64K块和“2远端拷贝”的RAID10(镜像/条带)来提高速度。 这为您提供了很大的灵活性,可以逐步升级驱动器。 其他选项是做RAID5 / 6。 但是可用空间将被限制在最小的分区,不要使用相同设备的分区。 命名新的RAIDarraysmd1md2等等。

LVM
取除除md0以外的所有RAIDarrays,并将其放入名为lvm_vg0的单个LVM卷组中。 如果你有RAID5和RAID10卷,最好不要把它们结合起来,但我想这不会有什么坏处。

为其余的系统安装分区VG0。 请记住,如果需要添加更多空间是相对容易的,所以这些数字可能有点保守。

 lvm_vg0-root / 8GB Ext3 / ReiserFS(核心发行版文件)
 lvm_vg0-home / home 20 + GB Ext3 / ReiserFS(用户数据,文档)
 lvm_vg0-data / data 60 + GB XFS(媒体,大文件,vm)

XFS文件系统不能缩小,所以记住这一点。 另外,缩小在线根卷可能不受支持。

升级如果您想更换大容量的磁盘,您可以select一些选项。 最简单的方式是成对添加驱动器或更多,并将新的RAIDarrays添加到当前的LVM VG。

另一个select是添加一个单一的驱动器是> =的当前空间的总和。 例如,如果RAID10中有两个100GB设备,则可以添加一个新的200GB设备,并使用两个旧设备对其进行镜像。 这是更容易出错,但将工作。

如果需要,可以从LVM VG中删除md#设备,而不会丢失数据。 如果有足够的空闲LVM空间将所有使用的LVM块从md#设备转移到其他设备,可以这样做。 LVM只能使用尚未分配给LV的空间,因此空文件系统不会被视为“空闲”空间。

我只是运行Linux工作站。 我使用ext3文件系统,大小取决于磁盘的大小,在较大磁盘上的分区更为慷慨。 这些大致按照它们出现在分区表中的顺序排列:

  • / boot – 100 MB
  • 交换空间 – 2xRAM
  • / usr – 10-20 GB
  • / – 5-10 GB
  • / var – 1-2 GB
  • / tmp – 1-2 GB
  • / usr / local – 10-20 GB
  • /家 – 其他一切。

我妻子在大学里有两台750GB硬盘的工作站,除此之外,我们还创build了十几个~100GB的分区,这些分区分别安装在/ data / N,其中N是从1到12的数字她用这些来为她的不同的研究项目保存数据。

在所有磁盘上使用noatime(除非你有一个理由不要)我在tmpfs中mount / tmp虽然这可能不是很好的服务器上,我会确保它是一个单独的分区并挂载它nodev,nosuid,noexec,noatime 。 我总是使用ext2作为/ boot,所以我不必担心改变fs的东西搞砸我的能力启动w / grub。 ext4的一切,我在/ home上使用日记=数据可能会减慢一些东西(因为它没有dealloc),但我从来没有丢失与日记=数据的数据,并有点最新/最大妓女,有时我的系统locking,我不得不重置它(因为我尝试了像公里,发现了一个bug)。

哇,很好的问题。 一直在为这个yonks的完美的答案冲浪。

我个人有50Mb / boot〜8GB /,剩下的就是/ home了。 我需要调查替代文件系统,目前我使用的是ext3,但是我听说过其他文件系统比如XFS。

我通常也是纯粹为/ tmp创build一个文件容器,以便将来可以更加灵活。