Advanced Format (Türkçe)

Çeviri Durumu:
Bu makale,
Advanced Format
makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2023-12-31. Eğer makalenin İngilizce sürümünde
değişiklik
yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevrilmiş tüm makelelere
buradan erişebilirsiniz
.
Bir sabit disk sürücüsünün (HDD) en küçük fiziksel depolama birimi
sektör
'dür. Bunun katı hal sürücüleri (SSD) için karşılığı ise page'dir.
[1]
Depolama aygıtı bellenimi, bu fiziksel sektörleri soyutlayarak üzerinde çalışabildiğimiz mantıksal sektörlere çevirirler. Bu sektörün boyutu, diskteki en küçük adreslenebilir birimin boyutunu ifade eder.
Not
Programlar ve dokümantasyon bazen "sektör" ve "blok" kelimelerini depolama türü farketmeden birbiri yerine kullanabilir.
Fiziksel sektör boyutu
Bu bir fiziksel depolama aygıtının yazabileceği en küçük birimdir. HDD'lerde, bir tabla üzerinde bulunan sektörlerin asıl boyutudur. Geleneksel olarak, HDD'ler için fiziksel sektör boyutu 512 byte'dı, yani her bir sektör 512 byte'lık veri taşıyabilirdi. Ancak,
Advanced Format
Drive'ların tanıtılmasıyla, daha yüksek depolama yoğunluğu ve geliştirilmiş hata düzeltme kabiliyeti için fiziksel sektör boyutu 4096 byte (4 KiB)'e çıkarıldı. SSD'ler, genelde 4 ile 16 KiB arasında olan, NAND flash belleğinin page boyutunu göstermez. Onun yerine fiziksel sektör boyutu olarak mantıksal mantıksal sektör boyutunu rapor eder. NVMe SSD'ler için ise, eğer mevcutsa, Atomic Write Unit Power Fail (AWUPF) parametresi kullanılır.
Mantıksal sektör boyutu
İşletim sistemi sektör boyutu olarak da bilinen mantıksal sektör boyutu, işletim sistemi ve uygulamalara bildirilen sektör boyutunu ifade eder. Yazılım seviyesinde okuma ve yazma için kullanılan sektör boyutudur. Mantıksal sektör boyutu fiziksel sektör boyutuna göre farklılık gösterebilir. Örneğin, 4096 byte'lık fiziksel sektör boyutuna sahip bir Advanced Format HDD, eski sistem ve uygulamalarla uyumluluk sağlamak için mantıksal sektör boyutunu 512 byte gösterebilir.
Farklı "katman"lar, yani aygıtın kendisi, yığılı blok aygıtı ve dosya sistemleri, hepsi aynı sektör boyutundan faydalanmalı. Eğer yapmazlarsa bellenimdeki haritalama işlemi, genelde farkedilmeyecek kadar da olsa, önlenebilir bir ek yüke sebep olur.
lsblk
ile mevcut fiziksel ve mantıksal sektör boyutları listelenebilir:
$ lsblk -td
NAME    ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED       RQ-SIZE  RA WSAME
sda             0   4096      0    4096    4096    1 mq-deadline      64 128    0B
nvme1n1         0   4096      0    4096    4096    0 none           1023 128    0B
nvme0n1         0   4096      0    4096    4096    0 none           1023 128    0B
PHY-SEC
fiziksel sektör boyutunu gösterirken
LOG-SEC
mantıksal sektör boyutunu gösterir.
Alternatif olarak, özel olarak bir sürücünün değerleri aşağıdaki sysfs girişlerinden okunabilir:
$ cat /sys/class/block/
sürücü
/queue/physical_block_size
$ cat /sys/class/block/
sürücü
/queue/logical_block_size
Sektör boyutları ayrıca
fdisk
,
smartctl
ve
hdparm
çıktısında da görülebilir.
Sektör boyutunun değiştirilmesi
Uyarı
Bir sürücünün sektör boyutunu değiştirmek geri alınamaz bir şekilde sürücüdeki bütün veriyi siler.
Bazı NVMe sürücüler ve "enterprise" SATA sabit disk sürücüleri bildirilen sektör boyutunu, standart NVMe veya ATA komutları kullanarak değiştirmeye izin verir. (NVM Command Set Specification 1.0 ve daha sonraki sürümlerinde
Format NVM
, ATA Command Set - 4 ve daha sonraki sürümlerinde (
SET SECTOR CONFIGURATION EXT
, sırasıyla). Sabit diskler için bu mantıksal sektör boyutunu fiziksel sektör boyutuyla eşitleyerek optimum performansı sağlar. NVMe katı hal sürüclerinde ise hem mantıksal hem fiziksel sektör boyutları değiştirilir.
SATA katı hal sürücüleri genel olarak sektör boyutunun değiştirilmesini destekler. Buna istisna ise bildirilen fiziksel sektör boyutunu değiştirmeye izin veren, ancak mantıksal sektör boyutunu değiştirmeyi izin vermeyen bazı Intel SATA SSD'leridir.
[2]
Bildirilen fiziksel sektör boyutunu değiştirmek için
Advanced Format#Intel
'i takip edin.
Bir diskin sektör boyutunu değiştirmek alt düzey biçimlendirme gerektiren kompleks bir işlemdir. Buna altenatif olarak optimum performans almak için dosya sistemi oluştururken istenilen sektör boyutunu belirtebilirsiniz.
#dm-crypt
ve
#Dosya sistemleri
'e bakınız.
Advanced Format sabit disk sürücüleri
Bir Advanced Format sabit disk sürücüsünün sektör boyutunun değiştirilip değiştirilmediğini belirlemek için
hdparm
aracını kullanın:
# hdparm -I /dev/sd
X
| grep 'Sector size:'
Not
USB ile bağlı sürücüler için, USB köprüsünün
SAT yani SCSI/ATA Translation
(ANSI INCITS 431-2007) desteklemesi gerekir.
Sektör Yapılandırma Günlüğü birden fazla mantıksal sektör boyutu sıralayan Advanced Format sürücüleri bunun bir listesini gösterir:
Logical  Sector size:                   512 bytes [ Supported: 512 4096 ]
        Physical Sector size:                  4096 bytes
Mantıksal sektör boyutunu değiştirmeyi desteklemeyen sabit disk sürücüleri ise sadece mevcut sektör boyutunu bildirir. Örneğin bir Advanced Format 512e sürücüsü:
Logical  Sector size:                   512 bytes
        Physical Sector size:                  4096 bytes
Bu tür sürücülerde optimum performans için
#dm-crypt
sektör boyutunun veya
#Dosya sistemleri
blok boyutunun en az 4096 byte olup sürücüyle hizalandığından emin olun.
Bir Advanced Format 4Kn sürücüsü:
Logical  Sector size:                  4096 bytes
        Physical Sector size:                  4096 bytes
4Kn sürücüleri zaten optimum yapılandırmaya sahiptir ve bölümlendirme ve biçimlendirmede özel bir müdaheleye ihtiyaçları yoktur. Oldukları gibi kullanılabilirler.
SATA HDD'niz birden fazla mantıksal sektör boyutunu destekliyorsa ve de ATA komutu
SET SECTOR CONFIGURATION EXT
'ı destekliyorsa (örneğin FastFormat destekleyen Seagate sürücüleri),
hdparm
kullanarak mantıksal sektör boyutları arasında geçiş yapabilirsiniz. Örneğin 4096 byte'a, yani 4Kn ayarlamak için şunu çalıştırın:
# hdparm --set-sector-size 4096 --please-destroy-my-drive /dev/sd
X
Bundan sonra,
hdparm
mantıksal sektör boyutunu 4096 byte olarak bildirmeli:
# hdparm -I /dev/sd
X
| grep 'Sector size:'
Logical  Sector size:                  4096 bytes [ Supported: 512 4096 ]
        Physical Sector size:                  4096 bytes
NVMe katı hal sürücüleri
Çoğu
katı hal sürücüsü
(SSD) fiziksel blokların genelde daha büyük (4, 8 KiB ve daha büyük) olmasına rağmen mantıksal sektör boyutu olarak 512 byte bildirir.
NVMe
sürücünün biçimlendirilmiş mantıksal blok adres boyutuna (FLBAS) bakmak için
Identify Namespace
komutunu kullanın:
# nvme id-ns -H /dev/nvme0n1 | grep "Relative Performance"
LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good (in use)
LBA Format  1 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0x1 Better
Metadata Size
mantıksal blok adresi (LBA) başına düşen ek önveri byte sayısıdır. Bu Linux'da iyi desteklenmediğinden dolayı, 0 değerinde bir biçimin seçilmesi tavsiye edilir.
Relative Performance
hangi biçimin nasıl performans sunacağını gösterir.
smartctl
de desteklenen mantıksal blok adresi boyutlarını gösterir, ancak kullanıcı dostu açıklamalar sağlamaz. Örneğin:
# smartctl -c /dev/nvme0n1
...
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         2
 1 -    4096       0         1
Mantıksal blok adres boyutunu değiştirmek için
nvme format
kullanın ve
--lbaf
parametresi ile istenilen değeri belirtin:
# nvme format --lbaf=1 /dev/nvme0n1
You are about to format nvme0n1, namespace 0x1.
WARNING: Format may irrevocably delete this device's data.
You have 10 seconds to press Ctrl-C to cancel this operation.

Use the force [--force] option to suppress this warning.
Sending format operation ... 
Success formatting namespace:1
Bu devam etmeden önce sadece birkaç saniye sürmeli.
Not
Bölümlendirme sırasında
#Bölüm hizası
'na dikkat etmeyi unutmayın, aksi takdirde elde edilen herhangi bir performans kazancı, boşa gidecektir.
Üreticiye spesifik programlar kullanarak
Eğer yukardaki genel araçlar sektör boyutunu değiştirmeye izin vermezse, yine de sürücünün üreticisinden olan bir programla değiştirmek mümkün olabilir.
Seagate
Seagate için
openseachest
AUR
kullanın.
Doğru olanı bulmak için bütün cihazları tarayın ve bulduğunuzla ilgili bilgi alın:
# openSeaChest_Basics --scan
# openSeaChest_Basics -d /dev/sd
X
-i
Sürücü hakkında bilgi vermeli. Seri numarasını kontrol ettiğinizden emin olun.
Sürücü tarafından desteklenen mantıksal blok boyutlarını kontrol edin:
# openSeaChest_Format -d /dev/sd
X
--showSupportedFormats
Eğer listede 4096 varsa, mantıksal sektör boyutunu şu şekilde değiştirebilirsiniz:
# openSeaChest_Format -d /dev/sd
X
--setSectorSize=4096 --confirm this-will-erase-data
Bu işlem birkaç dakika sürecektir ve işlem sonunda sürücünüz 4K sektör boyutu kullanacaktır.
Bölüm hizası
Bölümlerin doğru şekilde hizalanması gereksiz okuma-düzenleme-yazma döngülerini önler. Kişisel bilgisayarlarda yaygın bir uygulama her bölümü 1 MiB (1 048 576 bytes)'lik parçalara hizalamaktır. Bu yaygın olan bütün page ve blok boyutu senaryolarını kapsar ve kullanılan bütün boyutlara bölünebilir—1 MiB, 512 KiB, 128 KiB, 4 KiB ve 512 B.
Uyarı
Yanlış hizalanmış bölümler dm-crypt/LUKS ile 4096 byte sektörlerin kullanılmasına engel olur.
[3]
.
fdisk, cfdisk ve sfdisk
hizalamayı otomatik olarak yapar.
gdisk ve cgdisk
hizalamayı otomatik olarak yapar.
sgdisk
varsayılan olarak yalnızca bölümlerin başlangıcını hizalar.
-I
/
--align-end
seçeneğini kullanarak bölüm boyutunun/sonunun da hizalanmasını sağlayın.
Parted
yalnızca bölümlerin başını hizalayabilir, boyutunu yani sonunu hizalamaz. Bölüm oluştururken, bölüm sonunun mebibyte ile ya da daha büyük bir IEC binary birimi halinde belirttiğinzden emin olun.
dm-crypt
Cryptsetup
2.4.0 itibariyle,
luksFormat
LUKS2 biçimi için otomatik olarak optimum şifreleme sektör boyutunu tespit eder.
[4]
.
Ancak, bunun çalışması için cihazın varsayılan sektör boyutunu doğru bildirmesi gerekmektedir, bakınız:
#Sektör boyutunun değiştirilmesi
.
cryptsetup luksFormat
kullanıldıktan sonra, LUKS2 birimi tarafından kullanılan sektör boyutunu şu şekilde kontrol edebilirsiniz:
# cryptsetup luksDump
device
| grep sector
Eğer varsayılan sektör boyutu yanlışsa, LUKS2 birimini 4K sektör boyutuyla oluşturulmasını zorlayabilirsiniz:
# cryptsetup luksFormat --sector-size=4096
device
Bu komut istenilen boyut cihazınkiyle uyuşmazsa hata verir:
# cryptsetup luksFormat --sector-size 4096
device
(...)
Verify passphrase: 
Device size is not aligned to requested sector size.
Not
Cihaz 4K fiziksel sektör kullanıyorken bu komutun neden başarısız olabileceğini öğrenmek için
cryptsetup issue 585
'e bakınız.
Aygıtı yanlış sektör boyutuyla şifrelediyseniz aygıt şu komutla yeniden şifrelenebilir:
Uyarı
Barındırılan dosya sisteminin blok boyutu 4096 byte veya 4096'nın katı olmalıdır, aksi takdirde bozulur.
# cryptsetup reencrypt --sector-size=4096
device
Dosya sistemleri
mkfs.bcachefs
,
mkfs.btrfs(8)
,
mkfs.jfs(8)
,
mkfs.nilfs2(8)
,
mkfs.reiserfs(8)
[
dead link
2025-05-13]
ve
mkswap(8)
varsayılan olarak 4096 byte sektörler kullanır.
mkfs.ext4(8)
varsayılan olarak 512 MiB'den küçük dosya sistemlerinde 1024 byte, 512 MiB ve daha büyük dosya sistemlerinde 4096 byte sektörler kullanır.
mkfs.xfs(8)
varsayılan olarak 512 byte sektörler kullanır ancak 512e ve 4Kn diskleri için 4096 kullanır.
mkfs.f2fs(8)
,
mkfs.fat(8)
,
mkfs.ntfs(8)
ve
mkfs.udf(8)
cihazın mantıksal sektör boyutunu kullanır. Yani 512e cihazlarda 512 byte, 4Kn disklerde 4096 byte sektör kullanır.
zpool-create(8)
(from
ZFS
) varsayılan olarak 512 (2⁹) byte sektör kullanır, sektör boyutu advanced format disklerde
-o ashift=12
(2¹², 4096 bytes) seçeneği ile pool oluşturulurken belirtilmelidir.
Eğer depolama aygıtı doğru sektör boyutunu bildirmiyorsa fiziksel sektör boyutunu kendiniz belirterek uygun şekilde biçimlendirebilirsiniz.
Özellikle bellenim tarafından yönetilen
shingled magnetic recording
(SMR) sürücüleri, fiziksel sektör boyutu 4096 byte iken 512 byte'lık mantıksal sektör boyutu kullanıldığında bundan ciddi ve negatif şekilde etkilenir. Bu sürücüler boştayken farklı performans yazma bölgelerine sahiptir ve
yeniden-haritalandırma
nadiren gerçekleşir. Ancak yük altında (örneğin RAID resilver'lama, yedekleme, çok fazla küçük boyutta dosya yazma, rsync vb.) farklı bir dosya sistemi sektör boyutu yazma hızını tek haneli megabyte/saniye'ye kadar indirebilir, yüksek performanslı yazma alanları bittiğinden ve çeviri katmanı bu küçük parçalarda fazla çalıştığından dolayı.
Not
x86_64 sistemlerde Linux 4 KiB'den büyük blok boyutuna sahip dosya sistemlerini bağlayamaz. Detaylar için ve ilerleme için bakın:
Large block sizes (LBS)
4096 byte sektör boyutunu kendiniz belirtmenin birkaç örneği:
ext4
:
# mkfs.ext4 -b 4096 /dev/
device
XFS
:
# mkfs.xfs -s size=4096 /dev/
device
FAT
:
# mkfs.fat -S 4096 /dev/
device
NTFS-3G
:
# mkfs.ntfs -Q -s 4096 /dev/
device
UDF:
# mkfs.udf -b 4096 /dev/
device
ZFS
:
# zpool create -o ashift=12
poolname
raidz
device0
…
deviceN
Ayrıca bakınız
Western Digital’s Advanced Format: The 4K Sector Transition Begins
White paper entitled "Advanced Format Technology."
Bir HDD'nin hizalamasındaki hata düşük okuma yazma performansına yol açar. Spesifik örnekleri için:
[5]