atop показывает красным
DSK | sda | busy 96% | read 111 | write 0 | MBr/s 0.84 | MBw/s 0.00 | avio 8.44 ms |DSK | sda | busy 102% | read 275 | write 0 | KiB/r 11 | | KiB/w 0 | MBr/s 1.48 | MBw/s 0.00 | avq 1.18 | avio 7.17 ms |
В списке процессов использующих винт - virtualbox
iotop на первом месте часто показывает:
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
17943 be/4 evg 194.59 K/s 6.40 M/s 0.00 % 20.46 % VirtualBox --comment windows server 2008sp1 64bit --startvm ff597f7f-baef-4d0f-b3ca-36aa0086cbf7 --no-startvm-errormsgbox [AioMgr0-N]
и редко примерно 1 раз в 5 сек [jbd2/sda6-8]
Такое происходит при работе только windows машин в virtualbox. В основном когда идёт процесс загрузки/установки обновлений в гостевой.Перемонтировал раздел /dev/sda6,
sudo mount -o remount,rw,commit=60 /dev/sda6
после этого процесс jbd2 стал нагружать винт меньше.В интернете вычитал, что можно отключить время доступа к файлам с помощью ключа noatime, но так как винт грузится только при работе virtualbox, то пошёл другим путём:
sudo chattr -RV +A /home/evg/VirtualBox\ VMs/
вроде стало лучше.Но atop всё равно частенько говорит что винт загружен.
DSK | sda | busy 91% | read 120 | write 38 | KiB/r 16 | | KiB/w 67 | MBr/s 0.97 | MBw/s 1.26 | avq 7.33 | avio 11.2 ms |Подскажите пожалуйста, что ещё можно сделать для улучшения?
PS:
информация о диске
#### START OF INFORMATION SECTION
Model Family: Seagate Barracuda Green (AF)
Device Model: ST1000DL002-9TT153
Serial Number: XXX
LU WWN Device Id: XXX
Firmware Version: CC32
User Capacity: 1 000 200 658 432 bytes [1,00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 5900 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Mon Feb 23 14:08:09 2015 YEKT
SMART support is: Available - device has SMART capability.
SMART support is: Enabledинформация smart
smartctl -a /dev/sda | grep -i -e "Error\|Device Model\|Serial Number\|Reallocate\|Pending\|correctable"
Device Model: ST1000DL002-9TT153
Serial Number: XXX
was completed without error.
without error or no self-test has ever
Error logging capability: (0x01) Error logging supported.
1 Raw_Read_Error_Rate 0x000f 100 099 006 Pre-fail Always - 2874848
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 084 060 030 Pre-fail Always - 257797142
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 1
SMART Error Log Version: 1
No Errors Logged
If Selective self-test is pending on power-up, resume after 0 minute delay.монтирование
/dev/sda6 on /home type ext4 (rw,relatime,commit=60,data=ordered)
>>ИМО виртуалки по любому на отдельный раздел(ы), хотя бы ext2 или ext3, для посмотреть
и
ИМО:
* relatime - убрать(relatime, если это связано с acess time даже относительно)
* commit = 60 - установить 5 сек
* data = ordered - установить journal, если виртуaлки важны>>
Обшие мысли по направлению копания:
- посмотреть и потестировать write(disk) caching in VirtualBox
- перенести на отдельный раздел(возожно диск/диски), отключить(перенастроить) журнал (в случае extN).
- дополнителтные опции:
(block size, noatime, dir_index, has_jornal, etc)P.S:
Хм, мое правило не больше 3-4 виртуалок одного семейства на разделе.
> ИМО виртуалки по любому на отдельный раздел(ы), хотя бы ext2 или ext3,пока такой возможности нет. В дальнейшем попробую. Спасибо.
> ИМО:
> * relatime - убрать(relatime, если это связано с acess time даже относительно)chattr -RV +A диски виртуалок, как раз для этого.
> * commit = 60 - установить 5 секкогда было 5 (то есть по умолчанию), то процесс jbd2 появлялся на первом месте загрузки раз в 5 сек. Потому и поставил 60.
> * data = ordered - установить journal, если виртуaлки важны
вот это пока не понял. Можно подробнее?
> Обшие мысли по направлению копания:
> - посмотреть и потестировать write(disk) caching in VirtualBoxв virtualbox подключил диски как SATA, настроил контроллер на AHCI и включил галку кешировать операции ввода/вывода. Стало гораздо, гораздо лучше.
> - перенести на отдельный раздел(возможно диск/диски), отключить(перенастроить) журнал
> (в случае extN).пока нет такой возможности, а как журнал можно перенастроить, и для чего?
> - дополнителтные опции:
> (block size, noatime, dir_index, has_jornal, etc)почитаю
> P.S:
> Хм, мое правило не больше 3-4 виртуалок одного семейства на разделе.угу :)
>> - дополнителтные опции:
>> (block size, noatime, dir_index, has_jornal, etc)
> почитаюdir_index, has_journal уже были включены
Какой лучше поставить размер блока?
etc - это в смысле и т.д., или это ещё одна опция где-то?
> Какой лучше поставить размер блока?
> etc - это в смысле и т.д., или это ещё одна опция
> где-то?Нек-рые опции достпны только на фазе создания раздела:
mkfs.ext* ( или mkfs.*) -b lala /dev/takoito
> Какой лучше поставить размер блока?Побольше.
> etc - это в смысле и т.д.
etc - и т.д.
P.S.:
забавная опция получилась бы
dd --etc lala
>> Какой лучше поставить размер блока?
> Побольше.
>> etc - это в смысле и т.д.
> etc - и т.д.
> P.S.:
> забавная опция получилась бы
> dd --etc lala:) ещё забавней --etc etc&etc
>> * commit = 60 - установить 5 сек
> когда было 5 (то есть по умолчанию), то процесс jbd2 появлялся на
> первом месте загрузки раз в 5 сек. Потому и поставил 60.Имо, это черезчур дофига - но это субъективно, лучше еще перечитать маны и с бумагой и ручкой прикинуть.
>> * data = ordered - установить journal, если виртуaлки важны
> вот это пока не понял. Можно подробнее?рук-во по типам логгирования журнала: man mkfs.ext{3,4}, tune2fs.
data=journal изменения данных пишутся в журнал, а потом уже на файлуху(самый надежный).
data={ordered,writeback} уже в манах
>> Обшие мысли по направлению копания:
>> - посмотреть и потестировать write(disk) caching in VirtualBox
> в virtualbox подключил диски как SATA, настроил контроллер на AHCI и включил
> галку кешировать операции ввода/вывода. Стало гораздо, гораздо лучше.ИБП есть ? или основной хост ноут ?
>> - перенести на отдельный раздел(возможно диск/диски), отключить(перенастроить) журнал
>> (в случае extN).
> пока нет такой возможности, а как журнал можно перенастроить, и для чего?mount -o data=lalala /dev/takoito
>> - дополнителтные опции:
>> (block size, noatime, dir_index, has_jornal, etc)
> почитаюP.S.:
Ну удачи.
> ИБП есть ? или основной хост ноут ?обычный комп, настольный. Хотя больше подойдёт подстольный :)
>>И еще, следить за фрагментаций виртульных дисков VMs(включая штатные ср-ва гостевых ОС) - имо, именно поэтому крайне рекомендутся как минимум oтдельный раздел.
>>>
> И еще, следить за фрагментаций виртульных дисков VMs(включая штатные ср-ва гостевых ОС)
> - имо, именно поэтому крайне рекомендутся как минимум oтдельный раздел.учту, спасибо
Ишо,
касаемо виндовых гостевых OS:
- установить файл подкачки фикс. размера (минимум - треть или четверть от RAM гостевой)
- если контролер домена - отключить в VirualBox/VMware/etc write caching
> Ишо,
> касаемо виндовых гостевых OS:
> - установить файл подкачки фикс. размера (минимум - треть или четверть
> от RAM гостевой)
> - если контролер домена - отключить в VirualBox/VMware/etc write cachingКогда включил, стало лучше. Почему надо отключить?
>> Ишо,
>> касаемо виндовых гостевых OS:
>> - установить файл подкачки фикс. размера (минимум - треть или четверть
>> от RAM гостевой)
>> - если контролер домена - отключить в VirualBox/VMware/etc write caching
> Когда включил, стало лучше. Почему надо отключить?
>>>- если контролер домена - отключить в VirualBox/VMware/etc write cachingтам было что-то связанное AD, уже не помню давно было, можно нарыть в инете.
>>Включать write caching надо только на ИБП и/или при data=journal но основном хосте.
Было много прецедентов(нет ИБП) на *nix при data != journal, как на основном так и на гоcтевых.Мои парaметры, основной параmeтр надежность (ибп отсутствует):
хост (для всех разделов с VM) data=journal, disable write cache(VBox/VMware/etc), гостевые data=journal.
> там было что-то связанное AD, уже не помню давно было, можно нарыть
> в инете.нашёл, значит отключаю кеш в виртуалке, и в гостевой с AD. Спасибо.
> нашёл, значит отключаю кеш в виртуалке, и в гостевой с AD. Спасибо.Не совсем верно,
еще раз из http://www.opennet.me/openforum/vsluhforumID15/4213.html#3касаемо виндовых гостевых OS:
- установить файл подкачки ФИКС. размера (минимум - треть или четверть от RAM гостевой)
- ЕСЛИ контролер домена (AD) - отключить в VirualBox/VMware/etc write caching - для этой виртуалки
> Мои парaметры, основной параmeтр надежность (ибп отсутствует):
> хост (для всех разделов с VM) data=journal, disable write cache(VBox/VMware/etc), гостевые
> data=journal.Комп обычный, домашний. Электричество отключают не так часто. ИБП нет. Блок питания компа неплохой. Виртуалки использую просто для тестов.
Поэтому выбрал такую схему:
* на хосте, раздел с дисками виртуалок монтирую с data=journal. Хотя может и data=ordered так как пошустрее.
* в настройках виртуалок, диски либо SATA AHCI, либо IDE. И в том и в другом случае на контроллере включаю кеширование. Исключение только для гостей с AD. На них либо совсем отключить кеширование, либо разместить логи SYSVOL и пр. на другой виртуальный диск и только на нём отключить кеширование.
* в госте, на разделе с логами AD отключить кеширование.
* очередь на диске повысить дефрагментацией по расписанию.
* в остальных гостях windows - включить кеш.
* в гостях linux монтировать с data=ordered
* отчасти повысить надёжность гостевых простым созданием снимков системВ дальнейшем выделить отдельных жёсткий диск для виртуалок. Разбить его на несколько разделов в расчёте 3 гостя на 1 раздел. При форматировании указать большой размер блока. Файловая система ext3.
Дальше будет видно.fail, спасибо.
> информация о диске
> Model Family: Seagate Barracuda Green (AF)
> Device Model: ST1000DL002-9TT153
> Rotation Rate: 5900 rpm
> SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)У тебя диск - Gовно. Я серьёзно. Для виртуалок возьми правильный.
>> информация о диске
>> Model Family: Seagate Barracuda Green (AF)
>> Device Model: ST1000DL002-9TT153
>> Rotation Rate: 5900 rpm
>> SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
> У тебя диск - Gовно. Я серьёзно. Для виртуалок возьми правильный.Плюсую.
>>> информация о диске
>>> Model Family: Seagate Barracuda Green (AF)
>>> Device Model: ST1000DL002-9TT153
>>> Rotation Rate: 5900 rpm
>>> SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
>> У тебя диск - Gовно. Я серьёзно. Для виртуалок возьми правильный.
> Плюсую.По той же самой причине (скорость контроллера)?
>> информация о диске
>> Model Family: Seagate Barracuda Green (AF)
>> Device Model: ST1000DL002-9TT153
>> Rotation Rate: 5900 rpm
>> SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
> У тебя диск - Gовно. Я серьёзно. Для виртуалок возьми правильный.И что на это указывает? Можете привести пример какой не gовно? :)
PS: всё-равно, он мне уже долго и надёжно служит. Так что всё равно его не брошу, потому что он хороший ;)
>>> информация о диске
>>> Model Family: Seagate Barracuda Green (AF)
>>> Device Model: ST1000DL002-9TT153
>>> Rotation Rate: 5900 rpm
>>> SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0 Gb/s) т.е работает все голишь на 3, хотя может на 6
> Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0
> Gb/s) т.е работает все голишь на 3, хотя может на 6Если медленный щпиндель воткнуть в более быстрый интерфейс, он станет от этого работать лучше? Серьезно?
>> Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0
>> Gb/s) т.е работает все голишь на 3, хотя может на 6
> Если медленный щпиндель воткнуть в более быстрый интерфейс, он станет от этого
> работать лучше? Серьезно?в то время когда я покупал, винты с 7200 rpm в моём городе только появлялись, думал что они ещё не оттестированы как следует, не хотелось рисковать.
К тому же факторами были:
* тишина :)
* хорошая работа, при небольших толчках (прыжки, падение гири 16 кг:) на пол на котором стоит системник),
* надежность, магнитная головка проходит над сектором медленнее, а значит при одинаковом магнитном поле, область на блине будет сильнее поляризована, то есть запись получится качественнее, пройдёт больше времени до размагничивания.Но как показывает время, я ошибался. Всё тоже самое стало возможным и при большей скорости шпинделя
> Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0
> Gb/s) т.е работает все голишь на 3, хотя может на 6Какая разница как включен диск, если чтение даже в самом идеальном случае не превысит 2Gb/s?
> Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0
> Gb/s) т.е работает все голишь на 3, хотя может на 6я так понимаю, что это скорость по интерфейсу, то есть, грубо говоря, от разъёма на матери, до разъёма на винте. Если SATA контроллер на матери не может работать на частоте которая поддерживает скорость более 3Gb/s, то скорость на интерфейсном кабеле будет только 3Gb/s. В таком случае нельзя судить о винте по этому параметру. И как мне кажется, этот показатель вообще никак не относится к скорости чтения/записи самого диска, так как в наше время пока что скорость на кабеле всегда намного больше, хоть на SATA, хоть на IDE в режиме UltraDMA.
Если ошибаюсь, то поправьте пожалуйста.
PS: посмотрел характеристики матери.
6 x SATA 3 Гбит/с
> PS: посмотрел характеристики матери.
> 6 x SATA 3 Гбит/сХочешь поговорить о своей материнке? Ок.
Ты помнишь что было сказано о твоем винте? Ну дык эта ... :)
>> PS: посмотрел характеристики матери.
>> 6 x SATA 3 Гбит/с
> Хочешь поговорить о своей материнке? Ок.
> Ты помнишь что было сказано о твоем винте? Ну дык эта ...
> :)Кстати да, а что за железо вообще юзаете?Подозревают,что самосбор какой-то серенький и пытаетесь взлететь при этом.
> Кстати да, а что за железо вообще юзаете?Подозревают,что самосбор какой-то серенький и
> пытаетесь взлететь при этом.обычный домашний комп, я не пытаюсь заставить его работать лучше чем возможно. Мне интересно понять, что нужно чтобы заставить его работать с диском как можно лучше, быстрее, без очередей и т.д.
PS: мать Gigabyte GA-MA770T-UD3 rev 1.1
http://www.gigabyte.ru/products/page/mb/ga-ma770t-ud3_11
>> PS: посмотрел характеристики матери.
>> 6 x SATA 3 Гбит/с
> Хочешь поговорить о своей материнке? Ок.
> Ты помнишь что было сказано о твоем винте? Ну дык эта ...
> :)вот ничего конкретного вы ещё не сказали, разговор ни о чём, переливаете из пустого в порожнее. Ладно бы там идею, совет какой дали, а так пахнет не слишком тонким тролем :)
> * data = ordered - установить journal, если виртуaлки важныFYI: на стоковом ядре 2.6.32 в CentOS 6 включение data=journal на ext4 разделе снижает производительность MySQL на порядок, на 3.10.x из ELRepo падение не более 5-10%
> Проблема не в диске, а в контроллере, 6.0 Gb/s (current: 3.0 Gb/s) т.е работает все голишь на 3, хотя может на 6
вы про IOPS что то слышали?