Формат файла модуля
- Путь к файлу модуля:
- / usr / lib / systemd / system: для использования дистрибутивами
- / etc / systemd / system: используется системными администраторами и пользователями, обычно это мягкая ссылка на / usr / lib / systemd / system
- Примечание. Для вновь созданных файлов модулей или измененных файлов модулей необходимо уведомить systemd о перезагрузке этого файла конфигурации.
- Содержимое единичного файла обычно состоит из трех частей:
- : определение общих параметров, которые не имеют ничего общего с типом Unit; используется для предоставления информации об описании модуля, его поведения и зависимостей.
- : специальные опции, относящиеся к конкретным типам; вот тип сервиса
- : Определите некоторые параметры, используемые командами «systemctl enable» и «systemctl disable» для включения или отключения службы
- Общие параметры для раздела Unit:
- Описание: Описание информации
- После: определяет последовательность запуска устройства, указывая, какой модуль должен запустить текущий модуль позже, его функция противоположна До
- Требуется: в зависимости от других единиц, сильная зависимость, когда зависимые единицы не могут быть активированы, текущая единица не может быть активирована
- Хочет: зависит от других единиц, слабая зависимость
- Конфликты: определить конфликты между юнитами
- Общие параметры для раздела «Сервис»:
- Тип: определяет тип запуска модульного процесса, который влияет на функции ExecStart и связанные параметры, в том числе: простой, разветвление, oneshot, dbus, уведомление, режим ожидания. По умолчанию просто
- EnvironmentFile: файл конфигурации среды
- ExecStart: укажите абсолютный путь для запуска команды или сценария для запуска устройства
- ExecStartPre: запустить до ExecStart
- ExecStartPost: запустить после ExecStart
- ExecStop: указывает команду или скрипт, который нужно запустить, чтобы остановить устройство
- Перезапуск: Когда установлен Restart = 1, когда эта служба демона неожиданно завершает работу, она автоматически запустит эту службу снова
- Общие параметры для раздела «Установка»:
- Псевдоним: Псевдоним, вы можете использовать команду systemctl Alias.service
- RequiredBy: от каких единиц зависит, сильно зависит
- WantedBy: от каких единиц зависит, слабо зависит
- Также: Установите другие связанные службы при установке этой службы
Cкачать CentOS 8
Загрузить CentOS 8 можно как с официального сайта так и со сторонних репозиториев. Я обычно использую зеркало Яндекса для загрузки — https://mirror.yandex.ru/centos/ И его же для сетевой установки. Чтобы вам долго не искать, сразу скажу, что установочные образы лежат тут. Структура репозитория не очевидная. Я первое время после знакомства с центос путался в ее репозиториях, особенно когда искал url для netinstall.
Напоминаю, что 32 bit или i386 редакции CentOS 8 не существует. Все дистрибутивы только x86_64, то есть 64 bit.
В качестве альтернативных зеркал для загрузки centos 8 можно использовать следующие:
- http://mirror.corbina.net/pub/Linux/centos/
- http://mirror.docker.ru/centos/
- http://mirror.logol.ru/centos/
Это актуально для тех, у кого Яндекс по каким-то причинам заблокирован. Жаль, что приходится сталкиваться с повсеместными блокировками в интернете. Плохая тенденция, которая осложняет многие моменты.
Эксперимент: исправьте проблему запуска CentOS 7
1. Удалите все содержимое grub2 и восстановите систему
- Подготовка:
- Удалить загрузчик
- Смотрите первые 446 байтов
- Удалить все stage2 содержимое grub2
- 1. Перезапустите, чтобы войти в режим восстановления, сначала отрежьте корень и выполнитеВосстановить файлы grub2
- 2. РеализациявосстановитьФайл, успешно перезагрузите систему2. Удалите все содержимое в каталоге / boot и восстановите систему.
- Готов к работе: Удалить все содержимое в каталоге / boot Симптомы следующие
- 1. Войдите в режим восстановления, сначала обрежьте рут, а затем смонтируйте CD, установите пакет с ядром
- 2、 Исправить grub2
- 3、 Создайте двухэтапный файл конфигурации grub3. Удалите /boot/grub2/grub.cfg и перезапустите
- Подготовка:
- После перезапуска, хотя grub2 может перейти на этап stage2, из-за отсутствия файла конфигурации информации о запуске, grub2 запросит информацию о запуске, введите следующую информацию о запуске и успешно войдет в систему после возврата каретки.
- Симптомы следующие:
- Команда восстановления выглядит следующим образом:
- Не уверен, что вы можете использовать клавишу табуляции для завершения функции, посмотреть подробный список, а затем выберите
- Следующий процесс может быть завершен по одной причине
Конец
Установка ядра
Перед обновлением ядра, необходимо обновить саму систему:
yum update
После стоит перезагрузить систему:
shutdown -r now
Далее у нас на выбор два способа обновления ядра — с использованием репозитория или вручную, скачав исходник с kernel.org.
С помощью yum
Самый быстрый и безопасный способ обновить ядро CentOS — воспользоваться автоматической установкой из репозитория. Минусом тут является то, что можно установить только ту версию, которая имеется в наличие в данном репозитории.
Последняя версии ядра для CentOS находится в репозитории ELRepo (не путать с EPEL). Сначала устанавливаем его.
Переходим на веб-страницу elrepo.org и копируем ссылку на последнюю версию репозитория для нашей версии операционной системы, например:
Импортируем ключ репозитория:
rpm —import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Воспользовавшись ссылкой, устанавливаем сам репозиторий:
yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
* список установленных репозиториев можно посмотреть командой yum repolist.
Теперь можно установить ядро:
yum —enablerepo=elrepo-kernel install kernel-ml
Ручное обновление
Чаще всего, администратор пользуется встроенными в сборку Linux инструментами (как описано выше) — это безопаснее и проще. Однако, если нужной версии ядра нет в репозитории или мы хотим установить тестовую версию, необходима ручная установка.
Ручная установка неадаптированного для определенной сборки Linux ядра — потенциальный риск для системы. Обновление стоит проводить сначала в тестовой среде, а также выполнить резервное копирование всех важных данных.
Для начала переходим на сайт kernel.org и копируем ссылку на нужную версию ядра Linux:
* в данном примере мы скопировали ссылку на нестабильную версию ядра 5.0.
Воспользовавшись ссылкой, скачиваем ядро на компьютер с Linux:
wget https://git.kernel.org/torvalds/t/linux-5.0-rc8.tar.gz
* если система вернет ошибку, нужно установить wget — yum install wget.
Распаковываем скачанный архив:
tar -xvf linux-5.0-rc8.tar.gz -C /usr/src
* в данном примере мы распаковываем архив linux-5.0-rc8.tar.gz в каталог /usr/src.
Переходим в каталог, куда распаковали исходник ядра:
cd /usr/src/linux-5.0-rc8/
Устанавливаем инструменты для компиляции пакетов:
yum groupinstall «Development Tools»
yum install ncurses-devel openssl-devel bc
Создаем свою конфигурацию для ядра:
make menuconfig
Или используем текущую конфигурацию для ядра:
make oldconfig
На все вопросы, которые задает система можно отвечать нажатием Enter, чтобы принимать значения по умолчанию.
Компилируем ядро:
make
* процедура может занять много времени.
После устанавливаем ядро и модули:
make modules_install install
Сетевые настройки на сервере CentOS
Первый раз с сетевыми настройками сервера CentOS 7 или 8 мы сталкиваемся, когда производим установку. На экране первоначальной настройки есть отдельный пункт, касающийся настройки сетевых интерфейсов:
Зайдя в него мы видим список подключенных сетевых карт. Каждую из них можно включить соответствующим ползунком (пункт 1 на картинке). При активировании интерфейса он автоматически получает настройки по dhcp. Результат работы dhcp можно посмотреть тут же. Если вас не устраивают эти настройки, их можно отредактировать, нажав configure (пункт 3 на картинке). Здесь же можно задать hostname (пункт 2 на картинке):
Открыв окно дополнительный настроек Ehernet, вы сможете изменить имя сетевого интерфейса, указать настройки IP (пункт 1 на картинке), выбрать ручные настройки (пункт 2 на картинке), назначить ip адрес (пункт 3 на картинке), установить dns сервер (пункт 4 на картинке) и сохранить сетевые настройки (пункт 5 на картинке):
После выполнения остальных настроек начнется установка. После установки у вас будет сервер с указанными вами сетевыми настройками.
Теперь рассмотрим другую ситуацию. Сервер, а соответственно и конфигурацию сети, производили не вы, а теперь вам надо ее посмотреть либо изменить. В вашем распоряжении консоль сервера, в ней и будем работать. Если у вас установка производилась с дистрибутива minimal, то при попытке посмотреть сетевые настройки с помощью команды ifconfig в консоли вы увидите следующее:
или в русской версии:
Для работы с ifconfig и прочими сетевыми утилитами необходимо установить пакет net-tools. Сделаем это:
Теперь можно увидеть настройки сети:
Если у вас нет желания устанавливать дополнительный пакет, то можно воспользоваться более простой командой ip с параметрами:
Мы увидели конфигурацию сети, теперь давайте ее отредактируем. Допустим, нам нужно сменить ip адрес. Для этого идем в директорию /etc/sysconfig/network-scripts и открываем на редактирование файл ifcfg-eth0 или ifcfg-ens18. Название файла будет зависеть от имени сетевого интерфейса. В Centos 8 по-умолчанию убрали поддержку настройки сети через конфигурационные скрипты, поэтому установите отдельно пакет network-scripts.
По настройкам из этого файла мы получаем ip адрес по dhcp. Чтобы вручную прописать статический ip, приводим файл к следующему содержанию:
Мы изменили параметры:
BOOTPROTO | с dhcp на none |
DNS1 | указали dns сервер |
IPADDR0 | настроили статический ip адрес |
PREFIX0 | указали маску подсети |
GATEWAY0 | настроили шлюз по-умолчанию |
Чтобы изменения вступили в силу, необходимо перечитать сетевые настройки:
Проверяем, применилась ли новая конфигурация сети:
Все в порядке, новые настройки сетевого интерфейса установлены.
Установка системы
Нажмите экранную кнопку «Начать установку». Вы найдете ее внизу справа.
Откроется окно конфигурации и стартует установка ОС, во время которой будут автоматически загружены необходимые пакеты, установлены и настроены компоненты. Она может продлится более получаса.
В нижней части экрана конфигурации — подсказка.
Создайте учетную запись администратора
Войдите в раздел «Root Password». Введите пароль, который будет использоваться администратором компьютера. Повторите ввод во втором поле. Нажмите кнопку «Готово».
Мастер установки CentOS может решить, что пароль ненадежен. В нижней части окна на оранжевом фоне будет написано, почему установщик не рекомендует использовать этот пароль. В таком случае, если вы уверены в своем решении, нужно нажать на кнопку «Готово» два раза.
Создайте учетную запись пользователя
Войдите в секцию «Создание пользователя». Укажите полное имя, имя пользователя и пароль учетной записи. Пароль нужно ввести повторно в дополнительное поле.
Что нужно знать о пользовательской учетной записи:
- Максимальная длина имени пользователя: 32 знака без пробела.
- У вас есть возможность сделать этого пользователя администратором.
- Выберите, нужно ли вводить пароль при входе в ОС.
В зависимости от требований мастера установки, для подтверждения изменений нажмите на кнопку «Готово». Щелкать по ней дважды необходимо, если установщик не считает пароль достаточно защитой учетной записи. При этом, вы все равно сможете использовать такой пароль, если посчитаете, что его достаточно.
Внизу появится сообщение о том, ОС успешно установлена. Щелкните по кнопке «Завершить настройку».
Chrony
Была еще одна попытка заменить старый NTP более безопасный аналог. Chrony в отличие от NTPSec написан с нуля и предназначен для надежной работы в широком диапазоне условий, включая нестабильные сетевые соединения, частичная доступность или перегрузки сети и изменения температуры. Кроме того chrony обладает и другими преимуществами:
- chrony может быстрее синхронизировать системные часы с большей точностью;
- chrony меньше, потребляет меньше памяти и обращается к процессору только тогда, когда это необходимо. Для экономии ресурсов и энергии это большой плюc;
- chrony поддерживает метки времени на аппаратном уровне в Linux, что обеспечивает чрезвычайно точную синхронизацию в локальных сетях.
Впрочем, в chrony отсутствуют некоторые возможности старого NTP такие, как широковещательный и многоадресный (multicast) клиент / сервер. В добавок классический NTP поддерживает большее число ОС и платформ.
Для отключения функциональности сервера и NTP запросов к процессу chronyd достаточно прописать port 0 в файл chrony.conf. Это делается в тех случаях, когда нет нужды обслуживать время для NTP клиентов или одноранговых узлов. Начиная с версии 2.0, порт сервера NTP открыт только в тех случаях, когда доступ разрешен директивой allow или соответствующей командой, либо же настроен одноранговый узел NTP, или используется директива broadcast.
Программа состоит из двух модулей.
- chronyd — сервис, работающий в фоновом режиме. Он получает информацию о разнице системных часов с внешним сервером времени и корректирует локальное время. Он также реализует протокол NTP и может выступать в качестве клиента или сервера.
- chronyc — утилита командной строки для мониторинга и контроля программы. Используется для тонкой настройки различных параметров сервиса, например позволяет добавлять или удалять серверы NTP в то время, как chronyd продолжает работать.
Начиная с 7-й версии RedHat Linux использует chrony в качестве службы синхронизации времени. Пакет также доступен для остальных дистрибутивов Linux. Последняя стабильная версия 3.5, готовится к выходу v4.0.
Как настроить собственный удаленный сервер chrony в интернете для синхронизации времени в офисной сети. Далее пример настройки на VPS.
Пример настройки Chrony на RHEL / CentOS на VPS
Давайте теперь немного потренируемся и поднимем свой собственный NTP сервер на VPS. Это очень просто, достаточно выбрать подходящий тариф на сайте RuVDS, получить готовый сервер и набрать с десяток несложных команд. Для наших целей вполне подойдет такой вариант.
Переходим к настройке сервиса и первым делом ставим пакет chrony.
RHEL 8 / CentOS 8 используют другой пакетный менеджер.
После установки chrony нужно запустить и активировать сервис.
При желании можно внести правки в /etc/chrony.conf, заменив сервера NPT на ближайшие локальные для сокращения времени отклика.
Далее настраиваем синхронизацию NTP сервера с узлами из указанного пула.
Необходимо также открыть наружу NTP порт, иначе межсетевой экран будет блокировать входящие соединения от клиентских узлов.
На стороне клиента достаточно правильно выставить часовой пояс.
В файле /etc/chrony.conf указывает IP или название хоста нашего VPS сервера, на котором запущен NTP server chrony.
И наконец запуск синхронизации времени на клиенте.
В следующий раз расскажу, какие есть варианты синхронизации времени без интернета.
Источник
Установка CentOS 8
Создания USB носителя для установки
Существует множество программ для записи iso образа на устройство. Например, у меня два варианта для создания носителя для установки:
- Rufus — использую эту программа для создание загрузочных USB-дисков в системе Windows;
-
ROSA ImageWriter — использую эту программу для любой системы Linux.
Варианты установки
Рассмотрим два самых популярных варианта установки СentOS 8.
Образы iso CentOS 8
- CentOS-8-x86_64-1905-dvd1.iso — полный образ 7G;
- CentOS-8-x86_64-1905-boot.iso — загрузочный образ 550M.
Какой вариант использовать решать вам. Например, мне нравится устанавливать загрузочный образ и дальше настраивать руками, так и опыт приходит и понимаешь как что работает.
Больше нет минимального образа, но радует что есть загрузочный при установке с которого надо только руками внести требуемый репозиторий и выбрать нужные параметры установки.
Смотрим список всех возможных репозиториев и выбираем необходимый который будем использовать при установке с загрузочного образа.
Указывать надо путь к той папке, где лежит каталог repodata. Например, mirror.yandex.ru/centos/8/BaseOS/x86_64/os/.
В выборе программ выбираем базовое окружение «Минимальная установка» а в дополнительных параметрах «Гостевые агенты» и «Стандарт».
Шаблоны
Шаблоны используются как правило для установки на VDS и предоставляются компаниями предоставляющие такие услуги. Удобно, но тем не менее я пару раз попадал в дурацкие ситуации.
Вот моменты почему я советую использовать установку на VDS систем с iso образа:
- Разбивка диска порой не учитывает конфигурацию тарифа или требований вашей системы — например, на одном хостинге при 2 G оперативной памяти был создал SWAP раздел в 512 М в результате пришлось переустанавливать систему дабы не терять место на и так небольшом диске;
- Локализация как правило Английская — мне приятней работать на своем родном языке хотя и на английском если надо всё настрою;
- Присутствие в шаблоне каких-то изменений отличающихся от стандартных минимальных параметров установки — порой не понимаешь откуда взялись какие то настройки которых раньше не видел. Кроме того, можно потратить кучу времени не понимая почему не работает то что всегда работало как часы. В итоге выясняется что в шаблоне установки нет пакета который всегда ставился в стандартном минимальном образе.
Все компании предоставляющие услуги VDS могут предоставить возможность установки системы с ISO образа системы. При установке надо правильно указать сетевые параметры исходя из предоставленных сетевых параметров настроек выбранного тарифа!
Разбивка диска для установки
Вариантов разбивки диска для CentOS 8 может быть множество исходя из пожеланий и предпочтений. Например, мне нравиться придерживаться таких параметров:
- Размер диска под систему Linux 50 G — этого мне хватает с запасом;
- Создаю раздел boot размером 1 G — так я гарантирую что при заполнении диска система загрузится однозначно;
- Создаю SWAP — согласно требованиям системы.
Можно выносить логи и кэш в отдельные разделы, но это лишняя трата времени. Лучше всегда выполнять мониторинг размера диска и в случае проблем оперативно принять необходимые меры. Прежде всего, так и головная боль пропадает о том какой размер указывать разделам ( вариант с перераспределением очень сюрпризная тема) и больше времени потратится на правильную настройку сервера.
SWAP
Тема организации SWAP на сервере очень важная и поэтому я описал все основные моменты использования в статье SWAP для Linux
Настройка сети CentOS 8 через конфигурационные файлы
Первый метод мы с вами разобрали, он подходит всем, кто делает установку системы сам. Теперь ситуация, когда вам передали уже готовую CentOS 8, пусть в установке Minimal, это стандартный нормальный вариант использования CentOS 8, в качестве серверной ОС. Нет графики, нет кучи компонентов, меньше фронт атаки. Подключаемся к вашему терминалу. Первое, что вам необходимо сделать, это посмотреть список и названия всех ваших сетевых интерфейсов, для этого есть команда:
ip a (То же самое, что и ввести ip addr show)
Как видим у меня два сетевых интерфейса ens33 и ens36. У меня почему, то у интерфейса ens33 нет IPv4 адреса, у второго я получил 192.168.253.145, это мой интернет шнурок.
Если у вас один интерфейс и он не получил ни какого IP-адреса, то логично что вы поставить IFCONFIG не сможете, поэтому сразу переходите к редактированию конфигурационных файлов и настройке статического или динамического IP
Пробуем с вами посмотреть текущие сетевые настройки IP адреса, маску, шлюз в более удобном виде, для этого мы использовали утилиту IFCONFIG. Пишем команду:
ifconfig
Но в случае с CentOS 8 Minimal у вас выскочит ошибка «Command not found» или в русском варианте «ifconfig команда не найдена». Нам ее нужно установить
Установка IFCONFIG в CentOS 8
Давайте выясним, в каком пакете у нас идет утилита IFCONFIG, для этого вам необходимо выполнить команду:
yum provides ifconfig
На выходе я получил «Basic networking tools (BaseOS)»
Установим данный пакет, пишем команду:
yum install net-tools
Вас спросят хотите ли вы установить данный пакет net-tools, нажмите «Y». Видим, что все успешно установилось.
Пробуем теперь запустить IFCONFIG. Как видим в таком варианте считывание информации, о настройках сети CentOS 8 куда приятнее.
Давайте теперь я отредактирую сетевые настройки для интерфейса ens33 и задам ему:
- IP — 192.168.31.31
- Маску — 255.255.255.0
- Шлюз — 192.168.31.1
- DNS — 192.168.31.1, 192.168.31.2
- Автоматическое включение при старте CentOS 8
В операционных системах CentOS настройки сетевых интерфейсах лежат по пути /etc/sysconfig/network-scripts/. Давайте посмотрим содержимое Для этого введите:
dir /etc/sysconfig/network-scripts/
Вы увидите конфигурационные файлы ваших сетевых интерфейсов, в моем случае, это ens33 и ens36
Чтобы настроить сеть на интерфейсах CentOS 8, вам необходимо отредактировать нужный конфигурационный файл. Для этого я воспользуюсь встроенным редактором vi. Пишем команду:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
Чтобы начать редактировать файл нажмите клавишу «INSERT»
Далее чтобы задать статический IP-адрес приведите настройки вот к такому виду:
- TYPE=Ethernet
- BOOTPROTO=none (означает задать статические настройки), можно поменять значение на DHCP
- NAME=ens33
- ONBOOT=yes (иначе не будет стартовать при запуске)
- NAME=ens33 мое имя интерфейса
- UUID можно менять при клонировании конфигурационного файла
- IPADDR=192.168.31.31 мой IP-адрес
- PREFIX=24 маска 255.255.255.0
- DNS1=192.168.31.1 мой основной DNS
- DNS2=192.168.31.2 дополнительный DNS
- DOMAIN=root.pyatilistnik.org
- GATEWAY=192.168.31.1 основной шлюз
Чтобы сохранить настройки нажмите ESC, потом введите :wq если нужно выйти без сохранения введите :qa!
Чтобы получать динамический IP-адрес по DHCP, выставите в опции BOOTPROTO=dhcp и удалите пункты DNS, IPADDR, PREFIX, GATEWAY
осталось теперь поднять наш сетевой интерфейс для этого есть несколько методов, самый простой использование ifup введите:
ifup ens33
Как видим, у меня сетевой интерфейс стал в состояние подключено и я вижу через ifconfig его ip адрес.
Проверим через утилиту PING доступность контроллера домена и другого сервера, отлично пакеты ходят.
Загрузчик: Grub
Как упоминалось выше, BootLoader загружает программу Grub для управления запуском системы, который делится на три этапа: stage1, stage1.5 и stage2. Программы grub в основном размещаются в каталоге / boot / grub. Самым важным в каталоге является файл конфигурации /boot/grub/grub.conf и определение каждой файловой системы. После того, как загрузчик прочитает данные определения файла Xiyong, он сможет распознать файловую систему и прочитать файл ядра в файловой системе.Преимущества grub следующие:
- Распознавать и поддерживать больше файловых систем, а также использовать основную программу grub для непосредственного поиска имени файла ядра в файловой системе;
- При запуске вы можете редактировать и изменять параметры запуска самостоятельно;
- Динамически найдите файл конфигурации, вместо того, чтобы изменять файл конфигурации и переустанавливать grub, вам нужно только изменить настройки в /boot/grub/grub.conf.
1. Коды железа и разделов в grub
Grub использует этот код для идентификации жесткого диска: (hd0,0). Жесткий диск представлен символом hd, за которым следует набор чисел. Первый найденный жесткий диск имеет номер 0, а второй — номер 1. Первый раздел код равен 0 и так далее.
2./boot/grub/grub.conf файл конфигурации
Сначала проверьте, как выглядит файл конфигурации в моей системе: Определение поля:
Поле | Описание |
---|---|
default=# | Параметры запуска по умолчанию. Используйте первое меню запуска (заголовок) |
timeout=# | Укажите время, в течение которого элемент меню ожидает выбора опции |
splashimage=(hd#,#)/PATH/XPM_FILE | Путь к файлу фонового изображения меню |
hiddenmenu | Скрыть меню |
title TITLE | Определите пункт меню «Заголовок», который может появляться несколько раз. |
root (hd#,#) | Найдите раздел устройства, в котором находятся файлы stage2 и ядра; это корень grub. |
kernel /PATH/TO/VMLINUZ_FILE | Загруженное ядро |
initrd /PATH/TO/INITRAMFS_FILE | Файл ramfs соответствия ядра |
password STRING | Меню Пуск редактировать аутентификацию |
password STRING | Аутентификация при загрузке выбранного ядра или операционной системы |
Первые четыре строки заголовка — это общие настройки grub, основные параметры:
-
default=0 Это сравнивается с заголовком. Если в файле конфигурации есть несколько заголовков, будет несколько меню на выбор. Поскольку начальный номер grub равен 0, значение по умолчанию = 0 означает первый заголовок возможность активировать значение. Если до окончания обратного отсчета нет кнопки, система запустится с заголовком по умолчанию 0 по умолчанию.
-
timeout=5 Начните обратный отсчет. Если вы не нажмете какую-либо клавишу в течение 5 секунд, он начнется с соответствующего заголовка за ранее упомянутым значением по умолчанию. Это значение можно увеличивать или уменьшать. Когда timeout = 0, это означает, что значение по умолчанию используется для запуска без подсчета секунд; когда timeout = -1, это означает, что меню вводится напрямую, без подсчета секунд.
-
splashimage=(hd0,0)/grub/splash.xpm.gz Предоставляет интерфейс запуска и фоновое изображение интерфейса меню.
-
hiddenmenu Этот параметр позволяет указать, следует ли запускать меню во время запуска. В настоящее время по умолчанию меню не запускается. Если вы хотите начать, просто закомментируйте строку с помощью (#) .
-
root представляет раздел, в котором размещен файл ядра, а не корневой каталог.
-
kernel За ядром следует имя файла ядра, а за именем файла следуют параметры ядра. Поскольку корневой каталог необходимо смонтировать во время процесса загрузки, root = LABEL = / 1, за которым следует ядро, указывает, в каком разделе находится корневой каталог Linux.
-
initrd Имя файла RAM-диска
Если в приведенном выше содержании есть ошибка, прокомментируйте и исправьте ошибку.
CentOS 7 порядок загрузки
- UEFi или BIOS инициализация, запустить POST POST
- Выберите загрузочное устройство и загрузите программу начального загрузчика grub2
- Загрузите файл конфигурации программы загрузчика: /boot/grub2/grub.cfg
- Загрузить модуль драйвера initramfs
- Загрузить параметры ядра
- Инициализация ядра, centos7 использует systemd вместо init
- Выполнить все модули initrd.target, включая монтирование / etc / fstab
- Переключиться из корневой файловой системы initramfs в корневой каталог диска
- systemd выполняет целевую конфигурацию по умолчанию, файл конфигурации /etc/systemd/system/default.target
- systemd выполняет sysinit.target для инициализации системы, а basic.target подготавливает операционную систему
- systemd запускает локальные и серверные службы под multi-user.target
- systemd выполняет /etc/rc.d/rc.local под multi-user.target
- systemd выполняет getty.target под multi-user.target и сервисом входа
- Systemd выполняет сервисы, необходимые для графического
Cистемные требования CentOS 8
Принципиальных отличий в системных требованиях CentOS 8 по сравнению с предыдущими редакциями нет. Я смог установить и запустить ее на виртуальной машине с 1CPU/512Mb. Однако появились нюансы. Для начала табличка системных требований.
CPU | Memory | Disk | |
Минимальные | 1 | 512 Mb | 10 G |
Рекомендуемые | 2 | 4 G | 20 G |
Я попробовал несколько раз установить Centos 8 на 1CPU/512Mb. При локальной установке все получилось, хотя графический интерфейс инсталлятора прилично тормозил. Установить на виртуальную машину с этими же характеристиками по сети у меня не получилось. Пробовал несколько раз и каждый раз установка зависала на 44% в момент загрузки пакетов из удаленного репозитория. Как только добавлял памяти установка проходила нормально. Так что можно сказать, что минимальные системные требования для установки CentOS 8 по сети — 1 CPU и 1024 Мб оперативной памяти. Для локальной установки хватит и 512.
Заметил еще один интересный момент, которого не было в прошлых версиях. Если вы устанавливаете систему на 512 Мб оперативной памяти и не выделяете раздел под swap при разметке диска, установщик говорит вам, что ему надо хотя бы 600 мб оперативной памяти, чтобы выполнить установку без swap.
Так что имейте ввиду, что если будете ставить CentOS 8 на минимальные системные требования, отказаться от отдельного раздела под swap не получится. Я обычно отказываюсь и подключаю swap в виде отдельного файла позже. Так просто удобнее. Теперь с 512 мб памяти это сделать не получится. Проще всего выделить во время установки побольше памяти, а потом уменьшить ее количество. Хотя надо будет еще понаблюдать, как система станет себя вести с таким количеством ресурсов. На 7-й версии центос тот же nginx в режиме proxy_pass отлично работает с минимальными системными требованиями.
Заключение
Я постарался рассказать подробно и понятно о полной настройке ELK Stack. Информацию в основном почерпнул в официальной документации. Мне не попалось более ли менее подробных статей ни в рунете, ни в буржунете, хотя искал я основательно. Вроде бы такой популярный и эффективный инструмент, но статей больше чем просто дефолтная установка я почти не видел. Буквально одна на хабре попалась с какой-то более ли менее кастомизацией.
Какие-то проверенные моменты я не стал описывать в статье, так как посчитал их неудобными и не стал использовать сам. Например, если отказаться от logstash и отправлять данные с beats напрямую в elasticsearch, то на первый взгляд все становится проще. Штатные модули beats сами парсят вывод, устанавливают готовые визуализации и дашборды в Kibana. Вам остается только зайти и любоваться красотой Но на деле все выходит не так красиво, как хотелось бы. Кастомизация конфигурации усложняется. Изменение полей в логах приводит к более сложным настройкам по вводу этих изменений в систему. Все настройки поступающей информации переносятся на каждый beats, изменяются в конфигах отдельных агентов. Это неудобно.
В то же время, при использовании logstash, вы просто отправляете данные со всех beats на него и уже в одном месте всем управляете, распределяете индексы, меняете поля и т.д. Все настройки перемещаются в одно место. Это более удобный подход. Плюс, при большой нагрузке вы можете вынести logstash на отдельную машину.
Я не рассмотрел в своей статье такие моменты как создание визуализаций и дашбордов в Кибана, так как материал уже и так получился объемный. Я устал писать эту статью Смотрите остальные мои материалы по данной теме. Там есть примеры.
Так же я не рассмотрел такой момент. Logstash может принимать данные напрямую через syslog. Вы можете, к примеру, в nginx настроить отправку логов в syslog, минуя файлы и beats. Это может быть более удобно, чем описанная мной схема. Особенно это актуально для сбора логов с различных сетевых устройств, на которые невозможно поставить агента, например mikrotik. Syslog поток так же можно парсить на ходу с помощью grok. Отдельно надо рассмотреть автоочистку старых индексов в elasticsearch.
Подводя итог скажу, что с этой системой хранения логов нужно очень вдумчиво и внимательно разбираться. С наскока ее не осилить. Чтобы было удобно пользоваться, нужно много всего настроить. Я описал только немного кастомизированный сбор данных, их визуализация — отдельный разговор. Сам я постоянно использую и изучаю систему, поэтому буду рад любым советам, замечаниям, интересным ссылкам и всему, что поможет освоить тему.
Все статьи раздела elk stack — https://serveradmin.ru/category/elk-stack/.
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .