Как серверы Linux обновляют свое ядро ​​без перезагрузки

Использование подстановки команды, $ () :

curl "$(grep ... | cut -d, -f 3)"

Здесь $ () будет заменено STDOUT команды внутри $ () т.е. grep ... | cut -d, -f 3 , так как это сначала выполняется оболочкой, поэтому команда curl будет окончательно:

curl <the_url>
13
16.02.2017, 22:07
2 ответа

Да, они делают "перезагрузку", но могут сделать системный вызов kexec_load для предварительной загрузки нового ядра.

Существует также возможность исправления работающего ядра, redhat kpatch, например. Все известные мне средства, которые это делают, не могут изменять структуры данных.

Конечно, в прошлом веке lisp-машины могли исправлять свои работающие ядра.

17
27.01.2020, 19:52

При изменении ядра требуется перезагрузка. Вы можете установить ядро, а в некоторых случаях вы можете вставлять и удалять модули разных ядер, но я бы не советовал это делать.

Сервер может быть перезагружен, и обслуживание не пострадает, если сервер является частью кластера. Вы также можете создать кластеры межсетевого экрана / маршрутизатора, чтобы не было центральной точки отказа (SPOF). Для этого вы используете так называемый виртуальный IP-адрес (VIP), который используется более чем в одной системе.

Если вы хотите поэкспериментировать с этой идеей, вы можете использовать QEMU или VirtualBox и другие для создания виртуальных сетей.

10
27.01.2020, 19:52

Теги

Похожие вопросы