Обзор процедуры инсталляции
Категория: Добавление нового жесткого диска | Автор: admin | 24-10-2009, 02:46 | Просмотров: 4099

Процесс инсталляции нового диска состоит из следующих этапов:

  • подключение дискового накопителя к компьютеру;

  • создание файлов устройств, через которые будет осуществляться достуг к диску;

  • форматирование диска;

  • маркировка и разбиение диска на разделы;

  • создание логических томов

  • создание файловых систем UNIX в разделах диска;

  • организация автоматического монтирования;

  • создание разделов подкачки.

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

Подключение диска

 

Процедура подключения диска зависит от его интерфейса. Если это IDE-диск, постарайтесь сконфигурировать систему так, чтобы к каждой шине был подсоединен только один диск. Проверьте ориентацию кабелей правильность установок "главный/подчиненный" на каждом диске. Если это SCSI-диск, убедитесь, что на обоих концах шины присутствуют терминаторы, длина кабеля не превышает допустимую и целевой номер нового устройства не конфликтует с номерами существующих устройств.

 

Создание файлов устройств

 

 

Прежде чем получить доступ к новому диску, нужно создать в каталоге /dev файлы устройств для этого диска. Потребуются файлы как блок-ориентированных устройств (используются в основном для монтирования файловых систем), так и байт-ориентированных (для резервирования и проверки целостности файловых систем). Многие версии UNIX автоматически создают файлы для всех возможных SCSI-устройств. Подробная информация об этом содержится в параграфе 8.5.

Одной неосторожной операцией записи на диск можно за считанные секунды полностью разрушить файловую систему, поэтому права доступа к файлам дисковых устройств следует устанавливать очень осторожно. Мы предоставляем права на чтение и запись владельцу (пользователю root) и права на чтение членам группы operator. Это позволяет операторам выполнять программу dump без прав суперпользователя и запрещает простым пользователям осуществлять прямой доступ к диску.

 

Форматирование диска

 

Излишне усердные фирмы-продавцы часто указывают емкость дисков в байтах без учета форматирования. Как правило, около 10% емкости уходит на маркировку поверхностей дисков, которая необходима для того, чтобы аппаратные и программные средства могли находить записанные там данные. Покупая диск, всегда оценивайте его емкость в "форматированных" байтах и соответствующим образом сравнивайте цены.

Еще одна популярная уловка — указывать емкость диска в "мегабайтах", считая, что мегабайт равен миллиону байтов. На самом деле мегабайт равен 220, или 1048576 байтам, и эта потрясающая арифметика приводит к тому, что реальная емкость диска завышается почти на 5%.

В процессе форматирования на диск записывается адресная информация и метки синхронизации для разграничения секторов. Кроме того, выявляются "дефектные" блоки — некачественные участки носителей, которые невозможно использовать для чтения и записи. В старых дисках (в том числе стандарта SMD) за обнаружение дефектных блоков и переадресацию записи в них отвечает драйвер устройства UNIX. В SCSI-накопителях контроль дефектных блоков осуществляет контроллер диска, поэтому о них не нужно беспокоиться ни пользователю, ни драйверу.

Все жесткие диски, как правило, форматируются на заводе, и качество такого форматирования часто выше, чем то, которого можно достичь в реальных условиях. Лучше избегать низкоуровневого форматирования, если оно не требуется. Когда начинают возникать ошибки чтения/записи, в первую очередь проверьте кабели, терминаторы и номера устройств (для SCSI-дисков), так как появление таких ошибок не всегда означает наличие дефектных блоков. Если после всего диск по-прежнему работает неустойчиво, лучше заменить его, а не тратить много часов на форматирование.

IDE-диски, как правило, не предназначены для самостоятельного форматирования. Тем не менее, существуют специальные программы форматирования, обычно работающие в Windows, которые предлагаются поставщиками дисков Убедитесь, что программа работает с конкретным диском, и тщательно следуйте инструкциям разработчиков программы.

SCSI-диски форматируются автоматически по команде, посылаемой с главного компьютера. Способ выдачи такой команды зависит от системы. На персональном компьютере команду можно послать из BIOS-программы контроллера SCSI. В Solaris эта команда называется format, а в HP-UX — mediainit.

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

 

Разделы и метки

 

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

Наличие разделов облегчает выполнение резервного копирования, не позволяет пользователям посягать на чужие области диска, повышает производительность и ограничивает потенциальный ущерб, наносимый неуправляемыми программами. В большинстве операционных систем таблица разделов (равно как и другая информация о диске) хранится на диске в записи, называемой меткой. Метка обычно занимает первые несколько блоков диска. Ее содержимое зависит от типа системы, но в общем метка содержит достаточно информации для того, чтобы программа начальной загрузки нашла ядро ОС.

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

