Оптимизация логического размера сектора для физического размера сектора 4 096 жестких дисков

Используйте этот сценарий

Затем установите свой crontab для корня как это:

0 8 * * * service minecraft stop
2 8 * * * reboot

Затем выполненный

chkconfig minecraft on 

добавить сервис Minecraft к автоматическому запуску на начальной загрузке.

20
13.01.2015, 15:20
4 ответа

Нет, это невозможно, и не будет, если это было. IO обычно делается в единицах не менее 4096 байтов в любом случае и обычно гораздо больше.

2
27.01.2020, 19:44

512 Байт на самом деле не является размером сектора по умолчанию. Это зависит от вашего оборудования.

Вы можете отобразить, какой физический / логический сектор размещает отчеты о ваших дисках через / SYS Pseudo FileSystem, например:

# cat /sys/block/sda/queue/physical_block_size
4096
# cat /sys/block/sda/queue/logical_block_size
512

Какая разница между этими двумя значениями?

  • ISIL_BLOCK_SIZE - минимальный размер блока, привод может писать в атомной работе.
  • Logical_Block_size - самый маленький размер, привод может писать (ср. Документация ядра Linux).

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

Эти значения также отображаются в последних версиях FDISK , например:

# fdisk -l /dev/sda
[..]
Sector size (logical/physical): 512 bytes / 4096 bytes

на текущих распределениях Linux, программы (которые должны заботиться об оптимальном размере сектора), как MKFS.xfs по умолчанию выберут оптимальный размер сектора (например, 4096 байт).

Но вы также можете явно указать его через опцию, например:

# mkfs.xfs -f -s size=4096 /dev/sda

или:

# mkfs.ext4 -F -b 4096 /dev/sda

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

Для существующей файловой системы размер блока можно определить с помощью команды, такой как:

# xfs_info /mnt
[..]
meta-data=                       sectsz=4096
data     =                       bsize=4096
naming   =version 2              bsize=4096
log      =internal               bsize=4096
         =                       sectsz=4096
realtime =none                   extsz=4096

или:

# tune2fs -l /dev/sda
Block size:               4096
Fragment size:            4096

или:

# btrfs inspect-internal dump-super /dev/sda | grep size
csum_size             4
sys_array_size        97
sectorsize            4096
nodesize              16384
leafsize              16384
stripesize            4096
dev_item.sector_size  4096

при создании файловой системы на разделах, другая вещь, чтобы проверить, является, если этот раздел на самом деле выровнен к физическому размеру блока. Например, посмотрите на выход FDISK -L вывод, преобразуйте начальные адреса в байты, разделите их по размеру физического блока - напоминание должно быть ноль, если разделы выровнены.

29
27.01.2020, 19:44

Да, это возможно, однако это приведет к тому, что накопитель будет заполняться намного быстрее, чем должен. Для файлов размером менее 512 КБ каждый файл будет занимать полные 4096 КБ (4 МБ) и заполнять остальную часть сектора нулями из-за невозможности для большинства файловых систем (NTFS и т. п.) разрешить файлам совместно использовать сектора. Наилучшим вариантом для файловой системы было бы разрешить переменные размеры секторов, однако это увеличивает размер MFT (главной файловой таблицы) и увеличивает риск повреждения данных, уменьшая возможность легкого восстановления данных. Другими словами, программа восстановления не будет полностью знать границы.Таким образом, хотя размер логического сектора 4096 КБ отлично подходит для больших файлов, для обычного ПК для повседневного использования это просто набор нулей. Теперь, с учетом сказанного, есть возможность хранить данные в самой MFT, когда речь идет о данных, меньших размера логического сектора. Это, однако, означает, что ваш MFT становится огромным, и данные будут записываться дважды (на вашем жестком диске есть две копии MFT). Вам также нужно будет указать максимальный размер MFT, который может вызвать проблемы, когда вы достигаете его максимума или использование диска превышает то, что было бы свободно для использования MFT. Все это основано на использовании файловой системы NTFS. С другой стороны, NTFS позволяет использовать собственное сжатие файлов на уровне блоков для любого логического сектора размером 4 МБ или меньше. Это ограничение применяется из-за того, как работает сжатие NTFS. Блоки размером 4 МБ считываются и сжимаются независимо от размера логического сектора. Это, конечно, не может произойти для чего-либо большего размера сектора, чем 4 МБ, из-за пересечения границ и потери данных.

Итак, это немного прояснило для вас ситуацию?

-2
27.01.2020, 19:44
Sector:

1) Logical Sector: Called Native Sector.

Manufacture default setting. user cannot change.

Before 2010 year: 512b/sector

After 2010 year: 4k/sector.

Few manufacture provide HDD tool to change native sector.

2) Physical Sector: Called Cluster(or allocation unit - FAT windows) or Block(Linux/Unix)

User can change physical sector size 512b,1k,2k,4k,... by format or partition tool. Physical sector contains one or few more native sectors.

(example1: if you have HDD 512b/native sector: user can set 4K/Physical sector. this mean 1 cluster = 4 native sector)

(example2: if you have HDD 4K/native sector: user can set 4K/Physical sector. this mead 1 cluster = 1 native sector)

3) File system deal with Physical sector(or block or Cluster) only.
-2
27.01.2020, 19:44

Теги

Похожие вопросы