无法安装 18TB raid 6

无法安装 18TB raid 6

当我尝试在 Ubuntu Linux 上安装 raid 6 时收到以下错误

mount /dev/md3 /mnt/md3
mount:文件太大

我有另一个现有的 raid 1(仅 2TB)并且运行良好。有什么想法吗?

当我尝试

./mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/md3

我收到以下输出

mke2fs 1.43-WIP (22-Sep-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
274700288 inodes, 4395201024 blocks
219760051 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2248146944
134131 block groups
32768 blocks per group, 32768 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544, 1934917632,
        2560000000, 3855122432

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

当我尝试安装时仍然收到以下错误

安装:文件太大

dmesg 的错误

EXT4-fs (md3): filesystem too large to mount safely on this system

答案1

这是您当前版本的 e2fsprogs 的问题,它包含在 mke2fs 中。版本 1.41 及更低版本在操作大于 16TB 的卷时会出错。

也就是说,解决这个问题的方法是编译当前的分支e2fsprogs从 Linux 内核存储库并使用这些工具创建文件系统(截至撰写本文时,将安装 1.43-WIP 22-Sep-2012)。

笔记这些是开发工具并且可能不是完全稳定的。此外,需要安装“git”、“gcc”(或其他 C 编译器)和“make”才能构建工具。

[root@gauss ~] git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
[root@gauss ~]# cd e2fsprogs
[root@gauss e2fsprogs]# mkdir build ; cd build/
[root@gauss build]# ../configure
[root@gauss build]# make
[root@gauss build]# make install
[root@gauss misc]# cd misc
[root@gauss misc]# ./mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/md3

此外,Ronny Egners 博客对于在大型文件系统中使用 e2fsprogs 正在进行的分支有一些有用的见解。

答案2

32 位内核限制为 16 TiB,因为页面缓存条目索引只有 32 位。

这是内核限制,而不是文件系统限制!

一些文件系统也受设计限制,为 32 位(或更低)。一些文件系统也受其实用程序限制(例如:mkfs、fsck)。另请注意,在非常大的文件系统上运行 fsck 可能需要大量 RAM(取决于文件系统和实用程序)。

要使用 >16 TiB 的文件系统,您必须使用 64 位内核和支持 >16 TiB 的文件系统(例如:EXT4、JFS、XFS)。

请注意,在 32 位系统上创建的 EXT4 文件系统即使在 64 位系统上也无法调整大小超过 16 TiB。必须在 64 位系统上创建 EXT4 文件系统,以便获得“64 位”功能标志和扩大的 inode。

您可以使用 LVM2 在大型设备上创建多个卷。使用较大的区段大小(例如 64 MiB 或更大),以便区段数量可以保持在较低水平。您无需对仅包含数据的设备进行分区;您可以将整个设备格式化为 LVM2 物理卷 (PV)。

您只需要对启动设备进行分区,因为 BIOS 无法理解 LVM2,BIOS 需要查找和加载引导程序。您可以使用 MSDOS 或 GPT(或其他)对较小的启动设备进行分区。

示例:我有一台服务器,其中有 2 个 64 GB SSD 用于操作系统(一个用于当前操作系统,一个用于升级时的新操作系统),以及 10 个 4 TB 驱动器,这些驱动器格式化为单个 LVM2 物理卷,并包含单个 EXT4 文件系统。这些驱动器位于执行 RAID-6 的 RAID 控制器卡上,但这也可以由内核以软件方式完成,性能会略有下降。

相关内容