Разработчики некоторых систем идут еще дальше и дают возможность определять несколько перекрывающихся наборов разделов. Например, разделы 0, 1 и 2 делят диск одним способом, а разделы 3 и 4 — другим.

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

В современных системах по сравнению с их предшественницами количество разделов сокращено, но большинство систем все равно имеют минимум три раздела.

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

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

  • Пользовательский раздел. Это общее пространство для начальных катало­гов, файлов данных, библиотек исходных текстов программ и т.д.

Существуют разные мнения о том, какой способ разбиения дисков на разделы является лучшим. Вот некоторые советы.

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

  • Наращивая память на своей машине, увеличивайте и раздел подкачки. Для нормальной работы размер этого раздела должен как минимум равняться размеру оперативной памяти, что позволит в случае сбоя разместить в данном разделе файл дампа.

  • Распределив раздел подкачки между разными дисками, можно добиться повышения производительности. Это касается и файловых систем. Помещайте интенсивно используемые файловые системы на отдельные диски. Замечания по этому поводу приведены в параграфе 25.3.

  • При создании резервных копий разделов не делайте размер дискового раздела больше, чем позволяет емкость резервного устройства. Читайте параграф 10 1.

  • Данные, которые часто подвергаются изменениям, целесообразно размещать в таких разделах, резервные копии которых делаются чаще.

  • Рекомендуем создать отдельную файловую систему для временных файлов (/tmp). Таким образом, можно будет отвести для них ограниченную область дискового пространства и избавить себя от необходимости создавать их резервные копии.

  • Если система ведет файлы регистрации в каталоге /var, то лучше сделать этот каталог отдельным разделом диска. Во многих системах каталог /var является частью очень маленького корневого раздела, что приводит к быстрому заполнению последнего и останову машины.

 

Создание логических томов

 

В некоторых системах есть "менеджер логических томов", который реализует особый вид разбивки на разделы. Мы не станем здесь описывать особенности всех существующих менеджеров, но у них есть ряд общих характеристик, о которых следует упомянуть. (Тем не менее, далее мы расскажем о менеджере Veritas, существующем в HP-UX.)

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

Некоторые менеджеры томов поддерживают стандарт RAID5, в которое применяется режим чередования с дополнительной проверкой контрольных сумм. Контрольные суммы обеспечивают необходимую избыточность, благодаря чему данные можно восстановить, даже если один из дисков выходит из строя.

Менеджеры томов часто поддерживают и такую технологию, как зеркальное дублирование. Зеркальный том связан с другим томом аналогичного размера. Данные, записываемые в один том, дублируются в другом. Если в одном томе происходит аппаратный сбой, система автоматически переадресует запросы его зеркальному аналогу, не прерывая их выполнения. После устранения проблемы оба тома должны пройти процедуру синхронизации.

Veritas — это менеджер логических томов, поддерживаемый как в Solaris, так и в HP-UX. Фирма Sun предлагает для своих систем собственный менеджер под названием Solstice DiskSuite. Vinum — это менеджер с открытым кодом, доступный во FreeBSD и созданный под влиянием менеджера Veritas. В Linux поддержка технологии RAID реализована на уровне ядра, но имеется также отдельный менеджер томов, называющийся Linux LVM.

 

Файловые системы

 

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

Для инсталляции файловой системы в один из разделов диска используется команда mkfs или newfs. Команда newfs, по сути, является интерфейсной надстройкой к команде mkfs. В старых версиях UNIX нужно было много знать о характеристиках диска, но сейчас эта необходимость отпала. Чтобы создать файловую систему, достаточно правильно задать команду (mkfs или newfs) и указать имя раздела.

Процедура инсталляции в деталях будет описана ниже. Здесь же мы рассмотрим вопрос о том, как при построении файловой системы файлы помещаются на диск. Речь пойдет о быстрой файловой системе Беркли (Berkeley Fast File System), которая была разработана Маккузиком (McKusick) Джоем (Joy) и Леффлером (Leffler) для 4.2BSD. Ее использует большинство современных версий UNIX. Файловая система BSD состоит из пяти структурных компонентов:

  • совокупность блоков для индексных дескрипторов;

  • совокупность распределенных "суперблоков";

  • таблица распределения дисковых блоков в файловой системе;

  • сводка использования блоков;

  • совокупность блоков данных.

Каждый раздел файловой системы разбит на группы, содержащие от 1 до 32 цилиндров. Такие структуры, как таблицы индексных дескрипторов, распределены по группам цилиндров так, чтобы блоки, используемые вместе находились на диске близко друг к другу. Это позволяет сократить время поиска при доступе к блокам одного файла.

