LINUX.ORG.RU

Вращающиеся флешки

 ,


0

1

Fedora 29, хотя судя по гуглу, такое не только там, но и советов я особо не нашёл. Собственно, ситуация:

# lsblk -d -o name,rota
NAME  ROTA
sda      0
sdb      0
sdc      1
sdd      1
sde      1
sdf      1
sdg      1
sr0      1
zram0    0
Пояснение:

  • sda, sdb - относительно небольшие ssd, под систему (sdb под венду, ибо Windows 10 охренела и некоторые патчи ставит только с физическим отключенным диском Linux);
  • sdc, sdd - вестерновские диски для хомяка;
  • sde, sdf, sdg - флешки и sd-карта;
  • sr0 - да, dvd привод уже мхом порос, но жрать не просит, так что стоит.

Собственно вопрос в том, какого чёрта система считает, что usb-флешки это вращающиеся устройства? Что исправно отображается и в /sys и мешает автоматически назначить им правильный планировщик...

★★★★★

Последнее исправление: atrus (всего исправлений: 1)

вращающиеся устройства? Что исправно отображается

Хм, это ещё как? Где смотреть? Линукс как-то может отличить HDD от всего остального? Или что ты подразумеваешь под «вращающимися устройствами»?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

"она так видит"

гипотеза возможно флешки воспринимаются, как USB-HDD.

«как победить» ( вероятно) через правила udev.

anymouze ★★
()
Ответ на: комментарий от Deleted

Где смотреть?

cat /sys/block/sda/queue/rotational

Линукс как-то может отличить HDD от всего остального?

Да, современные накопители стали больно умными. Умеют многое о себе рассказать.

Или что ты подразумеваешь под «вращающимися устройствами»?

Есть вращающаяся механическая часть, скорость доступа зависит от времени позиционирования механических частей.

atrus ★★★★★
() автор топика
Последнее исправление: atrus (всего исправлений: 1)
Ответ на: "она так видит" от anymouze

возможно флешки воспринимаются, как USB-HDD

Да почти наверняка.

«как победить» ( вероятно) через правила udev.

Ещё бы знать как. А то ответ в стиле математика: точный, быстрый и абсолютно бесполезный...

atrus ★★★★★
() автор топика
Ответ на: комментарий от atrus

ответ соответствует задаче :)

Сначала посмотреть, что о них известно (вывод будет длинный) (публиковать пока не нужно)

udevadm info -a -n sde|less
udevadm info -a -n sdf|less
потом на основе этих данных «сделать» правило.

мешает автоматически назначить им правильный планировщик...

расшифруйте для «математика», что именно нужно сделать

карта памяти (sdg ?) не «вращается»? у неё «нужный» планировщик?

anymouze ★★
()
Ответ на: комментарий от atrus

У меня sdb и sdc - hdd 7200. Но оба

cat /sys/block/sdb/queue/rotational
0
cat /sys/block/sdc/queue/rotational
0
Работают так лет ~5. Мне начинать паниковать?)

anonymous
()
Ответ на: комментарий от anymouze

расшифруйте для «математика», что именно нужно сделать

Правило udev у меня написано:

ACTION=="add|change", SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

карта памяти (sdg ?) не «вращается»? у неё «нужный» планировщик?

«Вращается», конечно. rotational = 1

atrus ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Работают так лет ~5. Мне начинать паниковать?)

Возможно. :)

atrus ★★★★★
() автор топика
Ответ на: комментарий от anymouze

Сначала посмотреть, что о них известно

Есть интересные моменты.

udevadm info -a -n sd? | grep queue

Для ssh и hdd выдаёт что-то типа

ATTRS{queue_depth}=="32"
ATTRS{queue_ramp_up_period}=="120000"
ATTRS{queue_type}=="simple"
а для флешек и sd-карточки:
ATTRS{queue_depth}=="1"
ATTRS{queue_type}=="none"

Было бы неплохо, если бы присутствующие потестили свои диски и сказали, что выдаёт. Особенно интересны usb hdd в контейнерах и usb ssd (не флешки).

atrus ★★★★★
() автор топика
Ответ на: комментарий от atrus

посмотрел... у меня и ssd «вращается» :)

ATTR{queue/scheduler}=«deadline»

не применяется или нужно другого назначить?

Ха. если, так

ACTION=="add|change", SUBSYSTEM=="block", ATTR{removable}=="1", ATTR{queue/scheduler}="deadline"

или для конкретных экземпляров по ATTRS{serial}=="..." (ATTRS{idProduct}=="...", ATTRS{idVendor}=="..." как вариант)

anymouze ★★
()
Ответ на: ну... от anymouze

Я потещу сам. У меня есть usb контейнер и пара обычных 2.5" hdd, которые туда ткнуть можно. Посмотрим. Возможно usb просто не позволяет получить такую информацию и ядро перестраховывается.

В принципе это не фатально, для флешек не особо важно оптимальный планировщик или нет, всё одно они не постоянно используются.

atrus ★★★★★
() автор топика
Ответ на: комментарий от anymouze

не применяется или нужно другого назначить?

Он не применяется потому что udev выставляет, что флешка вращающаяся.

или для конкретных экземпляров по ATTRS{serial}=="..." (ATTRS{idProduct}=="...", ATTRS{idVendor}=="..." как вариант)

Для конкретных вариантов не сложно, просто я решил переоформить это в универсальные решения и вместо того, чтобы таскать с одной системы на другую ворох скриптов распихать их по пакетам и засунуть в репозиторий. (https://copr.fedorainfracloud.org/coprs/pda/sysutils/)

atrus ★★★★★
() автор топика

Если оно не уверено, rotational твой диск, или нет, то по умолчанию будет 1.

mord0d ★★★★★
()
Ответ на: комментарий от atrus

Универсального варианта нет (пока не видно), т.к. USB Mass Storage «плохо различаются». С внутренними носителями система общается через внутренние контроллеры и понимает* (почти) с чем работает. Что за устройство за «внешним» контроллером на шине USB — «кто его знает»

anymouze ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.