512 bajtów nie jest tak naprawdę domyślnym rozmiarem sektora. To zależy od twojego sprzętu.
Możesz wyświetlić rozmiar sektora fizycznego / logicznego, który zgłasza twój dysk za pośrednictwem /sys
pseudo systemu plików, na przykład:
# cat /sys/block/sda/queue/physical_block_size
4096
# cat /sys/block/sda/queue/logical_block_size
512
Jaka jest różnica między tymi dwiema wartościami?
- Jest
physical_block_size
to minimalny rozmiar bloku, który dysk może zapisać w operacji atomowej.
- Jest
logical_block_size
to najmniejszy rozmiar, jaki dysk może zapisać (por. Dokumentacja jądra systemu Linux).
Tak więc, jeśli masz dysk 4k, ma sens, że twój stos pamięci (system plików itp.) Używa czegoś równego lub większego niż rozmiar sektora fizycznego.
Wartości te są również wyświetlane w najnowszych wersjach fdisk
, na przykład:
# fdisk -l /dev/sda
[..]
Sector size (logical/physical): 512 bytes / 4096 bytes
W obecnych dystrybucjach linuksa programy (które powinny dbać o optymalny rozmiar sektora) podobnie mkfs.xfs
wybiorą domyślnie optymalny rozmiar sektora (np. 4096 bajtów).
Ale możesz również wyraźnie to określić za pomocą opcji, na przykład:
# mkfs.xfs -f -s size=4096 /dev/sda
Lub:
# mkfs.ext4 -F -b 4096 /dev/sda
W każdym razie większość mkfs
wariantów wyświetli również używany rozmiar bloku podczas wykonywania.
W przypadku istniejącego systemu plików rozmiar bloku można określić za pomocą polecenia:
# 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
Lub:
# tune2fs -l /dev/sda
Block size: 4096
Fragment size: 4096
Lub:
# 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
Podczas tworzenia systemu plików na partycji należy sprawdzić, czy adres początkowy partycji jest rzeczywiście dopasowany do rozmiaru bloku fizycznego. Na przykład spójrz na dane fdisk -l
wyjściowe, przekonwertuj adresy początkowe na bajty, podziel je przez fizyczny rozmiar bloku - przypomnienie musi wynosić zero, jeśli partycje są wyrównane.
mkfs.*
powinny automatycznie używać optymalnego rozmiaru sektora. Możesz wykonać kilkamkfs.*
testów i sprawdzić wynik (w pełnym wyniku programu mkfs lub w powiązanym programie narzędziowym fs).