我遇到了几周前从未见过的东西:一个文件系统(我相信是ext3)安装到没有分区的存储设备上。本质上/dev/sdb
是整个文件系统。我知道许多文件系统可以扩展到空白空间,因此这样做可以扩展而无需处理LVM或其他类型的卷管理器,但是以这种方式设置存储还有其他优点吗?
我所看到的特定情况是作为数字运算服务器的临时数据卷,引导卷和根卷是完全位于不同存储设备上的传统分区。--
我遇到了几周前从未见过的东西:一个文件系统(我相信是ext3)安装到没有分区的存储设备上。本质上/dev/sdb
是整个文件系统。我知道许多文件系统可以扩展到空白空间,因此这样做可以扩展而无需处理LVM或其他类型的卷管理器,但是以这种方式设置存储还有其他优点吗?
我所看到的特定情况是作为数字运算服务器的临时数据卷,引导卷和根卷是完全位于不同存储设备上的传统分区。--
Answers:
优点:您不会在分区表上浪费一个磁盘扇区。(好极了。)
优点:磁盘可以在不支持PC样式分区的操作系统中使用。(就像您要使用一个一样。)
缺点:这很不寻常,可能会使合作系统管理员感到困惑。(看到?)
缺点:如果您安装另一个操作系统,它可能会认为该磁盘包含垃圾,并且可以通过选择错误的磁盘来轻松覆盖它,而操作系统通常会留下它们无法理解的分区。
无关紧要:如果直接在磁盘上,则扩展文件系统并不比在分区中扩展文件系统容易,反之亦然。(使用LVM会更容易。)
结论:可行,但这不是一个好主意。
不知道如何将其应用于Linux但使用本机ZFS,建议在整个磁盘而不是分区上创建池的原因之一是在前一种情况下可以启用磁盘写缓存。
这里还提到了其他几个原因:
http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide#Storage_Pools
结论:它可以工作,并且根据文件系统可能是一个好主意。
在虚拟环境中完成此操作后,我会看到真正的好处。由于我们的VMDK存储在我们的NAS上,因此我们可以动态地对其进行扩展。
如果使用分区,则要么需要使用LVM(及其相关的开销)并将分区链接在一起,要么需要关闭主机(或文件系统,如果不使用)以使用类似gparted的东西。
但是,如果使用整个磁盘而不是分区,则可以在SCSI磁盘上强制进行重新扫描,并使用resize2fs在文件系统处于联机状态(并在使用中)时增大文件系统。
在磁盘设备上放置文件系统而不创建任何分区的情况并不少见。
好处:
能够在原始设备上调整文件系统大小不是一个很好的理由。这样节省的空间无法用于其他用途。因此,您可以直接在整个设备上创建文件系统。
尚未列出的答案是,如果您不创建分区,则不必等待内核检测到分区(可能仅在重启后)。
一个用例可能是您添加到节点并希望在首次引导时进行初始化的EC2 EBS卷。
如果您的初始化过程创建了一个分区,则可能会导致必须重新引导内核才能看到新创建的分区。通常,您会看到以下消息:
错误:通知内核有关对分区/ dev / xvde1的修改的错误-设备或资源繁忙。这意味着Linux在重启之前不会知道您对/ dev / xvde1所做的任何更改-因此,在重启之前,您不应该挂载它或以任何方式使用它。
在这种情况下,您的初始化过程将必须执行重新引导,然后继续将文件系统添加到新创建的分区。
如果您知道只需要一个分区,则最好跳过该分区,这样就不会冒需要重启的风险。