я должен поместить мою файловую систему btrfs с несколькими устройствами на разделы диска или на сырые устройства?


17

Если я собираюсь создать файловую систему btrfs с несколькими устройствами . Официальная рекомендация из документации, по-видимому, заключается в том, чтобы создать ее на сырых устройствах; то есть /dev/sdb, /dev/sdcи т.д., но это не объясняется.

Существуют ли какие - либо преимущества для создания таблицы разделов на этих устройствах первого, либо GPT или MBR, а затем создать файловую систему на /dev/sdb1, /dev/sdc1и так далее? Есть ли у целых устройств btrfs какое-то конкретное преимущество, или они в основном эквивалентны?

Ответы:


7

Разбиение - это просто способ разбить диск на несколько томов, которые можно использовать независимо. Если вам нужен только один том на диск, разделение ничего не покупает - оно просто удаляет некоторое дисковое пространство (да, оно очень маленькое) и усложняет такие вещи, как выравнивание данных на жестких дисках с секторами 4K или флэш-накопителями. Единственная другая причина иметь таблицу разделов для загрузки с этого диска. Если нет никакой причины иметь таблицу разделов, проще просто ее опустить.


3

Есть несколько недостатков разбиения. MBR тратит впустую целый "след". Дорожка - это число секторов, умноженное на размер сектора, но реальный диск имеет сектора и размер сектора не равен 512o. Настоящий диск имеет блоки, которые в 8 раз больше для вращающегося диска и намного больше для флэш-устройств. Этот переход к следующей дорожке может сделать невозможным выравнивание «логических» секторов с фактическими блоками с использованием шага и полосы.

В старые времена вы могли определить размер сектора в FAT, но MBR положил этому конец.

Если вы загружаетесь с диска, BIOS требует загрузочную подпись в конце первых 512o, чтобы он знал, что может выполнить это при загрузке. Если вы работаете EFI напиться. Файловая система должна иметь отверстие для этого, если она будет использоваться для загрузки системы.

В XFS (в основном используется на / var на вращающихся дисках) такого отверстия нет.


1
Я немного смущен; не будет ли "(общее) число секторов, умноженное на размер сектора" всем диском, если диск состоит из секторов? Или подразумевается что-то кроме «общего»?
Символ

1

Если я правильно понимаю, использование целых дисков позволит BTRFS сделать некоторые предположения, которые позволяют некоторую оптимизацию поведения.

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


То, что вы описываете, называется реальностью дискового ввода-вывода в целом, а не чем-то специфичным для файловой системы. Что конкретно вы видели в btrfs, который оптимизирует или планирует ввод-вывод по-разному в зависимости от того, существует ли таблица разделов?
Брайан Клайн

Файловая система этого не делает. ОС делает это, если указанное поведение подходит. Мое использование «этого» было, вероятно, двусмысленным и / или частично совпадающим и / или исключающим друг друга.
убийца

0

Используйте отдельные диски, чтобы получить преимущество в скорости чтения / сохранения диска.

По сути, /dev/sdaэто один жесткий диск, и /dev/sda1, /dev/sda2являются частями одного и того же физического диска.

если вы используете /dev/sda+ /dev/sdbдля своей настройки, у вас есть два отдельных диска, которые можно одновременно извлечь.

если вы используете его, /dev/sda1 /dev/sda2вы получите один и тот же диск, пытаясь прочитать оба, и поэтому он должен сделать один, а затем другой.


1
Если вы говорите, что использование sdaбыстрее, чем sda1, откуда это преимущество в скорости?
grawity

преимущество в скорости обеспечивается параллельным аппаратным хранением и извлечением ваших данных, а не одним и тем же аппаратным обеспечением, пытающимся перейти в несколько мест на одном диске
Jharwood

Не было никакого упоминания о нескольких местах или нескольких разделах. Речь идет об одном разделе, охватывающем весь диск.
grawity

Ах, извините, я неправильно понял вопрос.
Jharwood

0

Со всеми этими 4K секторами дисков вы можете использовать разбиение для выравнивания вашей файловой системы. Просто запустите fdisk с помощью:

fdisk -H 224 -S 56

и создать один раздел, охватывающий все устройство.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.