GNU/Linux → Внимание, ЖД с 4КБ секторами.
Всем привет!
Хочу рассказать про проблемы с новыми жёсткими дисками, у которых физические сектора имеют размер 4 КБ вместо обычных 512 Б.
UPD 12.03: Переразбил ЖД в новой версии fdisk (которая идёт в util-linux-ng 2.17.1). fdisk при запуске сам написал, что желательно выключить совместимость с DOS (команда c) и юнитами поставить сектора (команда u). Далее создаём первый раздел, начиная с сектора 2048 (1 МБ). Проверил скорость копирования — около 28 МБ/сек. Так что, жить можно!
Достал внешний ЖД Transcend StoreJet 25M 640 GB (). Реальная ёмкость — около 590 GiB. У этого большого ЖД используются сектора размером 4 КБ.
Справочная информация
Подробнее, почему нужны такие ЖД и как работают новые сектора:
В FreeBSD:
Большое обсуждение про эти ЖД и Линукс тут: . Там ещё написано про выравнивание разделов.
Ещё про сектора и Linux:
Также можно посмотреть сюда: ,
У новых ЖД от WD тоже используются такие сектора, они назвали эту технологию Advanced Format:
upd: В parted 2.2 и util-linux-ng 2.17.1 улучшена поддержка дисков с размером сектора 4 Кб
«Специалисты из ассоциации IDEMA (International Disk Drive Equipment and Materials Association) предупреждают, что все производители жёстких дисков согласились с января 2011 года перейти на новый формат размера сектора в 4 Кб вместо существующего ныне 512 байт.»
Ядро Linux
Ядро Linux поддерживает такие ЖД, а вот многие программы — пока не совсем. Лог ядра при подключении (ядро правильно определило 4096-byte hardware sectors):
Для разметки пробовал fdisk, cfdisk, gparted. Все они не до конца понимают новую моду :). Уже не помню, что и в какой последовательности я пробовал, но напишу заметки.
fdisk
fdisk, в общем, понимает, т.к. пишет в начале:
Им я создал (пытался создать) таблицу разделов и один раздел на весь диск, создал на нём ext3, но после этого пишет, что есть не распределённые сектора:
cfdisk
С cfdisk хуже:
Как видите, неправильно определён размер раздела. Кстати, на нём записано 89 ГБ.
gparted
Gparted до этой разметки определял размер диска в 74 ГБ. После разметки Gparted вообще падает, но в начале работы честно пишет, что ещё не всё допилено:
Gparted был с последней версии SysRescCD 1.4.0.
Другие программы
После разметки записал образы диска 81 и 8.8 ГБ. Скорость дампа была около 28 МБ/с.
df и konqueror правильно показывают, что раздел занимает 587 ГБ:
А вот lshw считает также, как и gparted:
Вывод
К сожалению, пока не все программы умеют правильно работать с такими новинками.
Надеюсь, что вы хоть что-то поняли, и будете внимательны с такими ЖД. Пишите свои вопросы, комментарии и мысли по теме. Спасибо.
Хочу рассказать про проблемы с новыми жёсткими дисками, у которых физические сектора имеют размер 4 КБ вместо обычных 512 Б.
UPD 12.03: Переразбил ЖД в новой версии fdisk (которая идёт в util-linux-ng 2.17.1). fdisk при запуске сам написал, что желательно выключить совместимость с DOS (команда c) и юнитами поставить сектора (команда u). Далее создаём первый раздел, начиная с сектора 2048 (1 МБ). Проверил скорость копирования — около 28 МБ/сек. Так что, жить можно!
Достал внешний ЖД Transcend StoreJet 25M 640 GB (). Реальная ёмкость — около 590 GiB. У этого большого ЖД используются сектора размером 4 КБ.
Справочная информация
Подробнее, почему нужны такие ЖД и как работают новые сектора:
В FreeBSD:
Большое обсуждение про эти ЖД и Линукс тут: . Там ещё написано про выравнивание разделов.
Ещё про сектора и Linux:
Также можно посмотреть сюда: ,
У новых ЖД от WD тоже используются такие сектора, они назвали эту технологию Advanced Format:
upd: В parted 2.2 и util-linux-ng 2.17.1 улучшена поддержка дисков с размером сектора 4 Кб
«Специалисты из ассоциации IDEMA (International Disk Drive Equipment and Materials Association) предупреждают, что все производители жёстких дисков согласились с января 2011 года перейти на новый формат размера сектора в 4 Кб вместо существующего ныне 512 байт.»
Ядро Linux
Ядро Linux поддерживает такие ЖД, а вот многие программы — пока не совсем. Лог ядра при подключении (ядро правильно определило 4096-byte hardware sectors):
Mar 6 13:37:47 laptop kernel: [10989.644126] scsi 7:0:0:0: Direct-Access StoreJet Transcend PQ: 0 ANSI: 2 CCS
Mar 6 13:37:47 laptop kernel: [10989.645823] sd 7:0:0:0: [sdb] 156282944 4096-byte hardware sectors (640135 MB)
Mar 6 13:37:47 laptop kernel: [10989.646978] sd 7:0:0:0: [sdb] Write Protect is off
Mar 6 13:37:47 laptop kernel: [10989.648575] sd 7:0:0:0: [sdb] 156282944 4096-byte hardware sectors (640135 MB)
Mar 6 13:37:47 laptop kernel: [10989.649573] sd 7:0:0:0: [sdb] Write Protect is off
Mar 6 13:37:47 laptop kernel: [10989.649595] sdb: sdb1
Mar 6 13:37:47 laptop kernel: [10989.680252] sd 7:0:0:0: [sdb] Attached SCSI disk
Mar 6 13:37:47 laptop kernel: [10989.680342] sd 7:0:0:0: Attached scsi generic sg2 type 0Для разметки пробовал fdisk, cfdisk, gparted. Все они не до конца понимают новую моду :). Уже не помню, что и в какой последовательности я пробовал, но напишу заметки.
fdisk
fdisk, в общем, понимает, т.к. пишет в начале:
Note: sector size is 4096 (not 512)Им я создал (пытался создать) таблицу разделов и один раздел на весь диск, создал на нём ext3, но после этого пишет, что есть не распределённые сектора:
Сommand (m for help): p
Disk /dev/sdb: 640.1 GB, 640134938624 bytes
255 heads, 63 sectors/track, 9728 cylinders
Units = cylinders of 16065 * 4096 = 65802240 bytes
Disk identifier: 0x74afb075
Device Boot Start End Blocks Id System
/dev/sdb1 1 9728 625121028 83 Linux
Command (m for help): v
1093983294 unallocated sectorscfdisk
С cfdisk хуже:
cfdisk (util-linux-ng 2.13.1)
Disk Drive: /dev/sdb
Size: 640134938624 bytes, 640.1 GB
Heads: 255 Sectors per Track: 63 Cylinders: 77825
Name Flags Part Type FS Type [Label] Size (MB)
-----------------------------------------------------------------------------------------------
sdb1 Primary Linux 80015.53
Pri/Log Free Space 560116.90Как видите, неправильно определён размер раздела. Кстати, на нём записано 89 ГБ.
gparted
Gparted до этой разметки определял размер диска в 74 ГБ. После разметки Gparted вообще падает, но в начале работы честно пишет, что ещё не всё допилено:
Warning: Device /dev/sdb has a logical sector size of 4096. Not all parts of GNU Parted support this at the moment, and the working
code is HIGHLY EXPERIMENTAL.Gparted был с последней версии SysRescCD 1.4.0.
Другие программы
После разметки записал образы диска 81 и 8.8 ГБ. Скорость дампа была около 28 МБ/с.
df и konqueror правильно показывают, что раздел занимает 587 ГБ:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 587G 90G 468G 17% /media/diskА вот lshw считает также, как и gparted:
*-usb
description: Generic USB device
product: StoreJet Transcend
vendor: StoreJet Transcend
physical id: 2
bus info: usb@5:2
logical name: scsi9
version: 1.00
serial: 27D110445FFF
capabilities: usb-2.00 emulated scsi-host
configuration: driver=usb-storage maxpower=2mA speed=480.0MB/s
*-disk
description: SCSI Disk
product: Transcend
vendor: StoreJet
physical id: 0.0.0
bus info: scsi@9:0.0.0
logical name: /dev/sdb
serial: 801130168383
size: 596GiB (640GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=2 signature=74afb075
*-volume
description: Linux filesystem partition
physical id: 1
bus info: scsi@9:0.0.0,1
logical name: /dev/sdb1
logical name: /media/disk
capacity: 74GiB
capabilities: primary
configuration: mount.fstype=ext3 mount.options=rw,nosuid,nodev,relatime,data=ordered state=mountedВывод
К сожалению, пока не все программы умеют правильно работать с такими новинками.
Надеюсь, что вы хоть что-то поняли, и будете внимательны с такими ЖД. Пишите свои вопросы, комментарии и мысли по теме. Спасибо.
- +9
- pluton
- 11 марта 2010, 18:07
зато есть sysreccd 1.5.0-beta7, там уже новые версии, скачаю, проверю и напишу результат
вот еще
так что, я думаю, брать можно, тем более, скоро многие будут такими.