无分区文件系统的优点


39

我遇到了几周前从未见过的东西:一个文件系统(我相信是ext3)安装到没有分区的存储设备上。本质上/dev/sdb 整个文件系统。我知道许多文件系统可以扩展到空白空间,因此这样做可以扩展而无需处理LVM或其他类型的卷管理器,但是以这种方式设置存储还有其他优点吗?

我所看到的特定情况是作为数字运算服务器的临时数据卷,引导卷和根卷是完全位于不同存储设备上的传统分区。--


Oracle VM也这样做-对于“本地存储”。
尼尔斯2012年

3
我错过了这个问题,并开始了一个涵盖相同领域的新问题:unix.stackexchange.com/q/52389/4801。该问题现已结束,但是该问题的某些答案可能也对读者有用,可以在此处合并。
dubiousjim 2012年


可行,但会导致最终浪费时间的问题,如下所示-access.redhat.com/documentation/en-us/red_hat_enterprise_linux/…
slm

Answers:


24

优点:您不会在分区表上浪费一个磁盘扇区。(好极了。)

优点:磁盘可以在不支持PC样式分区的操作系统中使用。(就像您要使用一个一样。)

缺点:这很不寻常,可能会使合作系统管理员感到困惑。(看到?)

缺点:如果您安装另一个操作系统,它可能会认为该磁盘包含垃圾,并且可以通过选择错误的磁盘来轻松覆盖它,而操作系统通常会留下它们无法理解的分区。

无关紧要:如果直接在磁盘上,则扩展文件系统并不比在分区中扩展文件系统容易,反之亦然。(使用LVM会更容易。)

结论:可行,但这不是一个好主意。


2
混乱,嗨!我的内部仪表当前倾向于“错误引导优化”。
sysadmin1138

6
另一个缺点:以后很难将分区一分为二。

3
进行了超级用户问答,其中有一些很好的示例使用hexdumpod并以非常具体的方式显示了/dev/sdavs. /dev/sda1设置的情况。
slm

4
扩展整个磁盘上的卷比较简单,因为您不必首先扩展分区。
psusi 2014年

2
在非商业环境中,可能需要安装另一个操作系统-但是在商业环境中谁会多次引导?我很不高兴这是规范的答案。没错,除了它的意见。我对无分区磁盘的使用持谨慎态度,但是下面给出了一些很好的理由。
格雷厄姆·尼科尔斯

18

不知道如何将其应用于Linux但使用本机ZFS,建议在整个磁盘而不是分区上创建池的原因之一是在前一种情况下可以启用磁盘写缓存。

这里还提到了其他几个原因:

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Storage_Pools

结论:它可以工作,并且根据文件系统可能是一个好主意。


很高兴知道。在这种情况下,它就在云端!因此,在进行系统设置时,存储已被大量抽象化。
sysadmin1138

1
磁盘写缓存与分区表是否在使用有什么关系?
psusi 2011年

3
无法在分区级别启用写缓存。启用后,它将影响整个磁盘。如果文件系统使用的是整个磁盘,则它“拥有”该磁盘,因此它可以打开和关闭该高速缓存而没有任何附带风险。否则,这样做可能会影响另一个磁盘使用者,该磁盘使用者需要出于自身原因而禁用该缓存。
jlliagre

4
当然可以,但是让OS盲目地打开高速缓存而不知道文件系统或原始设备使用者的需求并不是一种可靠的方法。有些应用程序(例如数据库)需要确保已提交的事务在磁盘上,而不仅仅是在内存中。
jlliagre 2011年

1
@psusi fsync是否将刷新磁盘缓存似乎取决于文件系统。
jlliagre 2014年

16

在虚拟环境中完成此操作后,我会看到真正的好处。由于我们的VMDK存储在我们的NAS上,因此我们可以动态地对其进行扩展。

如果使用分区,则要么需要使用LVM(及其相关的开销)并将分区链接在一起,要么需要关闭主机(或文件系统,如果不使用)以使用类似gparted的东西。

但是,如果使用整个磁盘而不是分区,则可以在SCSI磁盘上强制进行重新扫描,并使用resize2fs在文件系统处于联机状态(并在使用中)时增大文件系统。


好点子!对于虚拟磁盘(您可以根据需要创建,删除和调整大小),分区似乎是无用的层。
pabouk

11

在磁盘设备上放置文件系统而不创建任何分区的情况并不少见。

好处:

  • 当您仍然想使用整个空间时,则不必浪费时间使用某些分区工具
  • 您不必担心“标准”分区格式的兼容性(顺便说一句,标准是哪种分区格式,DOS是一种,BSD是一种?),例如,DOS分区格式在使用时最多只允许2 TB的分区512字节逻辑扇区!
  • 您不必担心具有(当前)异常扇区大小(例如4 k)的驱动器上的分区引起的对齐问题-当然,当前发行版应随附分区工具,这些工具可以正确对齐不同扇区大小

能够在原始设备上调整文件系统大小不是一个很好的理由。这样节省的空间无法用于其他用途。因此,您可以直接在整个设备上创建文件系统。


2

尚未列出的答案是,如果您不创建分区,则不必等待内核检测到分区(可能仅在重启后)。

一个用例可能是您添加到节点并希望在首次引导时进行初始化的EC2 EBS卷。

如果您的初始化过程创建了一个分区,则可能会导致必须重新引导内核才能看到新创建的分区。通常,您会看到以下消息:

错误:通知内核有关对分区/ dev / xvde1的修改的错误-设备或资源繁忙。这意味着Linux在重启之前不会知道您对/ dev / xvde1所做的任何更改-因此,在重启之前,您不应该挂载它或以任何方式使用它。

在这种情况下,您的初始化过程将必须执行重新引导,然后继续将文件系统添加到新创建的分区。

如果您知道只需要一个分区,则最好跳过该分区,这样就不会冒需要重启的风险。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.