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 standar 512?
Apakah akan mempercepat membaca dan menulis secara massal? Di mana bisa dikonfigurasi?
hard-disk
performance
io
Matan
sumber
sumber
mkfs.*
harus secara otomatis menggunakan ukuran sektor optimal. Anda dapat melakukan beberapamkfs.*
tes dan memeriksa hasilnya (baik dalam output verbose dari mkfs atau dalam program utilitas fs terkait).Jawaban:
512 byte sebenarnya bukan ukuran sektor default. Tergantung pada perangkat keras Anda.
Anda dapat menampilkan apa ukuran sektor fisik / logis laporan disk Anda melalui
/sys
sistem file semu, misalnya:Apa perbedaan antara kedua nilai itu?
physical_block_size
adalah ukuran minimal blok yang bisa ditulis 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 bahwa tumpukan penyimpanan Anda (filesystem dll.) Menggunakan sesuatu yang sama atau lebih besar dari ukuran sektor fisik.
Nilai-nilai itu juga ditampilkan dalam versi terbaru
fdisk
, misalnya:Pada distribusi linux saat ini, program-program (yang seharusnya peduli dengan ukuran sektor optimal) seperti
mkfs.xfs
akan memilih ukuran sektor optimal secara default (misalnya 4096 byte).Tetapi Anda juga dapat secara eksplisit menentukannya melalui opsi, misalnya:
Atau:
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:
Atau:
Atau:
Saat membuat sistem file pada partisi, hal lain yang perlu diperiksa adalah apakah alamat awal partisi benar-benar sejajar dengan ukuran blok fisik. Misalnya, lihat
fdisk -l
outputnya, ubah alamat mulai menjadi byte, bagi dengan ukuran blok fisik - pengingat harus nol jika partisi disejajarkan.sumber
fdisk -l
, membaginya dengan 8 dan kemudian 512. sisanya bukan 0, sehingga partisi tampaknya tidak selarasfdisk -l
laporanUnits = sectors of 1 * 512 = 512 bytes
di salah satu sistem Linux saya - dengan demikian, untuk drive logis / fisik 512/4096 dengan 2 partisi mulai dari 2048 dan 1026048 saya menghitung2048*512%4096
dan1026048*512%4096
- misalnya dalam shell python. Karena kedua ekspresi sama dengan nol, partisi-partisi tersebut selaras 4k.Tidak, itu tidak mungkin, atau apakah itu penting. IO biasanya dilakukan dalam unit setidaknya 4.096 byte, dan biasanya jauh lebih banyak.
sumber
Ya itu mungkin, namun hal itu akan menyebabkan drive mengisi lebih cepat dari yang seharusnya. Untuk file kurang dari 512K, setiap file kemudian akan mengambil 4096K (4MB) penuh dan mengisi sisa sektor dengan 0 karena ketidakmampuan untuk sebagian besar sistem file (NTFS dan sejenisnya) untuk memungkinkan file untuk berbagi sektor. Opsi terbaik untuk sistem file adalah dengan memungkinkan ukuran sektor variabel, namun ini meningkatkan ukuran MFT (tabel file master) dan meningkatkan risiko korupsi data sambil mengurangi kemampuan untuk memulihkan data dengan mudah. Dengan kata lain, batasan tidak akan sepenuhnya diketahui oleh perangkat lunak pemulihan. Jadi, sementara ukuran sektor logis 4096K mengagumkan untuk file besar, untuk PC penggunaan sehari-hari yang normal, itu hanya sekelompok 0's. Sekarang, dengan mengatakan, ada opsi untuk menyimpan data dalam MFT itu sendiri ketika datang ke data yang lebih kecil dari ukuran sektor logis. Ini, bagaimanapun, berarti bahwa MFT Anda menjadi besar dan data akan ditulis dua kali (ada dua salinan MFT pada HDD Anda). Anda juga harus menentukan ukuran maksimum MFT yang dapat menyebabkan masalah ketika Anda mencapai maksimum atau penggunaan drive melebihi apa yang akan bebas untuk digunakan MFT. Semua ini didasarkan pada penggunaan sistem file NTFS. Di sisi terang, NTFS memungkinkan Anda untuk menggunakan kompresi asli untuk file di tingkat blok untuk ukuran sektor logis 4MB atau kurang. Batasan ini diterapkan karena cara kompresi NTFS bekerja. Blok 4MB dibaca dan dikompresi terlepas dari ukuran sektor logis. Ini tentu saja
Jadi, apakah ini sedikit membantu Anda?
sumber
sumber