22TB磁盘如何分区?

LVL*_*ron 33 partition

我有一个 22TB 的磁盘/dev/sdb。如何创建 22TB 分区?不要真正关心文件系统 -ext4或者zfs很好。

运行 CentOS 6.2 - 分区将用作数据转储。只有一个数据流,所以现在对什么文件系统挑剔/挑剔并不是真正的问题。该磁盘由 12x2TB 近线 SAS 驱动器和戴尔 Perc 控制器组成。

我只想要一个 22TB 的分区。

War*_*ung 44

最简单的解决方案是使用GPT 分区、64 位版本的 Linux 和XFS

  • GPT因为是必要MS-DOS样式MBR分区表通过创建fdisk被限制为2个的TiB磁盘。因此,您需要使用parted或另一个 GPT 感知分区程序而不是fdisk. (gdiskgparted等)

  • 64 位内核是必要的,因为 32 位内核将您限制为小于您要求的文件系统。您要么达到基于32 位整数的大小限制,要么最终无法寻址足够的 RAM 以正确支持文件系统。

  • XFS 不是唯一的解决方案,但在我看来,它是 RHEL 系统最简单的解决方案。

    您不能在 RHEL 6 中为此使用 ext4。尽管文件系统设计为支持 1 EiB 文件系统,但e2fsprogs在 RHEL 6 及其衍生版本中包含的版本中存在人为的 16 TiB 卷大小限制。Red HatCentOS在他们的文档中都提到了这一点。(ext4 16 TiB 限制在 RHEL 7 中显着提高到 50 TiB。)

    ZFS 在您的情况下可能不实用。由于它的一些法律和技术限制,我不能直接推荐它,除非您需要只有 ZFS 才能提供的东西。

    排除了您选择的两个文件系统后,我建议使用 XFS。它是 RHEL 7 中的默认文件系统,在所有 RHEL 6 版本中都可以作为受支持的文件系统使用,并在 RHEL 6 出现后向后移植到后来的 RHEL 5 版本。

这是过程:

  1. mkfs.xfs通过不带参数运行它来检查您是否已安装。如果它不存在,请安装 userland XFS 工具:

    # yum install xfsprogs
    
    Run Code Online (Sandbox Code Playgroud)

    如果失败,可能是因为您使用的是较旧的操作系统,它的默认包存储库中没有这个。你确实应该升级,但如果不可能,你可以从CentOSPlusEPEL 获得。您可能还需要安装该kmod_xfs软件包。

  2. 创建分区:

    因为你说你的 22 TiB 卷是 on /dev/sdb,命令parted是:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    
    Run Code Online (Sandbox Code Playgroud)

    这导致它使用单个分区接管整个卷。实际上,它忽略了卷的前 1 MiB,以实现从高级格式 HDDSSD获得全部性能所需的4 KiB 对齐

    您可以跳过此步骤并使用 XFS 格式化整个卷。也就是说,您将/dev/sdb在下面的示例中使用/dev/sdb1. 这避免了扇区对齐的问题。对于只有基于 Linux 的操作系统才能看到的卷,没有值得一提的缺点,但我警告不要在可移动卷或多引导计算机的内部卷上执行此操作,因为有些操作系统(例如 Windows 和 macOS)将在每次出现时为您格式化无分区硬盘。将文件系统放在一个分区上可以解决这个问题。

  3. 格式化分区:

    # mkfs.xfs -L somelabel /dev/sdb1
    
    Run Code Online (Sandbox Code Playgroud)
  4. 添加/etc/fstab条目:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
    Run Code Online (Sandbox Code Playgroud)
  5. 悬置起来!

     # mount /some/mount/point
    
    Run Code Online (Sandbox Code Playgroud)

如果你想沿着LVM路径走下去,上面的步骤基本上只是下面用户bsd回答中第二组命令的更详细版本。您必须在执行上述命令之前执行他的第一组命令。

LVM 以复杂性为代价提供了某些优势。例如,您可以稍后通过向 LVM 卷组添加更多物理卷来“增长”它,从而腾出空间来增长逻辑卷(“分区”有点像,sorta),这反过来又让您可以在逻辑卷上增长文件系统体积。(明白我对复杂性的意思吗?:))

  • ZFS 部分是有争议的。Linux 移植自 2010 年以来取得了长足的进步,与 XFS 相比,它具有许多优势 (4认同)

bsd*_*bsd 16

就像其他建议的替代方案一样。
您根本不必对磁盘进行分区。
你可以简单的创建一个卷组,与一个或多个逻辑卷

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data
Run Code Online (Sandbox Code Playgroud)

现在您有一个逻辑卷,您可以使用您希望的任何文件系统类型对其进行格式化。

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt
Run Code Online (Sandbox Code Playgroud)

  • 没有 LV 添加用于实时数据快照、可调整大小、多份元数据副本的工具;比设备上的简单 fs 灵活得多。 (4认同)
  • 即使您只有一个 LV,LVM 的一个优势是它可以让您在以后轻松添加存储。 (3认同)

Nik*_*ley 6

问题的问题:您问了“如何对22TB 磁盘进行分区”,然后再次在问题中说,您只想要一个 22TB 的分区。所以这首先是模棱两可的。

如果您已经有一个可以支持 22TB 空间的块设备,那么您已经拥有整个 22TB 分区。您所需要的只是一个位于其之上的文件系统,这将使设备可挂载并可用于系统进程的读/写。更重要的是,您需要有一个在 64 位模式下运行的 Linux 内核,其文件系统模块/驱动程序支持并扩展到 22TB 的数据增长,可以处理管理(单个)块设备上的数据的来龙去脉舒适。性能完全是它的另一个维度。在这种情况下,我会选择XFS作为我的文件系统,因为它是一个 64 位文件系统并且能够处理高达 100 万兆字节的文件系统。它最多支持 9 EXABYTES。

2^63  = 9 x 1018 = 9 exabytes 
Run Code Online (Sandbox Code Playgroud)

有关 XFS 的更多详细信息:http : //oss.sgi.com/projects/xfs/

如果您正在寻找对巨大的 22TB 块设备进行进一步分区,请使用gparted将设备拆分为可用分区,然后使用文件系统对其进行格式化以使其可安装。

似乎您有硬件 RAID 控制器,因为您提到您有 DELL perc RAID 控制器——这意味着,您必须说明哪种 RAID 配置(您使用的是哪种 RAID 级别?),并且在大多数情况下,您不会获得完整的 22TB 空间供使用,不过我可能是错的。