Европейский Университет в Санкт-Петербурге
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 1309 / 258 | Оценка: 4.34 / 3.65 | Длительность: 21:13:00
Лекция 11:

Запуск и остановка системы

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Ключевые слова: system, BSD, ПО, init, shutdown, rebooting, halt, остановка системы, Unix, serviceability, management, facility, SMF, Web-службы, база данных, SVC, типы задач, сервер, сервер баз данных, веб-сервер, копирование баз данных, резервное копирование, модуль ядра, runlevel, State, inittab, ПЗУ, firmware, SPARC, x86, сохранность данных, файловая система, демон, вход в систему, пользовательский процесс, консоль, копирование, администратор, монитор, COM-порт, многопользовательский режим, NFS, milestone, администрирование, память, запуск процесса, default, переменная среды, expression, самотестирование, power, POST, имя файла, EEPROM, интерактивность, командная строка, загрузчик, DHCP, RARP, boot, псевдоним, ARP, локальная сеть, TFTP, MAC-адрес, IP-адрес, вторичный загрузчик, загрузочный раздел, полное имя файла, platform-specific, hardware-specific, полное имя, синтаксис, device-specific, NVRAM, variability, подстрока, разрядность, CD-ROM, CD+G, kernel, BIOS, плата, контроллер, компакт-диск, USB, жесткий диск, оперативная память, real mode, процессор, BIT, protected mode, GRUB, UFS, DCA, configure, assistant, системный администратор, командный интерпретатор, родительский процесс, ultrasparc, компилятор, язык высокого уровня, ассемблер, вероятность, ядро, драйвер, остаток, очередь, загрузка, profiler, genericity, XML, файл, перезагрузка системы, множества, драйвер устройства, модуль, параметры ядра, CP/M, BAK, NULL, параметр, значение, длина, список, системное устройство, вывод, информация, инициализация, stream, сокет, запуск, завершение работы, репозиторий, запуск системы, start-stop, kill, символическая ссылка, mastering, Размещение, диск, программа, команда, предупреждающее сообщение, сеанс работы, системная служба, кэш, стабильность, UPS, энергия, ctrl, последовательный порт, break, прерывание, switch, true, monitoring, интерпретатор, ALL

Запуск и остановка: различия между Solaris и другими UNIX

Во-первых, Solaris относится к System V системам, и поэтому процедуры его запуска и остановки, а также файлы конфигурации и системные скрипты, используемые для этих процедур, в корне отличаются от таковых в системах BSD. Здесь не рассматриваются системы BSD, для изучения отличия между System V и BSD системами имеет смысл обратиться к книге [1] или другой литературе, в том числе к источникам в Интернете.

Во-вторых, Solaris отличается от собратьев по ветви System V наличием специального режима работы системы, который называется s или S. Ниже этот режим описан подробнее. В большинстве систем System V остальные семь режимов работы (0-6) имеют аналогичное назначение. Некоторые системы, например, многие из систем Linux, имеют несколько иную структуру каталогов системных скриптов. Так, в Solaris скрипты находятся в /etc/rc0.d, /etc/rc1.d и т.д., а в Linux – в /etc/rc.d/rc0/, /etc/rc.d/rc1/ и т.д. Однако, для того, чтобы уточнить местоположение этих скриптов в любой из систем System V, достаточно изучить man init.

В-третьих, Solaris обладает самой большой коллекцией программ для изменения режима работы системы: shutdown, reboot, halt, poweroff, init. В других системах не всегда есть полный набор этих программ, однако, в системах System V всегда присутствуют программы init и shutdown. Они всегда имеют одинаковое назначение, независимо от названия и поставщика ОС, хотя их ключи иногда могут несколько отличаться.

Повторимся еще раз: общие принципы загрузки и остановки системы очень схожи для всех систем UNIX ветви System V, особенности вашей системы всегда можно понять из man init, man shutdown.

Начиная с Solaris 10, в Solaris появилась новая подсистема Service Management Facility (SMF), которая непосредственно связана с загрузкой системы и управлением постоянно работающими в системе службами. Идея SMF состоит в том, что в Solaris поддерживается общесистемная база данных о взаимосвязях между различными службами и отдельный системный процесс отслеживает состояние служб. Благодаря SMF порядок загрузки Solaris изменился: теперь стартовые скрипты играют значительно меньшую роль, и управление тем, какие именно службы должны запуститься, полностью передано SMF. Для просмотра и модификации настроек служб начиная с Solaris 10 следует использовать команды svcs, svcadm и svccfg.

Режимы работы системы

В одной и той же компьютерной системе может понадобиться выполнять совершенно разные типы задач. Например, на большом складе компании-поставщика бытовой техники центральный сервер управляет базой данных клиентов и их заказов. Эта работа ведется круглосуточно, за исключением короткой передышки в пятницу поздно вечером. В рабочее время на сервере запущены приложения, которые необходимы для обслуживания запросов: сервер базы данных, веб-сервер, модули ядра, отвечающие за работу с сетью, и тому подобное. Во время короткой передышки в пятницу на сервере выполняется совершенно другая работа: полное резервное копирование базы данных и, если надо, установка нового ПО. Для этой работы важно, чтобы никто не обращался к серверу с запросами во время резервного копирования и модификации ПО, и такие приложения, как сервер базы данных, веб-сервер, модули ядра, отвечающие за работу с сетью, следует выключить на время проведения еженедельного техобслуживания системы.

Для того, чтобы системе было легче переключаться между разными наборами программ, которые используются для разных типов задач, была придумана концепция режимов работы системы. Любой UNIX ветви System V, в том числе и Solaris, может работать в одном из семи режимов. Каждый режим характеризуется своим назначением, которое определяет набор программ, выполняющихся в этом режиме. В Solaris используется восемь режимов (0-6 и S или s, режимы s и S – это одно и то же).

