Бездна, не бездна, никто ж не заставляет ее целиком делать именно в VFS. Мелкомягкие вон не надорвались хоть как-то сделать - и я временами сталкиваюсь с ситуацией, когда при копировании с чужого диска (с NTFS) на машину с уебунтой - вижу ругань на слишком длинные имена. При том, что в _символах_ (не байтах) не особо-то они и длинные. При этом на NTFS - UTF-16, а на ext4 у меня из него образуется UTF-8, которую слишком уж любит всякая англоязычная сволочь, не желающая знать о других языках.
А что в юникод понапихано всякого, чего там по уму быть не должно (начиная с тех же лигатур) - ну, а шо делать, зоопарк из кучи кодировок ещё хуже.
> ... меня сейчас больше бесит лимит на 15 символов для имени интерфейса.
...15 байт наверняка, не символов. А сколько надо? Как у имени файла - 255? Может, ещё и с пробелами? (вот это был бы КОШМАРИЩЕ)
Если ты делаешь unicode неполным, это хуже, чем если ты его вообще не делаешь, а используешь просто как байтстрим.
Объясняю, почему 15 символов жопа. Виртуальных интерфейсов может быть много.
Вот, например, у меня интерфейс mock_bgp_as_65535_outside (пара с veth в mock_bgp_as_65535_inside). Но нет, на самом деле оно называется bgp_ma65535i, потому что 15. Понятнее, да?
Тогда уже назревает вопрос, а не нужны ли тут деревья вместо просто длинных имён, и какого вообще фига сетевые интерфейсы не видны в /dev, как прочие устройства. Было б /dev/ethernet/mock/... или как-то так... А, ну есть /sys/class/net/..., но один фиг настраиваемость "дерева" в случае статыщ интерфейсов не помешала бы.
/sys/class/net всего лишь переменные ядра, а не сами объекты. Теоретически, иметь сетевые интерфейсы в форме /sys/class/net было было бы круто. Я, кстати, никогда не понимал, почему сетевые интерфейсы такие специальные устройства, которым не полагается major для файла. Модем - устройство, а сетевой интерфейс на базе модема - нет. Странно.
Хе. https://www.opennet.ru/opennews/art.shtml?num=52496 "В systemd-udevd и другие компоненты systemd добавлена поддержка механизма назначения альтернативных имён сетевым интерфейсам, позволяющего одновременно применять для одного интерфейса сразу несколько имён. Размер имени может достигать 128 символов"
Ээээ... это как?! В настройках systemd-udevd можно задать имя, которое ведро не поймёт?! Или там какое-то подобие ситуации с симлинками на /dev/sdX в виде /dev/disk/by-xxx/yyy? Если последний случай - то и ладно бы, вполне себе вариант...
PS. (Не)кстати о дисках: на говнохабре тут некто на интересные грабли с именованием устройств и разделов NVME наступил: https://habr.com/ru/post/491454/ Если это не отдельный взбрык на отдельной машине - то это как-то того-с.
Чушь пишут. Да, у nvme первое устройство - символьное. Как и у многих аппаратных рейдов. Люди, перед тем, как что-то с рейдом делать, обычно смотрят на /proc/mdstat, хотя бы. А человек напечатал фигню и потом рассказывает, что он напечатал фигню.
ЗЫ С переименованием сетевых интерфейсов эпично, потому у меня есть usb-wifi-сетевуха, которую если воткнуть в док-станцию Thunderbolt, по new name convention получает имя, которое слишком длинное.
А лимит 15 символов есть. Я не смотрел, можно ли его поменять.
Во-первых, использовать smartctl для nvme - это спорно, мягко говоря. Можно, но SMART - это фича SATA. А nvme, это, мягко говоря, другой интерфейс. Мягко говоря.
Это всё равно, как требовать от smartctl всё знать и уметь про sas-диски.
Я вот зашёл на wiki у smartmontools и там сказано "Smartmontools supports NVMe starting from version 6.5. Please note, that currently NVMe support is considered as experimental. "
> Можно, но SMART - это фича SATA. А nvme, это, мягко говоря, другой интерфейс.
Мягко говоря, на интерфейс начхать. ATAPI/SATA/SAS/NVME/... один фиг блочное устройство, и вполне логично было бы иметь единый способ спрашивать "а скока там осыпавшихся блоков, не пора ли менять железку?". Т.е. как минимум атрибуты 5, 174, 194, 196, 197, 198 вполне универсальны для мониторинга любых типов подобных устройств, есть там внутре блины или нет, а за всякие vendor-specific, торчащие наружу (если для них нет открытой документации) вендорам следует рубить руки ссаными тряпками.
Прости меня, какие атрибуты универсальны для scsi-сканера? А для tape-устройства?
Я понимаю, что тебе хочется всё под одну гребёнку. Linux и так тебе ВСЁ под одну гребёнку, так что ты не замечаешь разницы между SD-карточкой, usb mass storage, sata-ssd, iscsi-устройством и high-end sas-полкой за двумя рейдами с избыточностью, но есть граница между универсальностью и фичами.
Ты не можешь спрашивать рейд-контроллер, подключенный к полке с multipath о тех же параметрах, о которых ты спрашиваешь диск.
Ну, как раз, например, для полки что-то шмарт-образное и имело б смысл. Отвечает о битых секторах "вообще" - пора проверять составляющие массив устройства. Температуру сообщать для самого горячего устройства в полке. И т.п. SCSI-сканеры, кажется, уже вымерли. И я под блочными устройствами выше имел в виду только storage, разумеется. Для ленты понятие битых блоков вполне имеет смысл, температуры потрохов, с некоторой натяжкой - тоже. В лентожевалках вполне есть чему перегреваться. Т.е. обобщённый интерфейс мониторинга с атрибутами "у вас косяк примерно такого типа" однозначно был бы полезен. Причем как раз простой, как обрезок от шмарта, а не snmp какое-нибудь архиразвесистое.
Я̷̛̣̜͛ͦ͒ͦ̃͞͡ ̢̋͐́͛̔̚͠͠҉̩͚͙з̴̺̯̳̤͓̯̾̔ͮ͢н̨̼̝͍̰̞͋ͮ̿͘а̨͎̩͇̫̦͗̚͢ю̵̶̓̓́҉̭̗̘̀͡ ̴̨̧͈̪̯̞̰̳̝̱̆ͭͪ͛́͢п̵͉͉͓̻͋̂̄ͦ̅ͤ̑̔͝р̊̎̌ͤ̇͆ͮ͏̷̡̮͓̮͎̥͚͚͈͝о̡͑̽̋̌̃͂̚͟͠͏̷̙̲̙͈̙͕̟͈̀͝ ̧̛͕̦̋̓ͅл̧̳͙̟̤̔ͣ̄͊̀͘͘͡и̐͋҉̶̖̤̘̹͕͠г̛ͨͯ̊̀͏̷̣͖͟͢а̵̵̶̢̮̯̌ͪͨ͞т̶̡̢̛̭͙͖̠͇̭͎̻͑̂͂̽̌͘̕͢͝у̵̪̠̘̪͊ͭͭ̆͞͡р̨̡͕̳̬̙̻͉̪̂̂ͬ̎̏̒̀̀́͜͠ͅы̷̢̙̹̯̥͆̃̎͗ͦ́͟.̨͉͈͍̲͊͋͗̾̌̀͗͞͡
> Unicode - бездна
Бездна, не бездна, никто ж не заставляет ее целиком делать именно в VFS. Мелкомягкие вон не надорвались хоть как-то сделать - и я временами сталкиваюсь с ситуацией, когда при копировании с чужого диска (с NTFS) на машину с уебунтой - вижу ругань на слишком длинные имена. При том, что в _символах_ (не байтах) не особо-то они и длинные. При этом на NTFS - UTF-16, а на ext4 у меня из него образуется UTF-8, которую слишком уж любит всякая англоязычная сволочь, не желающая знать о других языках.
А что в юникод понапихано всякого, чего там по уму быть не должно (начиная с тех же лигатур) - ну, а шо делать, зоопарк из кучи кодировок ещё хуже.
> ... меня сейчас больше бесит лимит на 15 символов для имени интерфейса.
...15 байт наверняка, не символов. А сколько надо? Как у имени файла - 255? Может, ещё и с пробелами? (вот это был бы КОШМАРИЩЕ)
Reply
Объясняю, почему 15 символов жопа. Виртуальных интерфейсов может быть много.
Вот, например, у меня интерфейс mock_bgp_as_65535_outside (пара с veth в mock_bgp_as_65535_inside). Но нет, на самом деле оно называется bgp_ma65535i, потому что 15. Понятнее, да?
Reply
А, ну есть /sys/class/net/..., но один фиг настраиваемость "дерева" в случае статыщ интерфейсов не помешала бы.
Reply
Reply
Reply
А вот там, эcкейпят, кстати.
lrwxrwxrwx 1 root root 0 Mar 5 17:20 ''$'\033''[2J' -> '../../devices/pci0000:00/0000:00:1c.4/0000:3a:00.0/net/'$'\033''[2J'
Reply
Reply
"В systemd-udevd и другие компоненты systemd добавлена поддержка механизма назначения альтернативных имён сетевым интерфейсам, позволяющего одновременно применять для одного интерфейса сразу несколько имён. Размер имени может достигать 128 символов"
Reply
Reply
Или там какое-то подобие ситуации с симлинками на /dev/sdX в виде /dev/disk/by-xxx/yyy?
Если последний случай - то и ладно бы, вполне себе вариант...
PS. (Не)кстати о дисках: на говнохабре тут некто на интересные грабли с именованием устройств и разделов NVME наступил: https://habr.com/ru/post/491454/
Если это не отдельный взбрык на отдельной машине - то это как-то того-с.
Reply
ЗЫ С переименованием сетевых интерфейсов эпично, потому у меня есть usb-wifi-сетевуха, которую если воткнуть в док-станцию Thunderbolt, по new name convention получает имя, которое слишком длинное.
А лимит 15 символов есть. Я не смотрел, можно ли его поменять.
Reply
Так блин в чём и дело-то. В массиве одно устройство, шмарт опрашивает другое. И где смотреть, какое к кому относится?
Reply
Это всё равно, как требовать от smartctl всё знать и уметь про sas-диски.
Я вот зашёл на wiki у smartmontools и там сказано "Smartmontools supports NVMe starting from version 6.5. Please note, that currently NVMe support is considered as experimental. "
А так, вообще-то, есть nvme-cli.
Reply
Мягко говоря, на интерфейс начхать. ATAPI/SATA/SAS/NVME/... один фиг блочное устройство, и вполне логично было бы иметь единый способ спрашивать "а скока там осыпавшихся блоков, не пора ли менять железку?".
Т.е. как минимум атрибуты 5, 174, 194, 196, 197, 198 вполне универсальны для мониторинга любых типов подобных устройств, есть там внутре блины или нет, а за всякие vendor-specific, торчащие наружу (если для них нет открытой документации) вендорам следует рубить руки ссаными тряпками.
Reply
Я понимаю, что тебе хочется всё под одну гребёнку. Linux и так тебе ВСЁ под одну гребёнку, так что ты не замечаешь разницы между SD-карточкой, usb mass storage, sata-ssd, iscsi-устройством и high-end sas-полкой за двумя рейдами с избыточностью, но есть граница между универсальностью и фичами.
Ты не можешь спрашивать рейд-контроллер, подключенный к полке с multipath о тех же параметрах, о которых ты спрашиваешь диск.
Reply
SCSI-сканеры, кажется, уже вымерли. И я под блочными устройствами выше имел в виду только storage, разумеется.
Для ленты понятие битых блоков вполне имеет смысл, температуры потрохов, с некоторой натяжкой - тоже. В лентожевалках вполне есть чему перегреваться.
Т.е. обобщённый интерфейс мониторинга с атрибутами "у вас косяк примерно такого типа" однозначно был бы полезен.
Причем как раз простой, как обрезок от шмарта, а не snmp какое-нибудь архиразвесистое.
Reply
Leave a comment