FreeBSD 10.2 p16 -> FreeBSD 11.1

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-07 21:02:28

Всем привет.

Обостряется необходимость обновить систему, подскажет ли кто возможные грабли бинарного обновления с 10.2 до 11.1?
Сервер очень продакшн, у провайдера нет ipkvm, поэтому придется идти ногами и платить почасовку за возможность присутствия у терминала.
Буду благодарен за любые подсказки могущие помочь обойти возможные косяки.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение xM » 2018-04-07 21:41:35

У меня в прошлом году был выведен из эксплуатации сервер который последовательно жил с релизами от 8.1 до 11.1. Апдейты бинарные, диски на UFS. Проблема была только раз и то совершенно непонятного плана (скорее всего попал на какую-то рассинхронизацию на серверах FreeBSD при скачке).
Т.е. обычно всё проходит гладко. Но обязательно читайте release notes. Возможно в вашем случае есть какая-то специфика. Помнится были некоторые тонкости с загрузчиком ZFS на каком-то из релизов.
Ну и не забудье, что при смене старшей версии меняется ABI => нужно будет пересобрать весь софт.
IT voodoo blog https://kostikov.co

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-07 22:34:10

Система штатная, ядро базовое, софт весь почти из пакетов, за исключением парочки,типа nginx и еще чего-то, которые из портов.
2 gmirror, всё на UFS. Тюнинга очень мало, весь через loader.conf

Собственно из-за пакетов и трабл - надо обновлять некоторые, типа php.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение snorlov » 2018-04-08 13:27:04

Я вам рекомендую сначала посмотреть все на виртуалке, а именно, как ваш софт работает на 11.1, у меня при попытке уйти на 11.1, кое-что не заработало, точнее как-то кривовато стало работать, правда это было давно и с тех пор я не пытался перейти на 11.1, а сейчас все крутится на 10.4

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение xM » 2018-04-08 18:03:14

ingvar писал(а):
2018-04-07 22:34:10
Собственно из-за пакетов и трабл - надо обновлять некоторые, типа php.
И в чём проблема их обновить? Не вижу проблемы, кроме временных затрат.
IT voodoo blog https://kostikov.co

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-08 18:05:47

xM писал(а):
2018-04-08 18:03:14
И в чём проблема их обновить?
Проблема в устаревшей версии системы и невозможности обновить порты и менеджер пакетов

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение snorlov » 2018-04-08 20:09:14

ingvar писал(а):
2018-04-08 18:05:47
Проблема в устаревшей версии системы и невозможности обновить порты и менеджер пакетов
Вернуться к началу
Ну так уйдите на 10.4, она и поддерживается и порты там актуальные, к тому же апи там такое же как и 10.2, все сразу заработает. И вообще правильно написанный mergemaster.rc и исходники и вам надо будет просидеть в датацентре максимум полчаса и то, только из-за имеющихся в системе учетных записей, что тоже можно обойти...

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-08 20:43:15

snorlov писал(а):
2018-04-08 20:09:14
Ну так уйдите на 10.4, она и поддерживается и порты там актуальные
Да, спасибо за совет, как раз подумываю не пороть горячку и остаться на 10.х)

Сидеть может быть и вообще не надо, неоднократно апдейтил удаленно, так как, повторюсь, очень тонкой настройки системы нет, вся настройка у софта, который потом через ssh вполне конфигурится. Но тогда к серверу можно было подскочить в любой момент, нынешний же датацентр такого не позволяет - секурити, пропуска и вроде бы даже и доступ платный.

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение xM » 2018-04-08 21:50:35

ingvar писал(а):
2018-04-08 20:43:15
Да, спасибо за совет, как раз подумываю не пороть горячку и остаться на 10.х)
Не надо EOL - не за горами.
ingvar писал(а):
2018-04-08 18:05:47
Проблема в устаревшей версии системы
Обновляйтесь своевременно ибо нет обновлений = есть дыры.
Я имел ввиду что при переезде на 11 нет никакой проблем их обновить.
IT voodoo blog https://kostikov.co

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение snorlov » 2018-04-09 0:56:08

Ну до октября то еще есть время, вдобавок в конце июня-начале июля 11.2 уже появится...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение Demis » 2018-04-09 16:52:43

Из явного, необходимо обратить внимание на наличие акаунтов:

