Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение. |
Настройка ядра, добавление оборудования, установка программ и обновлений
Загрузка модулей
В зависимости от выполняемых системой задач, некоторые полезные модули могут не загружаться в начале работы системы. Для того, чтобы они точно загружались, следует использовать вышеупомянутые настройки в /etc/system. Если требуется загрузить модуль во время работы системы, не перегружая ее, воспользуйтесь командой modload.
В Solaris 9 можно было проделать такой эксперимент по загрузке модуля, отвечающего за семафоры в ядре: по умолчанию этот модуль был не загружен
sysdef | tail -20 * * Streams Tunables * 9 maximum number of pushes allowed (NSTRPUSH) 65536 maximum stream message size (STRMSGSZ) 1024 max size of ctl part of message (STRCTLSZ) * * IPC Messages module is not loaded * * * IPC Semaphores module is not loaded * * * IPC Shared Memory module is not loaded * * * Time Sharing Scheduler Tunables * 60 maximum time sharing user priority (TSMAXUPRI) SYS system class name (SYS_NAME)
Стандартные модули располагаются в подкаталогах каталога /kernel:
ls -l /kernel total 2856 drwxr-xr-x 2 root sys 512 Мар 17 10:42 dacf drwxr-xr-x 2 root sys 3072 Мар 17 11:16 drv drwxr-xr-x 2 root sys 512 Мар 17 11:10 exec drwxr-xr-x 2 root sys 512 Мар 17 10:52 fs -rwxr-xr-x 1 root sys 1438036 Ноя 4 2002 genunix drwxr-xr-x 2 root sys 512 Мар 17 11:07 ipp drwxr-xr-x 2 root sys 512 Мар 17 10:50 mach drwxr-xr-x 3 root sys 1024 Мар 17 11:07 misc drwxr-xr-x 2 root sys 512 Мар 17 10:43 sched drwxr-xr-x 2 root sys 1024 Мар 17 10:53 strmod drwxr-xr-x 2 root sys 512 Мар 17 10:49 sys
modload /kernel/misc/ipc
После этого модуль будет загружен и будет отображаться программами мониторинга:
modinfo | grep ipc 146 feab6fb2 332 - 1 ipc (common ipc code)
Для проверки работоспособности модуля поддержки семафоров в Solaris до версии 9 включительно можно было использовать команду
sysdef: sysdef | tail -28 * * IPC Messages * 2048 max message size (MSGMAX) 4096 max bytes on queue (MSGMNB) 50 message queue identifiers (MSGMNI) 40 system message headers (MSGTQL) * * IPC Semaphores * 100 semaphore identifiers (SEMMNI) 60 semaphores in system (SEMMNS) 30 undo structures in system (SEMMNU) 25 max semaphores per id (SEMMSL) 100 max operations per semop call (SEMOPM) 10 max undo entries per process (SEMUME) 32767 semaphore maximum value (SEMVMX) 16384 adjust on exit max value (SEMAEM) * * IPC Shared Memory * 8388608 max shared memory segment size (SHMMAX) 100 shared memory identifiers (SHMMNI) * * Time Sharing Scheduler Tunables * 60 maximum time sharing user priority (TSMAXUPRI) SYS system class name (SYS_NAME)
Для выгрузки модуля следует дать команду modunload:
modunload ipc usage: modunload -i <module_id> [-e <exec_file>] modunload -i 146 can't unload the module: Device busy
Если модуль чем-то занят или его ресурс кем-то использовался ранее и блокировка не снята, удалить модуль не удастся.
Начиная с Solaris 10, семафоры более не контролируются настройками ядра, управление ими отдано в подсистему управления ресурсами, и их количество можно регулировать для каждого проекта в системе индивидуально.
Поэтому для проверки, эффективно ли используется /etc/system, воспользуемся нашим примером с установкой параметра noexec_user_stack.
Проверим значение этого параметра в выполняющемся в данный момент ядре:
mdb -kw Loading modules: [ unix genunix specfs dtrace cpu.generic cpu_ ms.AuthenticAMD.15 uppc pcplusmp scsi_vhci ufs ip hook neti sctp arp usba s1394 fctl nca lofs zfs random audiosup md cpc crypto smbsrv fcip fcp logindmux ptm nsctl sdbc sv ii sppp rdc ipc ] > noexec_user_stack/D noexec_user_stack: noexec_user_stack: 0 ^D
set noexec_user_stack = 1
После перезагрузки картина будет иной:
mdb -kw Loading modules: [ unix genunix specfs dtrace cpu.generic cpu_ ms.AuthenticAMD.15 uppc pcplusmp scsi_vhci ufs ip hook neti sctp arp usba s1394 fctl nca lofs zfs random audiosup cpc crypto fcip ptm nsctl sppp ipc ] > noexec_user_stack/D noexec_user_stack: noexec_user_stack: 1 ^D
Получение информации об оборудовании
Для получения информации об уже установленных устройствах следует пользоваться программами prtconf, sysdef и dmesg.
Программа prtconf выдает информацию о конфигурации системы в том виде, в котором она иерархически представлена в системе; с помощью prtconf можно выяснить, "увидела" ли система то или иное устройство. Упоминание устройства в выводе prtconf означает только то, что устройство обнаружено среди оборудования компьютера. Это НЕ ЗНАЧИТ, что устройство нормально работает, и тем более не означает, что в системе установлен его драйвер.
Программа sysdef показывает больше информации о системе: здесь выводится не только список аппаратуры в системе, но и перечень псевдоустройств, загруженных модулей, параметры ядра, информация о разделяемой памяти, семафорах и т.п.
Программа dmesg выдает сообщения из файла протокола и список устройств, обнаруженных при последней перезагрузке системы. Эти сообщения можно также посмотреть в файле /var/adm/messages.
Для более детального изучения оборудования компьютера могут пригодиться программы scanpci ( /usr/X11/bin/scanpci – опрос устройств на шине PCI), psrinfo (информация о процессорах компьютера), isainfo (описание аппаратной архитектуры с точки зрения набора команд).
Команда psrinfo наиболее полезна с ключами -pv:
psrinfo -pv The physical processor has 2 virtual processors (0 1) x86 (AuthenticAMD 40F82 family 15 model 72 step 2 clock 1600 MHz) AMD Turion(tm) 64 X2 Mobile Technology TL-50
Следует иметь в виду, что многоядерный процессор виден системе как несколько процессоров (ровно столько, сколько ядер на кристалле). Управлять состоянием процессоров (например, делать часть из них недоступными системе) можно с помощью программы psradm.
На двухядерном процессоре AMD x64 Turion isainfo выдает такую информацию:
isainfo -v 64-bit amd64 applications tscp ahf cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc fpu 32-bit i386 applications tscp ahf cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov amd_sysc cx8 tsc fpu
Для получения информации о временно подключаемых устройствах (например, USB-флэш) следует использовать команду
rmformat -l
Ключ -l указывать обязательно! Команда rmformat предназначена для форматирования подключенных устройств, и только ключ -l дает возможность просто посмтреть их список без форматирования.
Подключение нового оборудования
Задача подключения нового оборудования сводится к двум этапам: загрузке соответствующего драйвера нового устройства в ядро и созданию файла устройства в каталоге /dev. Это справедливо для всех систем UNIX. В Solaris все немного сложнее: как вы помните, сначала надо создать файл устройства в /devices, а затем – соответствующие символические ссылки на него в /dev.
К счастью, эти задачи можно решать автоматизированно: в Solaris есть утилита devfsadm, которая автоматически распознает свежеподключенные устройства и создает необходимые файлы в /devices и /dev.
При загрузке ядро системы в состоянии выполнить автоматическую самонастройку, определяя, какие именно устройства подключены к системе. Если вы подключили любое новое устройство к компьютеру и оно в настоящее время не видно ядру (например, новый накопитель), следует создать файл /reconfigure и перезапустить систему:
touch reconfigure; reboot
После перезагрузки система увидит новое устройство, если только оно вообще поддерживается данной версией системы.
Вместо создания файла /reconfigure и перезапуска допустимо при загрузке системы дать команду из строки начального загрузчика:
boot –r
Этот способ не слишком хорош, потому что он позволяет запланировать перезапуск на более поздний срок и требует интерактивного вмешательства администратора.
Начиная с версии Solaris 8 можно добавлять и удалять устройства из системы без ее перезагрузки – для этого служит утилита devfsadm. Ее можно запускать интерактивно, но, если запущен демон автоконфигурации devfsadmd, то изменения будут сделаны автоматически. Программы devfsadm и devfsadmd работают с файлом /etc/path_to_inst, в котором находится список устройств в системе. При добавлении новых устройств записи в файле не перенумеруются, к старым посто добавляются новые.
В случае, если файл /etc/path_to_inst был удален или неверно отредактирован, система не сможет загрузиться. В этом случае можно загрузиться с CD-ROM и переписать файл с дистрибутивного диска.
Еще одним важным файлом в контексте разговора об устройствах в Solaris является файл /etc/name_to_major, который служит для отображения имен устройств в major номера файлов устройств; этот файл создается при формировании содержимого каталога /devices, например, при работе devfsadmd.
Для установки драйвера стороннего производителя надо следовать инструкциям, которые обычно доступны на сайте производителя устройства или в закачанном из Сети пакете, содержащем драйвер.
Порядок установки драйвера нового оборудования
Установка драйвера производится командой add_drv. После выполнения этой программы файл драйвера будет размещен в соответствующем каталоге (см. таблицу 2.1).
После установки драйвера следует сообщить системе, что появилось новое устройство, – запустить devfsadm. При этом devfsadm должна создать ссылку из каталога /dev на соответствующее устройство в каталоге /devices.
Возможно, после этого потребуется загрузить модуль драйвера командой modload. Если устанавливается драйвер сетевого адаптера, надо выполнить команду ifconfig имя_интерфейса plumb, чтобы интерфейс стал доступен для работы; например, для интерфейса vfe0 это будет выглядеть так:
ifconfig vfe0 plumb
Некоторые новые устройства, подключаемые к системе, не требуют никакой подобной установки. Например, при подключении внешних USB-накопителей ("флэшек") последние распознаются автоматически как внешние блочные устройства и автоматически монтируются компонентом графической среды (в GNOME – gnome-volume-manager ).