Как разделить диск на 22 ТБ?


33

У меня есть диск на 22 ТБ /dev/sdb. Как создать раздел размером 22 ТБ? Не особо заботится о файловой системе - ext4или zfsвсе в порядке.

Запуск CentOS 6.2 - Раздел будет использоваться как дамп данных. Только один поток данных, так что разборчивость в выборе файловой системы сейчас не представляет особой проблемы. Диск состоит из дисков SAS емкостью 12x2 ТБ и контроллера Dell Perc.

Я просто хочу раздел 22TB.


1
еще несколько частей информации будут полезны. какую ОС вы используете? Какую производительность вы ожидаете или должны получить от нее? что лежит в основе аппаратного обеспечения? это уже рейдовый набор? есть ли у него избыточность? вам нужны дополнительные функции защиты данных zfs?
Тим Кеннеди

3
Какие попытки провалились до сих пор? fdisk, cfdisk?
Нильс

Ответы:


44

Самое простое решение - использовать GPT-разделение , 64-разрядную версию Linux и XFS :

  • GPT необходим, поскольку создаваемая таблица разделов MBR в стиле MS-DOSfdisk ограничена двумя дисками TiB. Таким образом, вам нужно использовать partedили другую программу разметки с поддержкой GPT вместо fdisk. ( gdisk, gpartedИ т.д.)

  • 64-битное ядро ​​необходимо, потому что 32-битные ядра ограничивают вас файловыми системами меньшего размера, чем вы просите. Вы либо достигаете предела размера, основанного на 32-разрядных целых числах, либо заканчиваете тем, что не можете адресовать достаточно ОЗУ для правильной поддержки файловой системы.

  • XFS - не единственное решение, но, на мой взгляд, оно самое простое для систем RHEL.

    Вы не можете использовать ext4 для этого в RHEL 6. Хотя файловая система была разработана для поддержки файловых систем 1 EiB , в версии, e2fsprogsвключенной в RHEL 6 и ее производных , существует искусственный предел размера в 16 ТиБ . И Red Hat, и CentOS называют это в своих документах. (Предел ext4 16 TiB был значительно повышен в RHEL 7 до 50 TiB.)

    ZFS не может быть практичным в вашей ситуации . Из-за нескольких юридических и технических ограничений я не могу рекомендовать это, если вам не нужно что-то, что дает только ZFS.

    Исключив две выбранные вами файловые системы, я предлагаю XFS. Это файловая система по умолчанию в RHEL 7, она была доступна как поддерживаемая файловая система во всех версиях RHEL 6 и была перенесена в более поздние версии RHEL 5 после выхода RHEL 6.

Вот процесс:

  1. Проверьте, mkfs.xfsустановили ли вы, запустив его без аргументов. Если его нет, установите пользовательские инструменты XFS:

    # yum install xfsprogs
    

    Если это не помогло, возможно, это из-за того, что вы работаете на более старой ОС, у которой этого нет в репозитории пакетов по умолчанию. Вы действительно должны обновить, но если это невозможно, вы можете получить это в CentOSPlus или EPEL . Вам также может понадобиться установить kmod_xfsпакет.

  2. Создайте раздел:

    Поскольку вы говорите, что у вас 22 тома TiB /dev/sdb, команды для parted:

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    Это приводит к тому, что он занимает весь том с одним разделом. На самом деле, он игнорирует первые 1 МБ тома для достижения выравнивания 4 КБ, необходимого для получения полной производительности от жестких дисков и твердотельных накопителей Advanced Format .

    Вы можете пропустить этот шаг и отформатировать весь том в XFS. То есть вы бы использовали /dev/sdbв приведенном ниже примере вместо /dev/sdb1. Это позволяет избежать проблемы выравнивания секторов. В случае тома, который увидит только ваша ОС на базе Linux, о минусах не стоит говорить, но я бы предостерег от этого на съемном или на внутреннем томе в мультизагрузочном компьютере, так как некоторые Операционные системы (например, Windows и MacOS) предложат форматировать жесткий диск без разделов каждый раз, когда он появляется. Помещение файловой системы в раздел решает это.

  3. Отформатируйте раздел:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Добавьте /etc/fstabзапись:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Подняться!

     # mount /some/mount/point
    

Если вы хотите идти вниз по LVM путь, вышеуказанные шаги в основном только более подробно вариант второго набора команд пользователя bsd«s ответ ниже . Вы должны выполнить его первый набор команд, прежде чем те, что указаны выше.

LVM предлагает определенные преимущества по цене сложности. Например, позже вы можете «увеличить» группу томов LVM, добавив в нее больше физических томов, тем самым освободив место для увеличения логического тома («section» своего рода, sorta), что, в свою очередь, позволит вам расширить файловую систему, живущую на логическом томе. объем. (Видите, что я имею в виду под сложностью? :))


4
Часть ZFS является дискуссионной. С 2010 года порт Linux прошел долгий путь, и по сравнению с XFS он имеет много преимуществ
TheLQ

Что касается GPT / MBR, разве это не применимо, только если /bootявляется частью /? MBR не должно заботиться о том, насколько он велик /, если ему нужно только установить небольшое /bootправо? Я могу ошибаться.
Jonescb

