我有一个22TB的磁盘/dev/sdb
。如何创建22TB分区?不太在乎文件系统- ext4
还是zfs
很好。
运行CentOS 6.2-分区将用作数据转储。现在只需要单个数据流,因此对什么文件系统进行挑剔/选择就不再是真正的问题了。该磁盘由12x2TB近线SAS驱动器和Dell Perc控制器组成。
我只想要一个22TB的分区。
fdisk
,cfdisk
?
我有一个22TB的磁盘/dev/sdb
。如何创建22TB分区?不太在乎文件系统- ext4
还是zfs
很好。
运行CentOS 6.2-分区将用作数据转储。现在只需要单个数据流,因此对什么文件系统进行挑剔/选择就不再是真正的问题了。该磁盘由12x2TB近线SAS驱动器和Dell Perc控制器组成。
我只想要一个22TB的分区。
fdisk
,cfdisk
?
Answers:
最简单的解决方案是使用GPT分区,Linux的64位版本和XFS:
GPT因为是必要MS-DOS样式MBR分区表通过创建fdisk
被限制为2个的TiB磁盘。因此,您需要使用parted
或其他支持GPT的分区程序来代替fdisk
。(gdisk
,gparted
等)
64位内核是必需的,因为32位内核会将您限制为比您要求的文件系统小的文件系统。您要么达到了基于32位整数的大小限制,要么最终无法寻址足够的RAM以正确支持文件系统。
XFS不是唯一的解决方案,但我认为它是RHEL系统最简单的解决方案。
您不能在RHEL 6中为此使用ext4。尽管文件系统旨在支持1个EiB文件系统,但e2fsprogs
RHEL 6及其衍生版本中包含的版本有16 TiB的人为限制。这两种红帽和CentOS的在他们的文档调用了这一点。(RHEL 7中将 ext4 16 TiB限制大大提高到50 TiB。)
ZFS可能不适用于您的情况。由于它的几个法律和技术限制,除非您仅需要ZFS所提供的功能,否则我不能直接推荐它。
在排除了您选择的两个文件系统之后,我建议使用XFS。它是RHEL 7中的默认文件系统,在所有RHEL 6版本中都可以作为受支持的文件系统使用,并且在RHEL 6发行后被反向移植到更高的RHEL 5版本中。
过程如下:
mkfs.xfs
通过不带参数运行来检查是否已安装。如果不存在,请安装userland XFS工具:
# yum install xfsprogs
如果失败,那可能是因为您使用的是旧版操作系统,而该操作系统的默认软件包存储库中没有此功能。您确实应该进行升级,但是,如果那不可能,您可以从CentOSPlus或EPEL获得它。您可能还需要安装该kmod_xfs
软件包。
创建分区:
由于您说的是22 TiB卷已打开/dev/sdb
,因此命令parted
如下:
# parted /dev/sdb mklabel gpt
# parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
这导致它用单个分区接管整个卷。实际上,它忽略了卷的前1 MiB,以实现从Advanced Format HDD和SSD获得完整性能所需的4 KiB对齐。
您可以跳过此步骤,并使用XFS格式化整个卷。也就是说,您将/dev/sdb
在下面的示例中使用而不是/dev/sdb1
。这避免了扇区对齐的问题。对于只有基于Linux的操作系统才能看到的卷,没有值得一提的缺点,但是我提醒您不要在可移动卷或多启动计算机的内部卷上执行此操作。操作系统(例如Windows和macOS)将在每次出现时为您格式化无分区硬盘。将文件系统放在分区上可以解决此问题。
格式化分区:
# mkfs.xfs -L somelabel /dev/sdb1
添加/etc/fstab
条目:
LABEL=somelabel /some/mount/point xfs defaults 0 0
悬置起来!
# mount /some/mount/point
如果您想沿用LVM路径,上述步骤基本上只是下面用户bsd
答案中第二组命令的更详细版本。您必须在执行上述命令之前先执行他的第一组命令。
LVM以复杂性成本提供某些优势。例如,您以后可以通过向其添加更多物理卷来“增长”一个LVM卷组,从而为逻辑卷(“ partition” kinda,sorta)的扩展留出空间,这又使您可以增长逻辑卷上的文件系统。体积。(明白我对复杂性的意思吗?
/boot
是的一部分/
?MBR /
只需要安装一个小的/boot
权限就不必在乎它有多大?我可能是错的。
/boot
与MBR的限制无关。如果需要超过2 TB的分区,则不能使用MBR分区。这是真实的,但是,它可以通过把从GPT解决缺乏BIOS支持启动/boot
一个小的MBR分区的磁盘上。内核启动后,您不必担心BIOS的限制,因为它知道如何解释GPT分区表。如果您的计算机是基于EFI的,则无需进行此操作,因为EFI理解GPT。
作为其他建议的替代。
您根本不需要对磁盘进行分区。
您可以简单地创建一个卷组,与一个或多个逻辑卷。
pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data
现在,您可以使用所需的任何文件系统类型格式化逻辑卷。
mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt
问题的问题:您问“答案如何对 22TB磁盘进行分区',然后在问题中再次说,您只想要22TB分区。因此,这首先是歧义。
如果您已经有一个可以支持22 TB空间的单个块设备,那么您已经拥有了整个22 TB分区。您只需要在其之上的文件系统,该文件系统将使该设备可安装并且可用于系统进程的读取/写入。更重要的是,您需要使Linux内核以64位模式运行,并具有文件系统模块/驱动程序,该文件系统模块/驱动程序支持并扩展到22TB的数据增长,可以处理使用(单个)块设备管理数据的来龙去脉。缓解。性能完全是另一个维度。在这种情况下,我会选择XFS
作为我的文件系统,因为它是64位文件系统,并且能够处理高达一百万兆字节的文件系统。它最多支持9个EXABYTES。
2^63 = 9 x 1018 = 9 exabytes
有关XFS的更多详细信息: http //oss.sgi.com/projects/xfs/
如果您正在寻找对大型22TB块设备进行进一步分区的方法,请使用 gparted
将设备拆分为可用的分区,然后使用文件系统对其进行格式化以使其可安装。
似乎您已经有了硬件RAID控制器,因为您提到已经拥有DELL perc RAID控制器-这意味着,您必须知道哪种RAID配置(确切地说是使用哪种RAID级别?),并且在大多数情况下,您不会获得完整的22TB可用空间,但是我可能是错的。
使用ZFS时不需要任何分区,只需在22 TB设备上创建ZFS池,并在其中创建文件系统即可(如果您不想使用默认值即可)。如果出于某种原因,zpool不支持使用整个磁盘,请首先使用内部可用空间创建一个EFI标签和一个分区,然后使用该分区创建池。
出于多种原因,我不建议在大型文件系统中使用ZFS。最明显的是,如果您断电了(例如:内核恐慌或电源不足),fsck可能会花费很长的时间来恢复传统文件系统。另一方面,ZFS不需要fsck,因此将立即导入池。
请注意,最好打破硬件RAID配置,并使用十二个设备作为JBOD来利用其软件RAID功能来构建ZFS池。如果目标是性能,则可以镜像磁盘对,如果目标是最大化空间,则可以使用RAIDZ,RAIDZ2或RAIDZ3配置。这样做将大大提高数据的可靠性和解决方案的容错能力。
我不确定使用标准分区表当前是否可以实现。在标准分区表方案中,卷限制为2 32个扇区。每个扇区512字节,您只需用尽数字即可分配给大约2TB的扇区。
但是,如果使用GUID分区表而不是标准分区表,则应该能够执行此操作。GUID分区表允许卷扩展到Zettabyte范围。大多数Linux发行版都可以从GUID卷启动,但是目前没有Windows版本(EFI上的Windows 7除外)。
某些工具(例如fdisk)不能与GUID卷一起使用,但是其他工具(例如GParted)则可以。一旦创建了GUID分区表,就应该能够使用支持该大小的卷(例如EXT4)的几种常见文件系统之一来创建卷。
对于您的分区表,就像在其他地方提到的那样,GPT是一个很好的选择,因为它支持最大9.4 ZiB的分区(9.4×10 21字节)的,这远远超出了22 TiB所需要的任何。
对于您的文件系统,在Linux上BTRFS是一个出色的写时复制文件系统:
它在功能上类似于ZFS,但它是主线Linux内核的一部分。
如果您不打算寻找冗余或备份能力,则可以执行以下操作:
mkfs -t ext4 /dev/sdb
mkfs
指定文件系统的位置
reiserfs
,ext3
因此,如果ext4
声称最大卷为16 EB,我看不出22TB无法正常工作的任何理由。