Режим работы системы (runlevel) иногда также называют состоянием (state) или уровнем выполнения. Фактически, набор программ, запускаемых в том или ином режиме, определяется соджержимым файла /etc/inittab. В этом файле указываются стартовые скрипты, которые будут автоматически запускаться при переходе к каждому из уровней выполнения. Эти скрипты расположены в каталоге /etc, и из них вызываются другие скрипты, которые лежат в каталогах /etc/rcN.d. ( N – число от 0 до 6 или символ S)

При переходе к режиму 0 выполняется /etc/rc0, к режиму 1 – /etc/rc1 и так далее. Далее даны описания всех возможных режимов работы Solaris.

Режим 0

Система останавливается, управление переходит к программе из ПЗУ (firmware) для компьютеров архитектуры SPARC, для компьютеров x86 – система останавливается и может быть перезагружена нажатием любой клавиши. В состоянии 0 компьютер можно выключить без опасений за сохранность данных.

Режим 1

Административный режим. Файловые системы, необходимые для многопользовательской работы, смонтированы, и можно использовать регистрационные имена, требующие доступа к многопользовательским файловым системам. Запущены некоторые демоны, однако пользователям не разрешено входить в систему. Режим 1 используется для установки пакетов ПО.

Режим s, S

Режим s (или S) называется однопользовательским. При переходе в это состояние все пользовательские процессы останавливаются, а файловые системы, необходимые для многопользовательской работы, демонтируются. После этого доступ к системе возможен только с консоли; регистрационные имена, требующие доступа к пользовательским файловым системам, использовать нельзя. Следует задействовать этот режим для установки или удаления программного обеспечения, резервного копирования, восстановления или проверки файловых систем. Система переходит в состояние s автоматически, когда файловая система /usr повреждена и не может быть восстановлена без вмешательства администратора. Набор файловых систем, смонтированных при работе системы в состоянии s, не всегда один и тот же; то, какие файловые системы смонтированы, зависит от метода перевода системы в состояние s и настроек системы.

Переход в режим s возможен даже при поврежденном или отсутствующем файле /etc/inittab, что невозможно для любого другого режима работы. Пре переходе в режим S из других режимов работы файловые системы, которые уже смонтированы к этому моменту, остаются смонтированными, даже если предоставляются другими серверами в сети. Все процессы, запущенные ранее, которые должны быть запущены только в многопользовательских режимах, завершаются, и все процессы, имеющие записи в utmpx (т.е. запущенные от имени пользователей), также завершаются. Последнее означает, что процессы типа ttymon и других мониторов портов, запущенные системой SAC, тоже завершаются при переходе в режим S.

Режим 2

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

Режим 3

Многопользовательский режим; кроме того, что разрешено в режиме 2, добавлен доступ к локальным ресурсам через сеть (поддерживается разделение каталогов с помощью NFS).

Режим 4

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

Режим 5

Режим остановки; операционная система останавливается, и, если это возможно, обеспечивается автоматическое выключение питания. Для автоматического выключения питания необходима аппаратная поддержка выполнения этой функции.

Режим 6

Останавливает и перезагружает операционную систему в состояние, определяемое записью initdefault в файле /etc/inittab. При необходимости конфигурирует перед перезагрузкой новый загружаемый образ ядра операционной системы. Для пересборки ядра после модификации параметров ядра или добавления новых устройств следует выполнить команду

touch /reconfigure

перед перезагрузкой.

Этапы работы системы

Кроме режимов, которые характерны для всех систем UNIX, подобных System V, в Solaris начиная с версии Solaris 10 введено понятие "этапов" (milestone). Как и понятие "режим", понятие "этап" связано с набором приложений, выполняющихся в системе. Разные этапы предполагают функционирование разных наборов служб. Переход от одного этапа к другому и объявление одного из этапов "этапом по умолчанию" (т.е. таким, к которому система должна прийти в результате нормальной загрузки) выполняется так же, как и другие виды управления службами с использованием SMF, т.е. командами svcs, svcadm и svccfg.

Более подробно об этапах рассказано в лекции 13 курса "Системное администрирование ОС Solaris 10" "Управление службами с помощью SMF".

В связи с появлением концепции этапов работы порядок загрузки системы изменился, равно как и действия, которые выполняет init, так как значительная часть функций по управлению службами перешла от init к svc.startd. Понятие "режима работы" при этом сохранилось. Теперь, начиная с Solaris 10, при загрузке системы после загрузки ядра в память компьютера происходит следующее:

  1. запускается процесс init (как и раньше), он считывает файл /etc/default/init и устанавливает переменные среды окружения согласно этому файлу. По умолчанию устанавливается только переменная TIMEZONE, хотя в моей версии Solaris Express установлено больше переменных:
    TZ=Europe/Moscow
    CMASK=022
    LC_COLLATE=ru_RU.UTF-8
    LC_CTYPE=ru_RU.UTF-8
    LC_MESSAGES=C
    LC_MONETARY=ru_RU.UTF-8
    LC_NUMERIC=ru_RU.UTF-8
    LC_TIME=ru_RU.UTF-8
  2. init считывает файл /etc/inittab и запускает все процессы, у которых в поле "тип запуска" указано sysinit, для того, чтобы они были гарантированно выполнены до входа пользователей в систему;
  3. init передает управление дальнейшим запуском служб службе svc.startd.
< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Александр Васильченко
Александр Васильченко
Россия
Денис Гайдуль
Денис Гайдуль
Россия, Подольск