Link copied to your clipboard
Фильтр ленты:
Pinned Items
Recent Activities
  • Компания iXsystems, развивающая дистрибутив для быстрого развёртывания сетевых хранилищ FreeNAS и основанные на нём коммерческие продукты TrueNAS, объявила о начале работы над новым открытым проектом TrueNAS SCALE. Особенностью TrueNAS SCALE...
    Компания iXsystems, развивающая дистрибутив для быстрого развёртывания сетевых хранилищ FreeNAS и основанные на нём коммерческие продукты TrueNAS, объявила о начале работы над новым открытым проектом TrueNAS SCALE. Особенностью TrueNAS SCALE стало использование ядра Linux и пакетной базы Debian 11 (Testing), в то время как все ранее выпускаемые продукты компании, в том числе TrueOS (бывший PC-BSD), основывались на FreeBSD.

    Из целей создания нового дистрибутива называется расширение масшатабирования, упрощение управления инфраструктурой, применение Linux-контейнеров и ориентация на создание программно-определяемых инфраструктур. Как и во FreeNAS в TrueNAS SCALE делается ставка на файловую систему ZFS в реализации от проекта OpenZFS (в качестве эталонной реализации ZFS предлагается ZFS On Linux). В TrueNAS SCALE также будут использоваться инструменты, разрабатываемые iXsystems для FreeNAS и TrueNAS 12.

    Разработка и поддержка FreeNAS, TrueNAS CORE и TrueNAS Enterprise на основе FreeBSD будет продолжена без изменений. Ключевая идея инициативы в том, что OpenZFS 2.0 будет предоставлена поддержка как Linux, так и FreeBSD, что открывает двери для экспериментов по созданию универсального инструментария для NAS, не привязанного к конкретной операционной системе, и позволяет начать экспериментировать с Linux. Применение Linux позволит реализовать некоторые идеи, недостижимые при использовании FreeBSD. В итоге решения на основе FreeBSD и Linux будут сосуществовать и дополнять друг друга, используя общую кодовую базу инструментария.

    Разработка специфичных для TrueNAS SCALE сборочных сценариев ведётся на GitHub. В течение следующего квартала планируется опубликовать более дательную информацию об архитектуре и предложить периодически обновляемые тестовые сборки для ознакомления с ходом разработки. Первый релиз TrueNAS SCALE н намечен на 2021 год.

    Напомним, что два месяца назад компания iXsystems объявила об объединении свободного дистрибутива FreeNAS с коммерческим проектом TrueNAS, расширяющем возможности FreeNAS для предприятий, а также приняла решение о прекращении развития проекта TrueOS (бывший PC-BSD). Интерсно, что в 2009 году от FreeNAS уже отделился дистрибутив OpenMediaVault, который был переведён на ядро Linux и пакетную базу Debian.
    Подробнее
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    Unity - недооценённый шедевр | Ubuntu
    Делюсь мыслями о том, почему графическая оболочка Unity была недооценена, и почему ценить её начали уже после её смерти. Скачать Ubuntu Unity Remix: https://...
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.7. Среди наиболее заметных изменений: новая реализация ФС exFAT, модуль bareudp для создания UDP-туннелей, защита на основе аутентификации указателей для ARM64,...
    После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 5.7. Среди наиболее заметных изменений: новая реализация ФС exFAT, модуль bareudp для создания UDP-туннелей, защита на основе аутентификации указателей для ARM64, возможность прикрепления BPF-программ к LSM-обработчикам, новая реализация Curve25519, детектор "split-lock", совместимость BPF с PREEMPT_RT, снятие ограничения на 80-символьный размер строки в коде, учёт показателей температуры CPU в планировщике задач, возможность использования clone() для порождения процессов в другом cgroup, защита от записи в память при помощи userfaultfd.

    В новую версию принято 15033 исправлений от 1961 разработчиков, размер патча - 39 МБ (изменения затронули 11590 файлов, добавлено 570560 строк кода, удалено 297401 строк). Около 41% всех представленных в 5.7 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 4% - с файловыми системами и 4% c внутренними подсистемами ядра.

    Основные новшества:

    Дисковая подсистема, ввод/вывод и файловые системы
    Добавлена новая реализация драйвера exFAT, основанная на актуальной кодовой базе "sdfat" (2.x), развиваемой компанией Samsung для своих Android-смартфонов. Ранее добавленный в ядро драйвер был основан на устаревшем коде Samsung (версия 1.2.9) и отставал по производительности он нового драйвера примерно на 10%. Напомним, что добавление поддержки exFAT в ядро стало возможным после того, как компания Microsoft опубликовала общедоступные спецификации и предоставила возможность безвозмездного использования патентов на exFAT в Linux.
    В Btrfs реализована новая команда ioctl() - BTRFS_IOC_SNAP_DESTROY_V2, позволяющая удалять подраздел по его идентификатору. Обеспечена полная поддержка клонирования inline-экстентов. Расширено число точек отмены операций перераспределения, что позволило сократить длительные ожидания при выполнении команды 'balance cancel'. Ускорено определение обратных ссылок на экстенты (например, время выполнения тестового сценария уменьшилось с часа до нескольких минут). Добавлена возможность прикрепления к каждому inode дерева экстентов файла. Переработана схема блокировки, используемая при записи в подразделы и при исключении NOCOW. Повышена эффективность выполнения fsync для диапазонов.
    В XFS улучшена проверка метаданных и выполнение fsck для активных разделов. Предложена библиотека для перестроения структур btree, которая в будущем будет использована для переработки xfs_repair и реализации возможности восстановления без отмонтирования раздела.
    В CIFS добавлена эксперимантальная поддержка размещения раздела подкачки в SMB3-хранилищах. Реализованы POSIX-расширения в readdir, определённые в спецификации SMB3.1.1. Повышена производительность записи для страниц размером 64KB при включении режима cache=strict и использовании версий протокола 2.1+.
    ФС EXT4 переведена с bmap и iopoll на использование iomap.
    В F2FS реализована опциональная поддержка сжатия данных с использованием алгоритма zstd. По умолчанию для сжатия задействован алгоритм LZ4. Добавлена поддержка команды "chattr -c commit". Обеспечено отображение времени монтирования. Добавлен ioctl F2FS_IOC_GET_COMPRESS_BLOCKS для получения сведений о числе сжатых блоков. Добавлены данные о сжатии, выводимые через statx.
    В файловой системе Ceph добавлена возможность локального выполнения операций создания и удаления (unlink) файла без ожидания ответа от сервера (работа в асинхронном режиме). Изменение, например, позволяет заметно поднять производительность при работе утилиты rsync.
    В OVERLAYFS добавлена возможность использования virtiofs в качестве ФС верхнего уровня.
    Переписан код обхода путей в VFS, переделан код разбора символических ссылок и унифицирован обход точек монтирования.
    В подсистеме scsi непривилегированным пользователям разрешено выполнение команд ZBC.
    В dm_writecache реализована возможность постепенной очистки кэша на основании параметра max_age, задающего максимальное время жизни блока.
    В dm_integrity добавлена поддержка операции "discard".
    В null_blk добавлена поддержка подстановки ошибок для симуляции сбоев при проведении тестирования.
    Добавдлена возможность отправки udev-уведомлений об изменении размера блочного устройства.
    Сетевая подсистема
    В Netfilter включены изменения, значительно ускоряющие обработку больших списков сопоставления (nftables set), в которых требуется проверка сочетания подсетей, сетевых портов, протокола и MAC-адресов. Оптимизации внесены в модуль nft_set_pipapo (PIle PAcket POlicies), решающий задачу сопоставления содержимого пакета с применяемыми в правилах фильтрации произвольными диапазонами состояния полей, такими как диапазоны IP и сетевых портов (nft_set_rbtree и nft_set_hash манипулируют сопоставлением интервалов и прямым отражением значений). Векторизированная при помощи 256-разрядных инструкций AVX2 верcия pipapo на системе с процессором AMD Epyc 7402 показала прирост производительности на 420% при разборе 30 тысяч записей, включающих связки порт-протокол. Прирост при сопоставлении связки из подсети и номера порта при разборе 1000 записей составил 87% для IPv4 и 128% для IPv6.
    Добавлен модуль bareudp, позволяющий инкапсулировать в UDP-туннель различные L3-протоколы, такие как MPLS, IP и NSH.
    Продолжена интеграция компонентов MPTCP (MultiPath TCP), расширения протокола TCP для организации работы TCP-соединения с доставкой пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам.
    Добавлена поддержка механизмов аппаратного ускорения инкапсуляции Ethernet-кадров в 802.11 (Wi-Fi).
    При перемещении устройства из одного пространства имён сетевой подсистемы (network namespace) в другое обеспечена корректировка прав доступа и владельца соответствующих файлов в sysfs.
    Виртуализация и безопасность
    Добавлена аппаратная реализация аутентификации указателей (Pointer Authentication), использующая специализированные инструкции CPU ARM64 для защиты от атак, использующих приёмы возвратно-ориентированного программирования (ROP) при которых атакующий не пытается разместить свой код в памяти, а оперирует уже имеющимися в загруженных библиотеках кусками машинных инструкций, завершающихся инструкцией возврата управления. Защита сводится к использованию цифровых подписей для проверки адресов возврата на уровне ядра. Подпись хранится в неиспользуемых верхних битах самого указателя. В отличие от программных реализаций создание и проверка цифровых подписей производится при помощи специальных инструкций CPU.
    Добавлена возможность защиты области памяти от записи при помощи системного вызова userfaultfd(), предназначенного для обработки page faults (обращение к невыделенным страницам памяти) в пространстве пользователя. Идея в том, чтобы использовать userfaultfd() и для отслеживания нарушения доступа к страницам, помеченным защищёнными от записи, и вызова обработчика, который может реагировать на подобные попытки записи (например, для обработки изменений в процессе создания live-снапшотов работающих процессов, фиксации состояния при сбросе дампов памяти на диск, реализации разделяемой памяти, отслеживания изменений в памяти). Функциональность эквивалентна применению mprotect() в связке с обработчиком сигнала SIGSEGV, но работает заметно быстрее.
    В SELinux объявлен устаревшим параметр "checkreqprot", позволяющий отключить проверку защиты памяти при обработке правил (допускал использование исполняемых областей памяти, независимо от предписаний, заданных в правилах). Символическим ссылкам kernfs разрешено наследование контекста родительских каталогов.
    В состав включён модуль KRSI, позволяющий прикреплять BPF-программы к любым LSM-хукам в ядре. Изменение позволяет создавать LSM-модули (Linux Security Module) в форме BPF-программ для решения задач аудита и мандатного контроля доступа.
    Реализация эллиптической кривой Curve25519 заменена на вариант из библиотеки HACL, для которого приведено математическое доказательство формальной верификации надёжности.
    Добавлен механизм информирования о свободных страницах памяти. При помощи данного механизма гостевые системы могут передавать хост-системе сведения о страницах, которые больше не используются, и данные страницы хост может забрать обратно.
    В vfio/pci добавлена поддержка SR-IOV (Single-Root I/O Virtualization).
    Память и системные сервисы
    C 80 до 100 символов увеличено ограничение на максимальную длину строки в исходных текстах. При этом разработчикам по-прежнему рекомендуется держаться в границах 80 символов в строке, но это теперь не является жёстким лимитом. Кроме того, превышение лимита на размер строки теперь будет приводить к выводу предупреждения при сборке только если утилита checkpatch запущена с опцией "--strict'. Изменение даст возможность не отвлекать разработчиков на манипуляции с пробелами и более свободно чувствовать себя при выравнивании кода.
    Добавлена поддержка смешанного режима загрузки EFI, позволяющего без применения специализированного загрузчика загрузить 64-разрядное ядро из 32-разрядной прошивки, выполняемой на 64-разрядном CPU.
    Включена система выявления и отладки расщеплённых блокировок ("split lock"), возникающих при доступе к невыровненным данным в памяти из-за того, что при выполнении атомарной инструкции данные пересекают две линии кэша CPU. Подобные блокировки приводят к значительному падению производительности (на 1000 циклов медленнее, чем атомарная операция с данными, попадающими в одну линию кэша). В зависимости от загрузочного параметра "split_lock_detect" ядро может на лету выявлять подобные блокировки и выводить предупреждения или отправлять сигнал SIGBUS приложению, вызвавшему блокировку.
    В планировщике задач обеспечено отслеживание показателей датчиков температуры (Thermal Pressure) и реализован учёт перегрева при размещении задач. Пользуясь выдаваемой статистикой обработчик температуры (thermal governor) может корректировать максимальную частоту CPU при перегреве, а планировщик задач теперь учитывает снижение вычислительной мощности из-за подобного урезания частоты при планировании запуска задач (раньше планировщик реагировал на изменение частоты с определённой задержкой, какое-то время принимая решения на основе завышенных предположениях о доступных вычислительных ресурсах).
    В планировщике задач задействованы инвариантные показатели отслеживания нагрузки, позволяющие корректно оценить нагрузку, независимо от текущей частоты работы CPU. Изменение позволяет более точно прогнозировать поведение задач в условиях динамического изменения вольтажа и частоты CPU. Например, задача, которая потребляла 1/3 ресурсов CPU при частоте 1000 MHz, станет потреблять 2/3 ресурсов при снижении частоты до 500 MHz, что раньше создавало ложное предположение о работе на полную мощность (т.е. задачи для планировщика казались более крупными только за счёт снижения частоты, что приводило к принятую неверных решений в schedutil cpufreq governor).
    Реализована возможность использования подсистемы BPF при работе ядра в режиме реального времени (PREEMPT_RT). Ранее при включении PREEMPT_RT предписывалось отключение BPF.
    Добавлен новый тип BPF-программ - BPF_MODIFY_RETURN, которые могут прикрепляться к функции в ядре и изменять возвращаемое данной функцией значение.
    Добавлена возможность использования системного вызова clone3() для создания процесса в cgroup, отличающемся от родительского cgroup, что позволяет родительскому процессу применить ограничения и включить аккаунтинг сразу после порождения нового процесса или потока. Например, сервисный менеджер может напрямую выделять новые сервисы в отдельные cgroup, а новые процессы при помещении в "замороженные" cgroup и будут сразу остановлены.
    в Kbuild добавлена поддержка переменной окружения "LLVM=1" для переключения на инструментарий Clang/LLVM при сборке ядра. Подняты требования к версии binutils (2.23).
    В debugfs добавлена секция /sys/kernel/debug/kunit/ с результатами тестов kunit.
    Добавлен параметр загрузки ядра pm_debug_messages (аналог/sys/power/pm_debug_messages), включающий вывод отладочной информации о работе системы управления питанием (полезно при отладке проблем со спящим и ждущим режимом).
    В интерфейс асинхронного ввода/вывода io_uring добавлена поддержка splice() и атомарного выбора буферов.
    Улучшено профилирование cgroup при помощи инструментария perf. Ранее perf мог профилировать задачи только в определённом cgroup и не мог узнать к какой cgroup принадлежит текущий образец. Теперь perf получает сведения о cgroup для каждой выборки, что позволяет профилировать более одного cgroup и применять сортировку по cgroup в отчётах.
    В cgroupfs, псевдо-ФС для управления cgroups, добавлена поддержка расширенных атрибутов (xattrs) при помощи которых, например, можно оставлять дополнительную информацию для обработчиков в пространстве пользователя.
    В cgroup memory controller добавлена поддержка рекурсивной защиты значения "memory.low", регулирующего минимальный объём оперативной памяти, предоставленной участникам группы. При монтировании иерархии cgroup с опцией "memory_recursiveprot" значение "memory.low", которое установлено для нижних узлов, автоматически будет распределяться для всех дочерних узлов.
    Добавлен фреймворк Uacce (Unified/User-space-access-intended Accelerator Framework) для совместного использования виртуальных адресов (SVA, Shared Virtual Addressing) между CPU и периферийными устройствами, позволяющий аппаратным ускорителям получить доступ к структурам данных в основном CPU.
    Аппаратные архитектуры
    Для архитектуры ARM реализована возможность горячего извлечения памяти.
    Для архитектуры RISC-V добавлена поддержка горячего подключения и извлечения CPU (CPU hotplug). Для 32-разрядных RISC-V реализован eBPF JIT.
    Убрана возможность использования 32-разрядных ARM-систем для запуска гостевых окружений KVM.
    Удалена "фиктивная" реализация NUMA для архитектуры s390, для которой так и не найдены сценарии использования, позволяющие добиться повышения производительности.
    Для ARM64 добавлена поддержка расширения AMU (Activity Monitors Unit), определённого в ARMv8.4 и предоставляющего счётчики производительности, которые использованы для расчёта коэффициентов коррекции масштабирования частоты в планировщике задач.
    Оборудование
    Добавлена поддержка устройств vDPA, в которых используется канал обмена данных, соответствующий спецификациям virtio. vDPA-устройства могут быть как физически подключённым оборудованием, так и эмулируемыми программно виртуальными устройствами.
    В подсистеме GPIO появилась новая команда ioctl() для мониторинга изменений, позволяющая наладить информирование процесса об изменении состояния любой линии GPIO. В качестве примера использования новой команды предложена утилита gpio-watch.
    В DRM-драйвере i915 для видеокарт Intel включена по умолчанию поддержки чипов Tigerlake и добавлена начальная поддержка управления подсветкой OLED. Улучшена поддержка чипов Ice Lake, Elkhart Lake, Baytrail и Haswell.
    В драйвере amdgpu добавлена возможность загрузки прошивок в чип USBC для ASIC. Появилась поддержка управления OLED-панелями. Обеспечено отображение состояния прошивки в debugfs.
    В DRM-драйвер vmwgfx для систем виртуализации VMware добавлена возможность использования OpenGL 4 в гостевых системах (раннее поддерживался OpenGL 3.3).
    Добавлен новый DRM-драйвер tidss для дисплейной системы платформы TI Keystone.
    Добавлены драйверы для LCD-панелей: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech RK101II01D-CT, Frida FRD350H54004.
    В систему управления питанием добавлена поддержка платформы Intel Jasper Lake (JSL) на базе Atom.
    Добавлена поддержка ноутбука Pinebook Pro на базе Rockchip RK3399, планшета Pine64 PineTab и смартфона PinePhone на базе Allwinner A64
    Добавлены поддержка новых звуковых кодеков и чипов: Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc,
    Добавлена поддержка ARM-плат и платформ Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron "sl28", 11 вариантов платы i.MX6 TechNexion Pico, три новых варианта Toradex Colibri, Samsung S7710 Galaxy Xcover 2 на базе ST-Ericsson u8500, DH Electronics DHCOM SoM и PDK2, Renesas M3ULCB, Hoperun HiHope, Linutronix Testbox v2, PocketBook Touch Lux 3.
    Подробнее
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • Tematik присоединился к группе
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • dsdsda присоединился к группе
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
  • unixm загрузил(а) новое видео
    0
    0
    0
    0
    0
    0
    Post is under moderation
    Stream item published successfully. Item will now be visible on your stream.
There are no activities here yet
Unable to load tooltip content.