Код: Выделить всё

/etc/master.passwd
unbound:*:59:59::0:0:Unbound DNS Resolver:/var/unbound:/usr/sbin/nologin
auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin
_ypldap:*:160:160::0:0:YP LDAP unprivileged user:/var/empty:/usr/sbin/nologin
и

Код: Выделить всё

/etc/group
video:*:44:
unbound:*:59:
audit:*:77:
_ypldap:*:160:
cups:*:193:
messagebus:*:556:
avahi:*:558:
_tss:*:601:
hast:*:845:
, можно добавить ручками ДО апдейта и сделать mkdb, иначе точно ножками придется топать, может не стартануть...

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-09 17:09:07

Demis писал(а):
2018-04-09 16:52:43
Из явного, необходимо обратить внимание на наличие акаунтов
Можно поподробнее? Почему чревато нестартом?

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение Demis » 2018-04-09 17:35:25

Честно говоря, я не фиксанул причину.
А делал 10.3->10.4, потом почти сразу на 11.1
Но в файлике по подъему версии у меня есть несколько записей, которых бы там не было если бы не было проблем. Из основного это:

Код: Выделить всё

https://svnweb.freebsd.org/base/head/UPDATING?revision=327787&view=markup
/head/UPDATING

20171215:
        r326887 fixes the issue described in the 20171214 UPDATING entry.
        r326888 flips the switch back to building GELI support always.

20171214:
       r362593 broke ZFS + GELI support for reasons unknown. However,
       it also broke ZFS support generally, so GELI has been turned off
       by default as the lesser evil in r326857. If you boot off ZFS and/or
       GELI, it might not be a good time to update.


20160306:
        On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into
        kernel modules.  Therefore, if you load any kernel modules at boot time,
        please install the boot loaders after you install the kernel, but before
        rebooting, e.g.:

        make buildworld
        make kernel KERNCONF=YOUR_KERNEL_HERE
        make -C sys/boot install
        <reboot in single user>
	
        Then follow the usual steps, described in the General Notes section,
        below.


20160301:
        The AIO subsystem is now a standard part of the kernel.  The
        VFS_AIO kernel option and aio.ko kernel module have been removed.
        Due to stability concerns, asynchronous I/O requests are only
        permitted on sockets and raw disks by default.  To enable
        asynchronous I/O requests on all file types, set the
        vfs.aio.enable_unsafe sysctl to a non-zero value.


https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html#STABLE
23.5.4.1. Performing a Clean Build

Some versions of the FreeBSD build system leave previously-compiled 
code in the temporary object directory, /usr/obj. 
This can speed up later builds by avoiding recompiling code that has 
not changed. To force a clean rebuild of everything, 
use cleanworld before starting a build:

# make cleanworld
и получение ошибок:

Код: Выделить всё

make installkernel

kldxref: unknown metadata record 4 in file 
kldxref: unknown metadata record 4 in file 
kldxref: unknown metadata record 4 in file 
kldxref: unknown metadata record 4 in file 
И еще, у меня всегда сборка из сорцов, это тоже нюанс.
Просто помню, что машина не загрузилась, точнее ушла в сафе-моду, подошел посмотрел, нашел откуда концы, исправил, добавил в файлик "для себя". И еще о нюансах написал здесь: freebsd-f8/strannaya-problema-s-zfs-i-s ... 6-s75.html Там где-то посередке.

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-09 17:43:50

Demis писал(а):
2018-04-09 17:35:25
И еще, у меня всегда сборка из сорцов, это тоже нюанс.
То есть конкретно у вас не бинарное обновление было?

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение Demis » 2018-04-09 17:48:07

Да.
(Давно уже так не делаю, дольше разбираться потом, почему "что-то" не работает, хотя попытки делаю, но результат не нравится).

Аватара пользователя
xM
ст. лейтенант
Сообщения: 1316
Зарегистрирован: 2009-01-15 23:57:41
Откуда: Königsberg
Контактная информация:

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение xM » 2018-04-09 22:02:31

Demis писал(а):
2018-04-09 16:52:43
Из явного, необходимо обратить внимание на наличие акаунтов:
Обратить, наверное, надо. Но лучше внимательно смотреть что вам предлагает делать mergemaster в процессе слияния конфигураций после установки. Насколько я помню при переезде с 10 на 11 отличия были невелики.
IT voodoo blog https://kostikov.co

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-10 8:04:04