Индексный дескриптор — это табличная запись фиксированного размера, содержащая информацию об одном файле. Поскольку пространство для индексных дескрипторов должно выделяться, когда UNIX выполняет начальное структурирование файловой системы, необходимо заранее решить, сколько индексных дескрипторов должно быть создано. Невозможно предсказать точно, сколько файлов (индексных дескрипторов) понадобится в будущем. Используя эмпирическую формулу, UNIX оценивает это число на основании величины раздела и среднего размера файла.

При создании файловой системы можно увеличить или уменьшить количество индексных дескрипторов: в файловых системах со множеством мелких файлов должно быть больше индексных дескрипторов, а в файловых системах с несколькими большими файлами — меньше. Значение, заданное по умолчанию, позволяет заполнить диск 2048 файлами.

 

Суперблок — это запись, содержащая характеристики файловой системы. В суперблоке хранится информация о длине дискового блока, размере и расположении таблиц индексных дескрипторов, таблица распределения дисковых блоков и информация об использовании блоков, а также данные о размерах групп цилиндров и другие важные параметры файловой системы. Поскольку повреждение суперблока приводит к стиранию исключительно важной информации, то в системе создается несколько копий суперблока, которые размещаются в разных местах. Так было не всегда: ранние файловые системы при повреждении суперблока разрушались полностью. Теперь же при перестройке поврежденной файловой системы можно дать программе fsck указание использовать другой суперблок. О местонахождении резервных суперблоков сообщит команда newfs -N. Один из них всегда находится в блоке 32.

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

Таблица распределения дисковых блоков содержит сведения о размещении свободных блоков в файловой системе. При создании новых файлов эта таблица анализируется на предмет выбора эффективной схемы размещения.

Сводка использования блоков отражает основную информацию о блоках, которые уже используются.

 

Автоматическое монтирование файловой системы

 

Для того чтобы сделать файловую систему доступной для UNIX-процессов, ее нужно смонтировать. Точкой монтирования может быть любой каталог. Его файлы и подкаталоги будут недоступны, пока файловая система смонтирована поверх них. Подробно о монтировании файловых систем рассказывается в параграфе 5.2. Необходимо убедиться, что раздел, который монтируется или проверяется, содержит корректную файловую систему: если попытаться применить команду mount или fsck к разделу подкачки, результат будет непредсказуем.

После подключения нового диска необходимо смонтировать новые файловые системы "вручную" с целью проверки правильности их работы Например, команда

# mount /dev/sdla /mnt

 

монтирует в каталоге /mnt файловую систему, находящуюся в разделе который представлен файлом устройства /dev/sd1a (имена устройств неодинаковые в разных системах). Если файловая система абсолютно новая, то ее содержимое будет выглядеть приблизительно так:

# ls /mnt

lost+found

 

 

Каталог lost+found автоматически создается при построении файловой системы. Он используется программой fsck в экстренных случаях, поэтому не удаляйте его. В каталоге lost+found заранее зарезервировано дополнительное место, чтобы программа fsck могла хранить там "несвязанные" файлы, не заботясь о выделении дисковой памяти в нестабильно работающей файловой системе. В некоторых системах имеется команда mklost+found, которая воссоздает этот специальный каталог, если он был случайно удален.

Информацию об использовании дискового пространства, занимаемого файловой системой, можно получить с помощью команды df. Вот пример из BSD-системы:

# df /usr

Filesystem lK-blocks Used Avail Capacity Mounted on

/dev/wdOslf 810495 509516 236140 68% /mnt

 

 

Размер блока, которым оперирует команда df, может составлять 1 Кбайт или 512 байтов в зависимости от системы. В некоторых системах команда df -k выводит статистику с учетом блоков размером 1 Кбайт.

В HP-UX команда df работает совершенно по-другому. Чтобы получить показанные выше результаты, воспользуйтесь командой bdf ("Беркли-версия df").

В большинстве случаев пользователь пытается настроить систему так, чтобы локальные файловые системы монтировались во время начальной загрузки. В конфигурационном файле в каталоге /etc перечислены, кроме всего прочего, имена устройств и точки монтирования всех дисков системы В большинстве систем этот файл называется fstab (сокращение от "filesystem. table" — таблица файловых систем), но в старых версиях HP-UX он носит имя checklist, а в Solaris имеет другой формат и называется vfstab. Далее мы будет называть этот файл fstab, даже если в конкретной системе он именуется по-другому.

Файл fstab, включающий описание указанной выше файловой системы может выглядеть так:

# Device

Mountpoint

FStype

Options

Dump

Pass#

/dev/wd0s1b

none

swap

sw

0

0

/dev/wd0s1a

/

ufs

rw

1

1

/dev/wd0s1f

/usr

ufs

rw

2

2

/dev/acd0c

/cdrom

cd9660

ro,noauto

0

0

proc

/proc

procfs

rw

0

0

server:/export

/server

nfs

rw

0

0

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

 

В первом поле указывается имя устройства. Файл fstab может включать имена точек монтирования удаленных систем. В этом случае первое поле будет содержать путевое имя NFS, как в последней строке. Запись server: /export обозначает каталог /export на машине server.

В некоторых случаях в первом поле задается тип виртуальной файловой системы. Так, в показанном выше примере в предпоследней строке описана файловая система proc, которая предоставляет информацию о процессах ядра пользовательским утилитам. Иногда в качестве устройства указано имя swap — это резидентная файловая система, которая использует раздел подкачки для резервного хранения данных (к примеру, в Solaris это файловая система типа tmpfs).

Во втором поле указывается точка монтирования, в третьем — тип файловой системы. В разных системах тип локальных файловых систем обозначается по-разному: в Solaris и FreeBSD — ufs, в HP-UX — vxfs или hfs, а в Linux — ext2.

В четвертом поле задаются опции монтирования (запись rw обозначает чтение-запись, это установка по умолчанию). В пятом поле указывается "частота" создания файла дампа. Теоретически это поле может использоваться программами резервного копирования, но обычно оно игнорируется.

 

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

Файл fstab читают команды mount, umount, swapon и fsck, поэтому очень важно, чтобы представленные в нем данные были полными и достоверными. Команды mount и umount берут из этого файла недостающую информацию, если в командной строке было указано только имя раздела или точка монтирования. Например, при наличии приведенного выше файла fstab команда

# mount /cdrom

 

будет интерпретирована так:

# mount -t cd9660 -о ro,noauto /dev/acd0c /cdrom

 

Команда mount -а монтирует все "обычные" файловые системы, перечисленные в файле fstab. Она обычно выполняется из стартовых сценариев во время начальной загрузки. Флаг -t (Red Hat и FreeBSD) или -F (Solaris и HP-UX) ограничивает ее действие файловыми системами определенного типа. Например, команда

# mount -at ufs

 

монтирует все локальные файловые системы во FreeBSD. Команда mount читает файл fstab последовательно. Поэтому файловые системы, которые монтируются к другим файловым системам, должны следовать в файле за своими родительскими разделами. Например, строка для точки монтирования /usr/local должна следовать за строкой для точки /usr, если /usr — отдельная файловая система.

Команда umount, предназначенная для демонтирования файловых систем, имеет похожий синтаксис. В большинстве систем невозможно демонтировать файловую систему, в которой какой-либо процесс хранит свой текущий каталог или в которой есть открытые файлы. Имеются способы избежать подобного ограничения (см. параграф 5.2).

 

Создание раздела подкачки

 

Одно из главных преимуществ UNIX состоит в реализации концепции виртуальной памяти. Эта особенность позволяет операционной системе делать вид, что у машины больше памяти, чем есть на самом деле. Когда процессы пытаются использовать "дополнительную" память, запросы переадресуются к системным дискам, которые выступают в роли очень медленного ОЗУ Переброска содержимого памяти на диск и обратно называется выгрузкой или перекачкой.

 

Для достижения максимальной эффективности при подкачке в качестве запоминающего устройства обычно используются неструктурированные дисковые разделы (без файловых систем). Для управления содержимым области подкачки ядро поддерживает собственную, упрощенную схему соответствия блоков памяти дисковым блокам. В качестве области подкачки можно использовать и обычный дисковый файл, но в этом случае подкачка будет осуществляться медленнее.

Чем больше раздел подкачки, тем больше виртуальной памяти доступно для процессов. Максимальная эффективность подкачки достигается в случае распределения области подкачки между несколькими дисками (или, еще лучше, между несколькими шинами SCSI).

Разрешить подкачку на конкретном устройстве можно вручную, но лучше чтобы эта функция выполнялась автоматически во время начальной загрузки В большинстве систем области подкачки можно указывать в файле fstab — том самом, который содержит перечень монтируемых файловых систем Строка с информацией о подкачке выглядит так:

 

/dev/da0b none swap sw 0 0

 

В процессе загрузки выполняется команда (как правило, swapon или swap которая разрешает подкачку для всех разделов, перечисленных в файле fstab Конкретные команды и их синтаксис для каждой из тестовых систем описаны в параграфе 8.5.



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page