1
@jonescb: расположение /bootне имеет никакого отношения к ограничениям MBR. Если вам нужен раздел размером более 2 ТБ, вы не можете использовать MBR-разделение. Это является правдой, однако, что можно обойти отсутствие поддержки BIOS для загрузки с GPT, поставив /bootна меньшем MBR-диск содержит разделы. После запуска ядра вам не нужно беспокоиться об ограничениях BIOS, потому что он знает, как интерпретировать таблицу разделов GPT. Если ваша машина основана на EFI, вам не нужно заниматься этим танцем, потому что EFI понимает GPT.
Уоррен Янг

16

Так же, как альтернатива другим предложениям.
Вам не нужно разбивать диск вообще.
Вы можете просто создать группу томов с одним или несколькими логическими томами .

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

LVM - это в основном продвинутая форма разбиения. Не имеет смысла использовать LVM, если вы просто собираетесь создать один LV, используя все пространство, так что вы можете просто использовать mkfs непосредственно на всем дисковом устройстве.
Псуси

4
нет инструментов добавления LV для моментальных снимков живых данных, изменения размера, множественных копий метаданных; гораздо более гибкий, чем простой фс на устройстве.
BSD

1
Вам не нужно несколько копий метаданных, если у вас нет метаданных (таблицы разделов). Для моментальных снимков требуется свободное место, равно как и для добавления / расширения томов, и поэтому они оказываются бессмысленными, если вы просто создаете один логический том, используя все пространство сразу. Если вам нужны функции LVM, то вам следует начать с меньшего объема, чтобы у вас было достаточно свободного места для дальнейшего использования.
psusi

Я не рекомендовал LVM в этом случае, просто перечислив его в качестве альтернативы «другим» разделительным, неразделенным ответам / решениям. Она должна прочитать все ответы, продолжить свое собственное исследование и затем решить, какой курс действий лучше всего соответствует ее потребностям.
BSD

3
Одно из преимуществ LVM, даже если у вас есть только один LV, - это возможность легко добавить хранилище позже.
plugwash

6

Вопрос к вопросу: Вы спросили « как разбить диск на 22 ТБ», а затем снова в вопросе, вы сказали, что вы просто хотели раздел на 22 ТБ. Так что это двусмысленность на первом месте.

Если у вас уже есть одно блочное устройство, которое может поддерживать на нем 22 ТБ свободного места, то у вас уже есть весь раздел размером 22 ТБ. Все, что вам нужно, это файловая система поверх нее, которая сделает устройство монтируемым и пригодным для чтения / записи системными процессами. Более того, вам нужно иметь ядро ​​Linux, работающее в 64-битном режиме с модулем / драйвером файловой системы, который поддерживает и масштабируется до 22 ТБ прироста данных, может обрабатывать входы и выходы управления данными на (одном) блочном устройстве с помощью легкость. Производительность - это совсем другое измерение. В таком случае я бы выбрал в XFSкачестве своей файловой системы, потому что это 64-разрядная файловая система, способная обрабатывать файловые системы размером до миллиона терабайт. Он поддерживает до 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Для получения дополнительной информации о XFS: http://oss.sgi.com/projects/xfs/

Если вы ищете дальнейшее разбиение огромного блочного устройства на 22 ТБ, используйте gpartedразделение устройства на пригодные для использования разделы, а затем отформатируйте их с помощью файловых систем, чтобы сделать их монтируемыми.

Кажется, у вас есть аппаратный RAID-контроллер, так как вы упоминаете, что у вас есть DELL Perc RAID-контроллер - что будет означать, что вы должны указать, какую конфигурацию RAID (какой именно уровень RAID вы используете?) И в большинстве случаев, вы не собираетесь получить полные 22 ТБ места для использования, хотя я могу ошибаться.


Я собирался также предложить xfs, но xfs_check потребует большого объема памяти и долгого времени для запуска с / 22G fs. Между физическим и обменом нужно было бы по крайней мере 32G, чтобы проверить, то есть, если он когда-нибудь захочет проверить fs на «datadump» (что бы это ни было;)
BSD

@ bdowning, вы можете исправить это до 22T фс :)
Nikhil Mulley

Это Raid 5. 22TB. У меня много дисков :)
LVLAaron

Это была опечатка (мозг пердеть). У меня такое же устройство, 10 ТБ, с LSI Megaraid (такая же карта, как у Dell Perc)
bsd

@bdowning: xfs_checkдействительно использует много памяти, но страница справочника (8) упоминает: « Обратите внимание, что использование xfs_checkНЕ рекомендуется. Используйте xfs_repair -nвместо этого для лучшей масштабируемости и скорости ».
Кристиан Чиупиту

4

Вам не нужно создавать разделы при использовании ZFS, просто создайте пул ZFS на вашем устройстве объемом 22 ТБ и файловую систему на нем, если вы не хотите использовать стандартный по умолчанию, и все. Если по какой-либо причине zpool не поддерживает использование всего диска, сначала создайте метку EFI и раздел, используя все пространство, доступное внутри, а затем используйте этот раздел для создания пула.