Мнится мне, что это был бы какой-то крупный косяк со стороны бсдшников, если при бинарных обновлениях до сих пор могут быть упущены такие вещи, как нужные аккаунты и группы

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-10 9:48:35

Тут такое дело:

Код: Выделить всё

# freebsd-update -r 11.1-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 10.2-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic src/src world/base world/lib32

The following components of FreeBSD do not seem to be installed:
world/doc world/games

Does this look reasonable (y/n)? y

Fetching metadata signature for 11.1-RELEASE from update6.freebsd.org... done.
Fetching metadata index... done.

The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение Demis » 2018-04-10 9:53:53

Косяк, не косяк, скажем так: вопросы есть всегда. А вот мысль подполковника весьма мудрая и по возможности лучше ей воспользоваться.
snorlov писал(а):
2018-04-08 13:27:04
рекомендую сначала посмотреть все на виртуалке
Она не покажет всех нюансов, но львиную долю проявит и это даст реальное понимание "с чем придется столкнуться в живую".

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-10 10:06:15

Demis писал(а):
2018-04-10 9:53:53
Она не покажет всех нюансов, но львиную долю проявит
Небольшую трудность вижу в том, чтобы сейчас настроить на виртуалке полный клон текущей системы - порты-пакеты не дадут, даже если я качну дистриб 10.2. То есть я могу, установив 11.1, понять как мне адаптировать настройки текущего ПО, чтобы взлетело все необходимое, но возможные проблемы апдейта боевого сервера словить не смогу

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение Demis » 2018-04-10 11:29:13

Не совсем понимаю, что значит не дадут, нет рутовых прав? Или там базы и онлайн 24х7х365?
Мы-же можем посмотреть

Код: Выделить всё

pkg version -v ,
и pkg version -vo , 
и кеш ls /usr/ports/distfiles (если он не вычищен).
Конечно возможны варианты, когда "все|что-то" установлено мимо баз, хотя это не правильно, но такое бывает.
У самого есть несколько самосборных "модулей" которые нигде не прописываются за ненадобностью и просто пересобираются после повышения.

Опять-же "в копилке" у нас есть доп инфо из

Код: Выделить всё

ls /var/db 
ls /var/db/pkg
ls /var/db/ports
Внимательный анализ которых может подсказать опции с которыми ПО было установлено.

Соответственно собрать инфо для виртуалки - можно, и даже установить.
Ну или создание собственно клона по сети, тут я не подскажу, но думаю народ может подсказать направление.

Тут главное не спешить.

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-10 12:04:50

Demis писал(а):
2018-04-10 11:29:13
Не совсем понимаю, что значит не дадут, нет рутовых прав?
Это значит, что порты и пакет-менеджер скажет «ваша система EOL, обновляйтесь или фигвам», как говорят они мне и мне сейчас.
А то бы я обновил софт и насчет оси не подпрыгивал бы пока.
Demis писал(а):
2018-04-10 11:29:13
У самого есть несколько самосборных "модулей"
У меня-то как раз почти нет ручной сборки, подбирал конфиг так, чтобы все работало из пакетов, максимум - пара софтин, типа nginx, собраны из портов, потому что в пакете не собрано с нужными опциями. Но опции, опять же, штатные, так что проблем с пересборкой быть не должно.

guest
проходил мимо

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение guest » 2018-04-10 12:08:23

Небольшую трудность вижу в том, чтобы сейчас настроить на виртуалке полный клон текущей системы - порты-пакеты не дадут, даже если я качну дистриб 10.2. То есть я могу, установив 11.1, понять как мне адаптировать настройки текущего ПО, чтобы взлетело все необходимое, но возможные проблемы апдейта боевого сервера словить не смогу
трудность одна:
- апгрейд установленного ПО (порты или пакеты) "БЕЗ ПРОСТОЯ"

В остальном - апгрейд ОС, проблем нет:
Вариант 1. Бинарный апгрейд: freebsd-update - сначала до последнего 10.2 patch-level, затем на 11.1
Вариант 2. Сборка системы и ядра как расписано в /usr/src/Makefile

В каждом варианте - минимум 1'ин reboot и установка compat10x для того чтобы порты-пакеты
установленные в 10.x работали в 11.1.

