Если я собираюсь создатьфайловая система btrfs для нескольких устройств. Официальная рекомендация из документации, по-видимому, заключается в создании его на сырых устройствах; т. е /dev/sdb
. , /dev/sdc
, и т. д., но это не объясняется.
Есть ли какие-либо преимущества в создании таблицы разделов на этих устройствах сначала, GPT или MBR, а затем в создании файловой системы на /dev/sdb1
и /dev/sdc1
т. д.? Имеет ли скармливание btrfs целых устройств какие-либо особые преимущества или они в принципе эквивалентны?
решение1
Разделение — это всего лишь способ разбить диск на несколько томов, которые можно использовать независимо. Если вам нужен только один том на диск, разбиение на разделы ничего вам не даст — оно просто займет немного дополнительного дискового пространства (да, оно очень маленькое) и усложнит такие вещи, как выравнивание данных на жестких дисках с секторами 4 КБ или флэш-накопителях. Единственная другая причина иметь таблицу разделов — загрузка с этого диска. Если нет причин иметь таблицу разделов, проще просто не использовать ее.
решение2
У разбиения на разделы есть ряд недостатков. MBR тратит впустую целый "трек". Трек — это количество секторов, умноженное на размер сектора, но у настоящего диска есть секторы, а размер сектора не равен 512o. У настоящего диска есть блоки, которые в 8 раз больше для вращающегося диска и намного больше для флэш-устройств. Этот переход на следующую дорожку может сделать невозможным выравнивание "логических" секторов с фактическими блоками с помощью шага и полосы.
Раньше можно было определить размер сектора в FAT, но MBR положил этому конец.
Если вы загружаетесь с диска, то BIOS нужна подпись загрузки в конце первых 512o, чтобы знать, что он может запустить это при загрузке. Если вы используете EFI, то напейтесь. Файловая система должна иметь дыру для этого, если она будет использоваться для загрузки системы.
XFS (в основном используется в /var на вращающихся дисках) не имеет такого отверстия.
решение3
Если я правильно понимаю, использование целых дисков позволит BTRFS сделать некоторые предположения, которые позволят оптимизировать поведение.
Например, если предоставить ему полные устройства для работы, он может предположить, что у него не возникнет проблем с доступом к устройству, и он может адаптировать свои методы доступа вместо того, чтобы периодически ожидать задержек из-за того, что что-то еще запрашивает данные откуда-то еще на устройстве, и ждать, пока диск вернется к нему после обработки другого запроса.
решение4
Используйте отдельные диски, чтобы получить преимущества в скорости чтения/сохранения данных на диске.
По сути, /dev/sda
это один жесткий диск, а /dev/sda1
, /dev/sda2
являются частями одного и того же физического диска.
если вы используете /dev/sda
, + /dev/sdb
для своей настройки, у вас есть два отдельных диска, которые могут извлекаться одновременно.
если вы используете /dev/sda1
/dev/sda2
, то вы получаете один и тот же диск, пытающийся прочитать оба, и поэтому ему приходится делать одно, а затем другое.