По нескольким причинам я бы не рекомендовал использовать ничего, кроме ZFS, для такой большой файловой системы. Наиболее очевидным является то, что если у вас жесткое отключение питания (например, паника ядра или нехватка питания), fsck может потребоваться много времени для восстановления традиционных файловых систем. ZFS, с другой стороны, не нуждается в fsck, поэтому импортирует пул мгновенно.

Обратите внимание, что вам лучше нарушить конфигурацию аппаратного RAID и использовать двенадцать устройств в качестве JBOD для создания пула ZFS с использованием преимуществ его программных возможностей RAID. Если ваша цель - производительность, вы можете зеркалировать пары дисков, а если ваша цель - максимизировать пространство, вы можете использовать конфигурацию RAIDZ, RAIDZ2 или RAIDZ3. Это значительно повысит надежность ваших данных и отказоустойчивость решения.


1
Я знаю, что это старый ответ на старый вопрос, но .... если вы используете ZFS, лучшим вариантом будет уничтожить RAID-массив, настроить RAID-контроллер для JBOD так, чтобы linux видел каждый отдельный диск, а затем создавать зеркальные пары (меньшая емкость, отличная производительность) или RAIDZ / Z2 / Z3 (большая емкость, низкая производительность) с отдельных дисков. Вы теряете большую часть преимуществ ZFS, если размещаете его поверх существующего RAID, а не позволяете обрабатывать сами диски. То же относится и к btrfs.
cas

@cas Вы определенно правы, ответ обновлен. Я сосредоточился на вопросе OP, хотя «как разбить диск на 22 ТБ», а не «что бы вы посоветовали делать с моей конфигурацией диска».
Jlliagre

3

Я не уверен, что в настоящее время это возможно при использовании стандартной таблицы разделов. В стандартной схеме таблицы разделов объемы ограничены 2 32 секторами. С 512 байтами на сектор вы просто исчерпали бы номера, чтобы назначить секторам около 2 ТБ.

Однако вы должны быть в состоянии сделать это, если вы используете таблицу разделов GUID вместо стандартной. Таблицы разделов GUID позволяют расширять тома до диапазона зетабайт. Большинство дистрибутивов Linux являются загрузочными с тома GUID, однако ни одна из версий Windows (кроме Windows 7 на EFI) в настоящее время отсутствует.

Некоторые инструменты, такие как fdisk, не могут работать с томами GUID, однако другие инструменты, такие как GParted, могут. Создав таблицу разделов GUID, вы сможете создать том, используя одну из нескольких распространенных файловых систем, поддерживающих том такого размера (например, EXT4).


На 32-битной системе может быть. Мне удалось создать раздел размером 3,5 ТБ на 64-битном сервере Ubuntu, поддерживаемом в версии 8.04 и выше. Говоря о cyberciti.biz/tips/…
Карлсон

Насколько мне известно, вам даже может не понадобиться таблица разделов для установки файловой системы на жесткий диск. Плюс согласно ОП, это не загрузочный диск, а большое пространство для дампа.
Карлсон

3

Для вашей таблицы разделов, как упоминалось в другом месте, GPT является отличным вариантом, поскольку он поддерживает разделы размером до 9,4 ZiB (9,4 × 10 21 байт), что намного больше того, что вам нужно с 22 TiB.

Для вашей файловой системы в Linux BTRFS является отличной файловой системой для копирования при записи:

  1. Его атрибут copy-on-write означает, что двойной файл не сохраняется дважды.
  2. Он обеспечивает сжатие «на лету», поэтому ваши данные проходят через LZO или GZip перед записью на диск и чтением с диска, что экономит место на физическом диске.
  3. Он поддерживает избыточность в конфигурациях RAID-1, RAID-10, RAID-5 и RAID-6 без дополнительных затрат.
  4. Он также поддерживает RAID-0, если скорость имеет существенное значение.
  5. Он также имеет подобъемы, снимки и многое другое.
  6. Почти все задачи с файловой системой выполняются в режиме онлайн , поэтому вам обычно не нужно размонтировать файловую систему, чтобы что-то исправить.

По функциям он похож на ZFS, но является частью основного ядра Linux.


Часто задаваемые вопросы BTRFS предупреждают против использования его функции RAID четности, за исключением тестирования и разработки Он знает ошибки, которые могут съесть вашу файловую систему. Больше информации по ссылке.
Уоррен Янг

1

Если вы не ищете избыточности или возможности ее резервного копирования, вы можете:

mkfs -t ext4 /dev/sdb

4
Ты пробовал это? Я изменил, mkfsчтобы указать файловую систему
Карлсон

1
@AaronJAnderson объяснение поможет.
n0pe

Эта команда не будет работать, если устройство превышает 2
ТБ

1
@AaronJAnderson Я создал том объемом 3,5 ТБ, reiserfsи ext3поэтому, если заявлено, что он ext4имеет максимальный размер тома в 16 эксабайт, я не вижу причин, по которым 22 ТБ не будут работать.
Карлсон

1
версия e2fsutils, которая поставляется с этой версией linux (и большинство других на данный момент не поддерживают более 16 ТБ)
LVLAaron
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.