Купил себе для хранения данных WD10EARS. Сей диск примечателен тем что у него размер сектора равен 4Кб, вместо исторически сложившехся 512б. За счет того что сектор стал больше, уменьшилось колличество служебной информации, а значит, освобожденное место стало доступным для использования. Возможно за счет этого в том числе это диск стоит меньше остальных терабайтников.
Но при всем этом позитиве, не обошлось без проблем.
Главная и основная проблема данного харда в том, что если его неправильно разметить, такие операционки как WinXP могут вообще на нем не завестить, либо возможны ужасные потери в скорости вводавывода и на без того не быстром харде.
На просторах интернета лежат записи как его правильно размечать для винды (Vista и выше делает это автоматически), для Linux, но под FreeBSD я как то особо ничего не нашел. конечно я понимаю, что огромной разницы между Linux и BSD нет, но всеже, я решил накатить небольшое руководство по разметке жесткого диска под FreeBSD.
Итак, цепляем хард и загружается и видим:
% dmesg| grep -i wd
ad6: 953869MB <WDC WD10EARS-00MVWB0 51.0AB51> at ata3-master UDMA100 SATA 1.5Gb/s
у меня он определился как ad6.
далее берем скрипт бенчмарк:
#!/bin/sh # # simple benchmark for AFT disk # compare MBR/GPT and start sector match/unmatch # #### array-like const TYPE0=mbr ; SECT0=63 TYPE1=mbr ; SECT1=64 TYPE2=gpt ; SECT2=34 TYPE3=gpt ; SECT3=40 #### const CONST1M=1048576 # 1024 * 1024 CONST8M=8388608 # 1024 * 1024 * 8 #### var DISK=ad6 PARTSIZE=64gb COUNT=${CONST8M} #### error check if [ ! -c /dev/${DISK} ]; then echo "error : device /dev/${DISK} not found." exit else echo "#### target : ${DISK}" fi #### main for i in 0 1 2 3; do # set var TYPE=`eval echo '$'TYPE${i}` SECT=`eval echo '$'SECT${i}` # process start message echo "#### `date '+%Y-%m-%d %H:%M:%S'` : Test${i} : Disk type = ${TYPE} / Start sector ${SECT}" # init disk dd if=/dev/zero of=/dev/${DISK} bs=4096 count=8 # disk type gpart create -s ${TYPE} ${DISK} # add partition gpart add -b ${SECT} -s ${PARTSIZE} -t freebsd ${DISK} gpart show ${DISK} newfs -S 4096 ${DISK}s1 # benchmark mount /dev/${DISK}s1 /mnt dd if=/dev/zero of=/mnt/dummy bs=4096 count=${COUNT} # post process sleep 4 umount /mnt sleep 4 done
Меняем переменную DISK=ad6 на свой хард. Не перепутвйте, а то затерете свой используемый хард.
И запускаем естественно от рута.
В ходе тестирования будет создаваться слайс (раздел) размером 64Гб и тестироваться скорость записи на него. Можно будет увидеть как меняется скорость IO в зависимости от начального смещения раздела.
В моем случае(скорее всего и в вашем) наиболшую скорость показал раздел со смещением на 40 сектор.
Из этого же бенчмарка можно увидеть какие команды надо выполнить, чтобы разметить хард.
У меня это:
(1) # dd if=/dev/zero of=/dev/ad6 bs=4096 count=8
(2) # gpart create -s gpt ad6
(3) # gpart add -b 40 -s 1953525095 -t freebsd ad6
(4) # gpart show ad6
(5) # newfs -S 4096 ad6s1
Обьясню по порядку. (1) Зануляем mbr сектор. (2) создаем новую gpt схему на харде. (3) добавляем новый слайс, со смещением 40, размером 1953525095 секторов (?) ( размер карты GPT занимает первые 34 сектора, соотвественно нам надо начать с 40, поэтому 6 секторов оставляем пустыми. У меня общее колличество секторов 1953525101 — 6 = 1953525095) типа freebsd (просто для фс с данными), (4) смотрим что получлось в ходе разметки, у меня это:
# gpart show ad6
=> 34 1953525101 ad6 GPT (932G)
34 6 — free — (3.0K)
40 1953525095 1 freebsd (932G)
(5) накатываем фс с размером сектора 4Кб.
После этих не хитрых манипуляций монтируем новый раздел и используем по назначению.
Вообще данный метод хорош только в случае одного раздела, если вы планируете несколько разделов, плясок с высчитыванием правильно смещения вам не избежать. Главное правило, смещение должно быть кратным 8!
На этом можно закончить. Добавьте монтирование в fstab и радуйтесь.
При написании статьи очень помогли материалы с следующих сайтов:
Огромное спасибо за бенчмарк.
http://homebsd.homeunix.net/~shino/pukiwiki/index.php?FreeBSD%2FBigSector%20HDD
http://d.hatena.ne.jp/mteramoto/20101219/1292733916
http://www.linuxshare.ru/hardware/WD10EARS.html
No comments
RSS / trackback