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

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

Наше ядро — это адаптированное под 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 ядрами.

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

T-Rex 30 марта 2021

Что такое SMTP-протокол и как он устроен?

SMTP (Simple Mail Transfer Protocol) — протокол передачи почты. Он был представлен еще в 1982 году, но не теряет актуальности до сих пор. В статье разбираемся, какие задачи решает протокол и как он ра…
T-Rex 30 марта 2021
Владимир Туров 1 сентября 2020

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

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

TrendForce: цены на SSD упадут

Эксперты DRAMeXchange предсказывают значительное падение цен на оперативную память и твердотельные накопители в ближайшее время. Причина — сокращение спроса на чипы для NAND и DRAM.
T-Rex 21 августа 2020

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
Владимир Туров 5 октября 2022

DBaaS: что такое облачные базы данных

Рассказываем о сервисе управляемых баз данных в облаке и объясняем, как разделяется ответственность за работу кластеров БД между провайдером и клиентом.
Владимир Туров 5 октября 2022
Ульяна Малышева 30 сентября 2022

«Нулевой» локальный диск. Как мы запустили облако только с сетевыми дисками и приручили Ceph

Чем хороши сетевые диски и почему именно Ceph, рассказал директор по развитию ядра облачной платформы Иван Романько.
Ульяна Малышева 30 сентября 2022
Валентин Тимофеев 30 сентября 2022

Как проходит онбординг сотрудников ИТО? Что нужно, чтобы выйти на смену в дата-центр

Рассказываем, как обучаем новых сотрудников, какие задачи и испытания проходят инженеры прежде, чем выйти на свою первую смену.
Валентин Тимофеев 30 сентября 2022