А вот дальше - решение основной задачи, переустановка пакетов или портов "БЕЗ ПРОСТОЯ"
и тут возможно что угодно, все зависит от ПО, связок между собой и тд и тп.

ingvar
рядовой
Сообщения: 20
Зарегистрирован: 2014-04-10 11:22:25

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение ingvar » 2018-04-10 12:13:47

guest писал(а):
2018-04-10 12:08:23
сначала до последнего 10.2 patch-level, затем на 11.1
То есть именно в таком порядке - сначала до 10.2 с последними патчами, потом до 11.1?
Не сразу до 11.1, и не до 10.4 потом до 11.1?

guest
проходил мимо

FreeBSD 10.2 p16 -> FreeBSD 11.1

Непрочитанное сообщение guest » 2018-04-10 13:22:51

То есть именно в таком порядке - сначала до 10.2 с последними патчами, потом до 11.1?
Не сразу до 11.1, и не до 10.4 потом до 11.1?
Вы ни разу не делали бинарный апгрейд?

Придете домой с работы, установите на домашний PC: VMWare Player или Workstation Pro
или VirtualBox (наверняка дома Windoze), установите FreeBSD 10.2 и попробуйте бинарный апгрейд.

# freebsd-update -r 11.1-RELEASE upgrade
получите бла-бла-бла мол нельзя сразу, сначала до последнего security-patched

В итоге, апгрейд с 10.2 до 11.1 будет таким:

# freebsd-update fetch
...
обновление до 10.2-p28 вроде последний
# freebsd-update install
...
возможно потребуется reboot
- теперь обновление до 11.1-RELEASE, вот теперь пойдет без проблем
# freebsd-update -r 11.1-RELEASE upgrade

Так устроен бинарный апгрейд:
- сперва нужно обновить текущую до последнего security-bugfixed
- только потом делать апгрейд на мажорную ветку

вроде всегда так было...
https://www.freebsd.org/doc/handbook/up ... pdate.html
там конечно без ньюансов, все не распишешь, но в целом все изложено.

Посему, потренируйтесь в Виртуалке, уверяю, полезно.

Imho, по мне проще через сборку - это точно одна перезагрузка:
- копируем наши src на всякий
# mv /usr/src /usr/src.102me
- смотрим svn
# svn list http://svn.freebsd.org/base/release/11.1.0
- качаем sources
# svn co http://svn.freebsd.org/base/release/11.1.0 /usr/src
- собираем
# cd /usr/src
# less /usr/src/Makefile
- используем screen для удобства и отвязки от stdin
# screen
# 1. `cd /usr/src' (or to the directory containing your source tree).
# 2. `make buildworld'
собирать можно GENERIC (лучше GENERIC, чтобы потом использовать freebsd-update для апдейта)

3. make buildkernel
4. make installkernel

# 3. `make buildkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# 4. `make installkernel KERNCONF=YOUR_KERNEL_HERE' (default is GENERIC).
# [steps 3. & 4. can be combined by using the "kernel" target]

п.5 можно пропустить

# 5. `reboot' (in single user mode: boot -s from the loader prompt).
mergemaster -p - ОБЯЗОН, чтобы добавить разные изменения в rc, tree и тд и тп,
иначе п.7 не пройдет или получите то про что писал Demis

# 6. `mergemaster -p'
# 7. `make installworld'
снова mergemaster
# 8. `mergemaster' (you may wish to use -i, along with -U or -F).
# 9. `make delete-old'
# 10. `reboot'
после reboot не торопитесь выполнить п.11 - иначе старые пакеты-порты не будут работать.
обновите pkg -> если не будет работать, то используйте pkg-static
Теперь нужно установить compat10x и только после этого выполнить п.11 - удалить старые библиотеки
от 10.x
# 11. `make delete-old-libs' (in case no 3rd party program uses them anymore)
#

Все. Какой вариант выбрать - решать Вам. И помните, при бинарном апгрейде - freebsd-update сам
удалить Вам old-libs и третичный софт не будет работать, чтобы не кричать "УСЕ ПРОПАЛО",
обновите pkg и установите compat10x - все заколосится.

Верхнее - только обновление самой системы + установка compat10x, для чего - понятно.
Останется обновить пакеты-порты.