pluton 07.03.2010 23:16
Есть проблема! — Внимание, ЖД с 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 (http://www.transcendusa.com/products/ModDetail.asp?ModNo=198&LangNo;=0&Func1No;=&Func2No;=). Реальная ёмкость -- около 590 GiB. У этого большого ЖД используются сектора размером 4 КБ.
Справочная информация
Подробнее, почему нужны такие ЖД и как работают новые сектора: http://lwn.net/Articles/322777/
В FreeBSD: http://forums.freebsd.org/showthread.php?t=11337
Большое обсуждение про эти ЖД и Линукс тут: http://thread.gmane.org/gmane.linux.gentoo.user/225974. Там ещё написано про выравнивание разделов.
upd: Ещё про сектора и Linux: http://www.linuxforums.org/forum/misc/5654-linux-disk-block-size-help-please.html
Также можно посмотреть сюда: http://habrahabr.ru/blogs/hardware/83829/, http://blog.fosketts.net/2009/12/23/drobo-xp-beware-4k-advanced-format-drives/
У новых ЖД от WD тоже используются такие сектора, они назвали эту технологию Advanced Format: http://www.fcenter.ru/online.shtml?articles/hardware/hdd/28121#02
Ядро 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: 156282944 4096-byte hardware sectors (640135 MB)
Mar 6 13:37:47 laptop kernel: <10989.646978> sd 7:0:0:0: Write Protect is off
Mar 6 13:37:47 laptop kernel: <10989.648575> sd 7:0:0:0: 156282944 4096-byte hardware sectors (640135 MB)
Mar 6 13:37:47 laptop kernel: <10989.649573> sd 7:0:0:0: 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: 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 sectors
cfdisk
С 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 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
Вывод
К сожалению, пока не все программы умеют правильно работать с такими новинками.
Надеюсь, что вы хоть что-то поняли, и будете внимательны с такими ЖД. Пишите свои вопросы, комментарии и мысли по теме. Спасибо.
upd: спасибо за совет Username -- перенёс ссылки в начало.

+ 0 -
а на хрена такие винты нужны?
а на хрена такие винты нужны?
в статье по последней ссылке написано зачем.
в начало надо такие ссылки пихать
спасибо за совет. отредактировал пост
Я конечно ничего не понял, но на днях приобрел такой же винт (только 250гиг) и никаких подобных проблем не заметил о.О надо будет завтра посмотреть по подробнее...
Развивал кстати с помощью gparted...
Развивал кстати с помощью gparted...
Я конечно ничего не понял
жаль. может быть, придумаю, как переписать понятнее. главный вывод -- надо быть внимательными с такими новыми ЖД.
(только 250гиг)
значит, у него обычный размер сектора
слушай, а разве это не от ФС ваще зависит? Я не силен в этом, но всегда думал, что так
слушай, а разве это не от ФС ваще зависит?
у ФС есть кластера -- объединение секторов, то есть более высокоуровнево.
подробнее про различия можно почитать тут: http://ru.wikipedia.org/wiki/Сектор_диска и http://www.linuxforums.org/forum/misc/5654-linux-disk-block-size-help-please.html#post33300
значит, у него обычный размер сектора
смотрю по бумагам идущим с диском - вся серия одинакова (ну только размер разный)хотя dmesg грит что "sd 3:0:0:0: 488397168 512-byte logical blocks"
кстати, а флаг LBA включить на разделах не помогает?
смотрю по бумагам идущим с диском - вся серия одинакова (ну только размер разный)
что в бумажках, что на сайте ничего не пишется о размере сектора. но нас не обманешь: "sd 12:0:0:0: 156282944 4096-byte hardware sectors (640135 MB)"
а флаг LBA включить на разделах не помогает?
а как это сделать? ИМХО, LBA уже давно у всех дисков работает.
вроде только у wd пока такие диски, почему бы не вытащить хард из бокса и не посмотреть производителя? если wd, то у них есть утилитка специальная для таких дисков, там вроде она в виде образа cd по-моему
вроде только у wd пока такие диски
нет, вот у transcend тоже есть. ещё видел 640ГБ диск от toshiba, думаю, там тоже такие сектора.
почему бы не вытащить хард из бокса и не посмотреть производителя?
это внешний ЖД, нечего вытаскивать
если wd, то у них есть утилитка специальная для таких дисков
наверное, под виндуз только
трансценд делает только боксы :)
http://support.wdc.com/product/downloadsw.asp?sid=122
http://support.wdc.com/product/downloadsw.asp?sid=122
У меня 2 таких диска, полёт нормальный.
какой программой размечал их?
В любом случае спасибо за статью. Предупреждён == вооружён, как говорится =)
Хотя пока что с такими дисками и не сталкивался, буду хотя бы знать о возможных подводных камнях.
Хотя пока что с такими дисками и не сталкивался, буду хотя бы знать о возможных подводных камнях.
Черт. У меня ЖД ассоциируется с:
1) Железная Дорога
2) Женский День
3) в последнюю очередь Жёсткий Диск
Доктор, насколько я болен?
1) Железная Дорога
2) Женский День
3) в последнюю очередь Жёсткий Диск
Доктор, насколько я болен?
а вот такой вопрос, чем бы можно было разметить этот диск с выравниванием по 4к секторам под ufs ?