我刚刚“继承”了一个由一堆使用 iSCSI 设备的 Linux 服务器(运行 Ubuntu,但可能并不重要)组成的系统。当您使用 iscsiadm 命令登录时,这些设备显示为 /dev/sdb、/dev/sdc 等。
但是,我以前从未在这些设备上格式化文件系统,尽管我听说过。文件系统(在本例中为 ext4)已直接在其上格式化,因此可能发出了 mkfs /dev/sdb 命令。过去,我总是使用 fdisk 或 parted、/dev/sdb1 等在设备上创建分区,并在分区上格式化文件系统。
有人见过在未分区的设备上直接格式化文件系统吗?你会推荐这样做吗?有什么理由强烈反对这样做吗?
谢谢,
答案1
在底层块设备代表物理磁盘以外的其他东西,并且可以轻松创建新设备或调整现有设备大小的环境中,直接格式化设备非常常见。您通常会在 iSCSI 或光纤磁盘以及 LVM 逻辑卷中看到这种情况。
通常会有大量坏处对此类设备进行分区,因为有了分区图,调整存储大小不再是一项简单的操作。如果文件系统覆盖整个设备,则只需使用管理工具调整设备大小,然后使用例如调整文件系统大小即可resize2fs
。
如果您在设备上放置分区图,则调整底层存储的大小并不会转化为更多空间,直到您更新分区图为止 - 这可能涉及在磁盘上物理地移动数据,这非常耗时。
所以您所看到的是完全标准的,并且通常是处理此类设备的最佳方式。
答案2
我也见过这种情况,但无论如何我更倾向于对设备进行分区。我认为这不是 LVM 之外的标准做法。为了一致性和可预测性,使用普通分区没有问题。我能想到几个应用程序无法很好地处理原始设备(例如 /dev/sdb)与设备分区。