Как изменить параметры времени выполнения ядра в постоянной и одноразовой модификации -- LFCS часть 15

Как изменить параметры времени выполнения ядра в постоянной и одноразовой модификации — LFCS часть 15

Рубрики:

LFCS

Метки:

, ,

В части 13 этой серии статей LFCS (Linux Foundation Certified Sysadmin) мы объяснили, как использовать GRUB для изменения поведения системы путем передачи опций ядру для текущего процесса загрузки и изменить параметры времени выполнения ядра в постоянной и одноразовой модификации.

Аналогичным образом, вы можете использовать командную строку в запущенной системе Linux для изменения определенных параметров ядра во время выполнения в виде одноразовой модификации или на постоянной основе путем редактирования файла конфигурации.

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

 

Знакомство с файловой системой /proc

Последняя спецификация стандарта иерархии файловой системы указывает, что /proc представляет метод по умолчанию для обработки информации о процессе и системе, а также другую информацию о ядре и памяти. В частности, /proc/sys — это место, где вы можете найти всю информацию об устройствах, драйверах и некоторых функциях ядра.

Фактическая внутренняя структура /proc/sys сильно зависит от используемого ядра, но вы, вероятно, найдете внутри следующие каталоги. В свою очередь, каждый из них будет содержать другие подкаталоги, в которых сохраняются значения для каждой категории параметров:

  • dev: параметры для определенных устройств, подключенных к аппарату.
  • fs: конфигурация файловой системы (например, квоты и иноды).
  • kernel: конфигурация, специфичная для ядра.
  • net: сетевая конфигурация.
  • vm: использование виртуальной памяти ядра.

 

Чтобы изменить параметры среды выполнения ядра, мы будем использовать команду sysctl. Точное количество параметров, которые можно изменить, можно просмотреть с помощью:

 

Если вы хотите просмотреть полный список параметров ядра, просто выполните:

 

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

 

Давайте рассмотрим первые несколько строк. Обратите внимание, что первые символы в каждой строке соответствуют именам каталогов внутри /proc/sys:

 

Как изменить параметры времени выполнения ядра в постоянной и одноразовой модификации -- LFCS часть 15

 

 

Например, выделенная строка:

 

указывает, что sr0 является псевдонимом для оптического привода. Другими словами, так ядро ​​«видит» этот устройство и использует это имя для ссылки на него.

В следующем разделе мы объясним, как изменить другие «более важные» параметры ядра в Linux.

 

 

Как изменить параметры времени выполнения ядра Linux?

Основываясь на том, что мы объяснили до этого, легко соотнести, что имя параметра соответствует структуре каталогов внутри /proc/sys, где оно и может быть найдено.

Например:

 

 

Проверка параметров ядра Linux

Мы можем просмотреть значение конкретного параметра ядра Linux, используя либо sysctl, за которым следует имя параметра, либо считывая связанный файл:

 

Check-Linux-Kernel-Parameters

 

 

Установка или изменение параметров ядра Linux

Чтобы установить значение для параметра ядра, мы можем использовать sysctl, но с использованием опции -w за которой следует имя параметра, знак равенства и требуемое значение.

Другой метод состоит в использовании echo для перезаписи файла, связанного с параметром. Другими словами, следующий метод эквивалентен отключению функциональности пересылки пакетов в вашей системе:

 

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

Чтобы применить эти значения навсегда, отредактируйте /etc/sysctl.conf с требуемыми значениями. Например, чтобы отключить пересылку пакетов в /etc/sysctl.conf, убедитесь, что эта строка введена в файле именно таким образом:

 

Затем выполните следующую команду, чтобы применить изменения к текущей конфигурации:

 

Другими примерами важных параметров среды ядра являются:

fs.file-max — указывает максимальное количество файлов, которые ядро ​​может выделить для системы. В зависимости от предполагаемого использования вашей системы (веб/база данных/файловый сервер), вы можете изменить это значение для удовлетворения своих потребностей.

В противном случае вы получите сообщение об ошибке «Слишком много открытых файлов» в лучшем случае или же можете помешать операционной системе работать в нормальном режиме — в худшем случае.

Если из-за невинной ошибки вы оказались в этой последней ситуации, загрузитесь в однопользовательском режиме (как описано в Части 13 «Настройка и устранение неполадок загрузчика Linux Grub») и отредактируйте файл /etc/sysctl.conf, как указано ранее. Чтобы установить одно и то же ограничение для каждого пользователя, обратитесь к Разделу 14 «Мониторинг и установка ограничения для процессов Linux» этой серии.

kernel.sysrq — используется для включения ключа SysRq на клавиатуре (также называемого клавишей экрана печати), чтобы некоторые комбинации клавиш вызывали экстренные действия, когда система перестала отвечать на запросы.

Значение по умолчанию (16) указывает, что система будет откликаться на комбинацию клавиш Alt+SysRq+key и выполнить действия, указанные в документации sysrq.c, что находится в kernel.org (где key – одна буква в диапазоне b-z). Например, Alt+SysRq+b будет принудительно перезагружать систему (используйте это как крайнее средство, если ваш сервер не отвечает).

Предупреждение! Не пытайтесь нажимать эту комбинацию клавиш на виртуальной машине, потому что это может привести к перезагрузке вашей хост-системы!

Если установлено значение 1, net.ipv4.icmp_echo_ignore_all будет игнорировать запросы ping и удалить их на уровне ядра. Это показано на рисунке ниже – обратите внимание на то, что запросы ping теряются после установки этого параметра ядра:

 

Как изменить параметры времени выполнения ядра в постоянной и одноразовой модификации -- LFCS часть 15

 

 

Лучшим и простым способом задания отдельных параметров для времени выполнения ядра является использование файлов .conf внутри /etc/sysctl.d, и группировка их по категориям.

Например, вместо установки net.ipv4.ip_forward=0 и net.ipv4.icmp_echo_ignore_all=1 в файле /etc/sysctl.conf, мы можем создать новый файл с именем net.conf внутри /etc/sysctl.d:

 

Если вы решите использовать этот подход, не забудьте удалить те же строки из /etc/sysctl.conf.

 

Итоги

В этой статье мы объяснили, как изменять параметры времени выполнения ядра, как на постоянной основе, так и на временной, используя sysctl, /etc/sysctl.conf и файлы внутри /etc/sysctl.d.

В документах о sysctl вы можете найти дополнительную информацию о значении большенства переменных. Эти файлы представляют собой наиболее полный источник документации о параметрах, которые могут быть установлены через sysctl.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасностиполный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

LFCS

Метки:

, ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики

Свежие комментарии

Меню