Начало публичного тестирования linux-3.7-xen для облачных серверов
amarao

Мы начинаем публичное бета-тестирование системы автоматического обновления ядер для облачных серверов. После того, как тестирование будет закончено, эта система будет предложена всем клиентам и пойдёт во все новые облачные серверы по умолчанию.

Наше ядро — это адаптированное под debian/ubuntu/arch-linux ядро из OpenSUSE, в настоящий момент это 3.7-xen.

За счёт организации автоматической пересборки и публикации и тестирования, ядро обновляется вслед за обновлениями в OpenSUSE, в том числе переход на более новые версии. Для selectel-testing это будет происходить всегда автоматически (то есть выйдет новая OpenSUSE с новым ядром, автоматически обновится номер версии и тут), для selectel-stable (то, что потом будет у всех клиентов и что мы анонсируем отдельно) переход между мажорами будет проверяться вручную, минорные исправления (security fixes, исправление критических ошибок) будет публиковаться автоматически.

Кого это касается? Пользователей Debian, Ubuntu, Arch Linux. У пользователей CentOS используется штатное ядро, у пользователей OpenSUSE это ядро в комплекте из коробки.
Как начать использовать?

Debian/Ubuntu

Установка

  1. Добавить в файл /etc/apt/sources.list следующую строчку:
    deb http://mirror.selectel.ru/selectel-testing selectel-testing main
  2. Выполнить aptitude update
  3. Выполнить aptitude install linux-image-selectel
  4. Если нужны заголовки ядра: aptitude install linux-headers-selectel
  5. reboot

Что делать, если сломалось?

Временный возврат на старое ядро: Во вкладке «загрузка» указать пункт меню grub «2», перезагрузить.

Постоянный возврат: после временного возврата на старое ядро и загрузки, зайти в систему, сказать

  1. aptitude remove linux-image-selectel
  2. dpkg -l|grep linux-image-selectel, выбрать «неправильное» ядро (не переусердствуйте — хотя бы одно ядро должно оставаться установленным (‘i’)).
  3. Удалить его (например, aptitude remove linux-image-3.7.10-1.16-xen)
  4. выставить пункт меню grub в 0, перезагрузиться. (сначала пункт меню, потом перезагрузка!)

Arch Linux

Установка

  1. В файл /etc/pacman.conf, ПЕРЕД разделом [selectel] нужно добавить:
    [selectel-testing]
    Server = http://mirror.selectel.ru/$repo/os/$arch/ 
    SigLevel = Optional 
    
  2. Выполнить pacman -Syu и согласиться установить новое ядро
  3. reboot

Что делать, если сломалось?

Нужно выбрать rescue initrd и сделать infiltrate_root (выбор пункта меню grub, к сожалению, не сработает).

  1. Удаляем вышеуказанный блок из файла /etc/pacman.conf
  2. Cтавим старую версию ядра из кеша:
    pacman -U /var/cache/pacman/pkg/linux-selectel-3.1.0-5-*.pkg.tar.xz
    Если вы уже очистили кеш, то пакет можно взять с миррора:
    http://mirror.selectel.ru/selectel/os/x86_64/linux-selectel-3.1.0-5-x86_64.pkg.tar.xz (Не забудьте поменять архитектуру в имени пакета на свою)
  3. Возвращаем настройки загрузки виртуальной машины в «0» (пункт меню grub)
  4. reboot

Почему не upstream?

За некоторыми исключениями, штатные upstream-ядра старше 3.0 работают нормально. Известные проблемы:

    • При перемиграции виртуальных машин съезжает время в dmesg, возможно, ломаются таймеры. Связано это с тем, что -xen ядра смену tsc при миграции маскируют, а pv_ops (upstream) — нет.
    • Память внутри облачного сервера меньше, чем было выделено. Реальной разницы никакой, но -xen ядра служебную память маскируют в использованной, а pv_ops соответственно уменьшают доступную
    • При некоторых обстоятельствах ядро может забыть отправить grace arp после миграции, что приводит к неответу по сети в течение срока жизни ARP (около 10 минут)

Из-за этого мы остаёмся с -xen ядрами.

Что еще почитать по теме

Ульяна Малышева 11 марта 2021

Кейс VCV: как победить HR-рутину

Сервис VCV, клиент Selectel, был создан для того, чтобы сделать найм сотрудников комфортнее, объективнее, быстрее. Как работает VCV, зачем сервису искусственный интеллект и в чем разница российского и…
Ульяна Малышева 11 марта 2021
Владимир Туров 1 сентября 2020

Дело совершенно секретного iPod

Это был обычный серый день в конце 2005 года. Я сидел на рабочем месте и писал код для следующей версии iPod. Вдруг без стука ворвался директор ПО для iPod, начальник моего начальника, и закрыл дверь.
Владимир Туров 1 сентября 2020

Новое в блоге

Ульяна Малышева 22 июля 2021

DCIM-платформа Racks: почему мы отказались от энтерпрайз-решения в пользу самописного приложения

Как вести учет и контроль оборудования, если у тебя более десятка серверных в трех географически разделенных дата-центрах? Как и многие крупные провайдеры, в России и за рубежом, Selectel начал реализ…
Ульяна Малышева 22 июля 2021
Ульяна Малышева 7 июля 2021

Продуктовый дайджест: новые процессоры AMD EPYC™ и управление базами данных через Terraform

Пополнение линейки процессоров AMD EPYC™, управление кластерами «Облачных баз данных» через Terraform-провайдер Selectel и подбор идеальной инфраструктуры под «Битрикс24» и «1С-Битрикс». Подробнее — о…
Ульяна Малышева 7 июля 2021
Эллада Нуралиева 22 июня 2021

Next-Generation Firewall от FortiGate: обзор функций и подключение сервиса

Для защиты инфраструктуры от угроз часто используют межсетевые экраны. Они могут быть как программными, так и аппаратными. Типичный межсетевой экран представляет собой фильтр сетевого трафика, который…
Эллада Нуралиева 22 июня 2021
Ульяна Малышева 18 июня 2021

Selectel развернул 100 виртуальных машин для олимпиады «Я — профессионал»

Завершился четвертый сезон олимпиады «Я — профессионал», на который зарегистрировались 576 012 студентов из 348 вузов России. Selectel стал одним из партнеров трека олимпиады «Робототехника», который …
Ульяна Малышева 18 июня 2021