GNU/Linux >> Belajar Linux >  >> Linux

Mengoptimalkan Ukuran Sektor Logis Untuk Ukuran Sektor Fisik 4096 Hdd?

Dengan banyak hard drive baru, ukuran sektor fisik adalah 4096. Apakah mungkin untuk membuat sistem menggunakan ukuran sektor logis dengan ukuran yang sama, daripada ukuran sektor logis default 512?

Apakah ini akan mempercepat pembacaan dan penulisan massal?
Di mana dapat dikonfigurasi?

Jawaban yang Diterima:

512 byte sebenarnya bukan ukuran sektor default. Itu tergantung pada perangkat keras Anda.

Anda dapat menampilkan ukuran sektor fisik/logis yang dilaporkan disk Anda melalui /sys sistem file semu, misalnya:

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

Apa perbedaan antara kedua nilai tersebut?

  • physical_block_size adalah ukuran minimal blok yang dapat ditulis oleh drive dalam operasi atom.
  • logical_block_size adalah ukuran terkecil yang dapat ditulis oleh drive (lih. dokumentasi kernel linux).

Jadi, jika Anda memiliki drive 4k, masuk akal jika tumpukan penyimpanan Anda (sistem file, dll.) menggunakan sesuatu yang sama atau lebih besar dari ukuran sektor fisik.

Nilai-nilai tersebut juga ditampilkan dalam versi terbaru fdisk , misalnya:

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

Pada distribusi linux saat ini, program (yang seharusnya memperhatikan ukuran sektor yang optimal) seperti mkfs.xfs akan memilih ukuran sektor yang optimal secara default (misalnya 4096 byte).

Tetapi Anda juga dapat menentukannya secara eksplisit melalui opsi, misalnya:

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

Atau:

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

Bagaimanapun, sebagian besar mkfs varian juga akan menampilkan ukuran blok yang digunakan selama eksekusi.

Untuk sistem file yang ada, ukuran blok dapat ditentukan dengan perintah seperti:

# 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

Atau:

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

Atau:

# 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

Saat membuat sistem file pada partisi, hal lain yang perlu diperiksa adalah apakah alamat awal partisi benar-benar selaras dengan ukuran blok fisik. Misalnya, lihat fdisk -l output, ubah alamat awal menjadi byte, bagi dengan ukuran blok fisik – pengingat harus nol jika partisi disejajarkan.

Terkait:Linux – Bagaimana cara menguji apakah biner Linux dikompilasi sebagai kode independen posisi?
Linux
  1. Apa yang Mendefinisikan Ukuran Maksimum Untuk Argumen Perintah Tunggal?

  2. Bagaimana Cara Mencari File Berdasarkan Ukuran Dan Ekstensi?

  3. Cara memeriksa ukuran heap untuk suatu proses di Linux

  1. cara memeriksa ukuran tumpukan yang dialokasikan untuk jvm oleh linux

  2. Tukar ukuran partisi untuk RAM 4GB

  3. Ukuran blok yang bagus untuk kloning disk dengan diskdump (dd)

  1. Total penggunaan disk untuk pengguna tertentu

  2. Bagaimana perintah seperti fdisk -l menemukan ukuran sektor?

  3. Cara menentukan ukuran byte terbaik untuk perintah dd