Подготовка к установке


Прежде чем приступать к установке, необходимо решить, для каких целей будет использоваться система. Будет ли это веб-сервер? Сервер баз данных? Сервер регистрации в сети? Требования для каждого из них мы рассмотрим в соответствующих разделах.

Создание разделов на жестком диске

Разделы — это логические диски. Система FreeBSD может работать с  самыми разными разделами и даже допускает существование разных файловых систем или операционных систем на разных разделах. Если вы впервые устанавливаете FreeBSD, у вас наверняка не будет каких-то определенных требований к разделам жесткого диска, поэтому вы можете просто воспользоваться процедурой автоматического  разбиения, предлагаемой инсталлятором. Если же у вас имеются какие-то определенные требования, я рекомендую записать их на листе бумаги прежде, чем вы приступите к установке.

Процесс создания разделов может вызвать головную боль. Если вы знакомы с какими-либо другими UNIX-подобными операционными системами, такими как Linux, у вас может появиться желание создать один большой корневой раздел и поместить в него все. Если Windows или Linux позволяют держать все на одном большом диске, тогда  зачем для FreeBSD необходимо создавать несколько разделов меньшего размера? В чем преимущества такого деления?

С физической точки зрения разные части диска имеют разную  скорость чтения данных. Поместив в самый быстрый раздел диска  данные, к которым приходится обращаться очень часто, вы тем самым  оптимизируете производительность системы. Единственный способ  достичь этого эффекта — использовать несколько разделов. С логической точки зрения FreeBSD работает с каждым из разделов по отдельности. Это означает, что для каждого раздела можно определить свои  правила работы. Разделы, где хранятся данные пользователя, не должны  содержать setuid-программ (программы, которые запускаются с  привилегиями суперпользователя root), и для вас может быть желательно, чтобы в них вообще не было таких программ. Этого легко можно  добиться, используя разделение диска.

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

Наличие большого раздела не означает, что проблема не будет  проявлять себя длительное время — это означает лишь, что файлы журналов будут иметь большие объемы. В главе 19 обсуждаются способы  сопровождения файлов журналов, потому что переполнение жесткого диска может даже препятствовать запуску системы, который необходим, чтобы ликвидировать появившиеся проблемы! Разбиение диска на  разделы сводит действие таких проблем к минимуму.

Наконец, многие программы создания резервных копий, например dump(8), работают с целыми разделами. На промышленной системе вы наверняка захотите определить разные стратегии резервирования для данных различных типов. В системе FreeBSD стандартными  являются следующие разделы: / (root, или корневой раздел), пространство свопинга, /var, /tmp и /usr.

/(root)

Корневой раздел содержит базовые конфигурационные файлы  системы, ядро, а также основные утилиты UNIX. Все остальные разделы  лежат в корневом разделе или связаны с ним. При наличии  неповрежденного корневого раздела вы сможете загрузить систему в  однопользовательский режим и выполнить восстановление остальной части  системы. Системе необходим быстрый доступ к корневому разделу, поэтому раздел root следует разместить в первую очередь. Поскольку корневой раздел содержит только основные утилиты и конфигурационные  файлы, он не должен быть слишком большим — по умолчанию FreeBSD  выделяет под корневой раздел 512 Мбайт, этого более чем достаточно.

Пространство свопинга

Следующий раздел жесткого диска — это пространство свопинга — дисковое пространство, используемое подсистемой виртуальной  памяти. Когда физическая память заполнена, система перемещает в раздел свопинга информацию, которая не была задействована некоторое  время. Если в системе все идет как надо, ей вообще не нужно  пространство свопинга, но если оно потребуется, система должна иметь как  можно более быстрый доступ к нему.

Итак, каков необходимый объем пространства свопинга? Это предмет долгих дискуссий системных администраторов. Короткий ответ -  «зависит от системы». Старая мудрость гласит, что объем пространства свопинга должен, по крайней мере, вдвое превышать емкость  физической памяти. Однако эта мудрость давно уже устарела и возможности современных систем лишили это эмпирическое правило силы. Когда процесс теряет контроль и начинает потреблять память (например, в бесконечном цикле), ядро уничтожит его, как только будет  исчерпана виртуальная память. Если в вашей системе имеется 6 Гбайт RAM и 9 Гбайт пространства свопинга, процесс должен потребить 15 Гбайт памяти, прежде чем ядро уничтожит его! В системах на базе  процессора i386 адресное пространство виртуальной память составляет  примерно 3 Гбайта, и это пространство совместно используется ядром,  разделяемыми библиотеками, стеком и т. д. Платформа i386 ограничивает процесс объемом памяти в 512 Мбайт, то есть ядро остановит  разбушевавшийся процесс достаточно быстро. В 64-битовых системах, таких как amd64, виртуальное адресное пространство намного больше,  поэтому вышедший из-под контроля процесс может потребить гигабайты памяти. Когда система начинает интенсивно перекидывать гигабайты данных между RAM и пространством свопинга, она перестает  откликаться, становится медлительной и очень неудобной. В наше время  желательно иметь достаточный объем пространства свопинга. Я  рекомендую выделить под пространство свопинга объем, равный объему физической памяти или даже на несколько мегабайтов больше.

Основное назначение пространства свопинга в современных системах состоит в том, чтобы предоставить место для хранения дампа  физической памяти на случай краха системы. Для обеспечения максимальной безопасности необходимо, чтобы пространство свопинга могло вмещать в себя полный объем физической памяти. Но это в самом  тяжелом случае. Современные же системы FreeBSD, версии 7.0 или  выше, по умолчанию создают дамп меньшего размера, сохраняя только память ядра. Такой минидамп существенно меньше, чем полный дамп физической памяти, — в системе с 8 Гбайт RAM средний размер минидампа составляет порядка 256 Мбайт. Вам наверняка удастся  избежать неприятностей, выделив под пространство свопинга 1 Гбайт, чего с лихвой хватит даже для сильно раздутого минидампа.

/tmp

Каталог /tmp — это общесистемный временный каталог, доступный для всех пользователей в системе. Если вы не создадите отдельный раздел для /tmp, он будет размещаться в корневом разделе. То есть  пространство для хранения временных файлов будет подчиняться тем же условиям, что и весь корневой раздел. Скорее всего, это не то, что вам хотелось бы получить, если вы планируете разрешить доступ к  корневому разделу только для чтения.

Требования, предъявляемые к каталогу /tmp, — это скорее вопрос  личных предпочтений. В конечном итоге вы всегда сможете использовать для хранения временных файлов часть пространства, выделенного для домашнего каталога, а кроме того, имеется каталог /var/tmp, на  случай, если появится необходимость работать с временными файлами большого размера. Я предпочитаю выделять для каталога /tmp  пространство объемом хотя бы 512 Мбайт. Программы-инсталляторы  нередко стремятся извлекать файлы в каталог /tmp, но работать с  такими инсталляторами при переполнении каталога /tmp хотя и  возможно, но очень утомительно.

В системах, где не предполагается наличие каталога /tmp большого объема (например, веб-серверы или серверы баз данных),  пространство для /tmp можно выделять в памяти. Эта возможность будет  рассматриваться в главе 8. Если вы предполагаете выделять место для  каталога /tmp в памяти, то не создавайте этот раздел.

/var

Раздел /var хранит быстро изменяющиеся данные, такие как файлы журналов, почтовые ящики, временные рабочие файлы, файлы обновлений таких инструментальных средств, как portsnap и FreeBSD-update и т. п. Если система выполняет функции веб-сервера, файлы  журналов веб-сайта будут размещаться в этом разделе. Для этого раздела вполне может потребоваться 2 Гбайта или более. На маленьких почтовых или веб-серверах я использую треть всего дискового пространства под каталог /var. Если система предназначена для выполнения  функций почтового сервера или сервера баз данных, я увеличил бы эту  долю до 70% и даже выше или просто выделил бы сначала достаточное пространство для других разделов, а все остальное отвел бы под раздел /var. Если вы сильно ограничены в дисковом пространстве, можно  выделить под этот раздел достаточно небольшой объем дискового  пространства, например 30 Мбайт.

Желательно, чтобы по своему размеру раздел /var намного превышал объем физической памяти. По умолчанию, в случае краха системы, FreeBSD записывает дамп памяти в файл /var/crash. Подробнее дампы памяти мы будем рассматривать в главе 21, а пока поверьте мне на  слово — если раздел /var будет иметь достаточно большой объем, чтобы вместить содержимое физической памяти, это существенно поможет вам даже в случае самых серьезных неполадок в системе.

/usr

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

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

Остальные разделы

Опытные системные администраторы всегда имеют свою  предпочтительную схему разбиения жесткого диска. Кроме того, некоторые  компании определяют свои, стандартные схемы разбиения. Различные производители операционной системы UNIX пытались протолкнуть свои стандарты деления диска на разделы. В различных версиях UNIX вы сможете увидеть такие разделы, как /opt и /u1.

Если у вас имеется своя предпочтительная схема разбиения,  используйте ее. Вы можете указать FreeBSD, куда устанавливать дополнительное программное обеспечение, по своему выбору. Вы также  можете разместить домашние каталоги пользователей, например, в  каталоге /gerbil, если это сделает вас счастливым. Лучший совет, какой я  могу дать читателям, с которыми я никогда не встречусь и к чьим системам я не буду иметь никакого отношения: вам предстоит жить с вашими разделами, поэтому сначала думайте!

Несколько жестких дисков

Если у вас более одного жесткого диска, они сравнимы по качеству и не используются в RAID, вы можете найти им прекрасное применение: разместите на одном диске свои данные, а на другом — операционную систему. Один из разделов будет содержать информацию,  специфичную для сервера. Сервер баз данных хранит свои данные в  каталоге /var, поэтому можно поместить раздел /var на отдельный диск.  Если это веб-сервер, можно поместить на второй диск раздел /usr.

Если сервер выполняет какие-то специализированные функции,  можно создать скрытый раздел специально для этих функций. Нет ничего неправильного в том, чтобы создать раздел /home, /www или /data на втором диске и выделить целый диск для нужд системы.

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

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

Наибольшего выигрыша от распределения пространства свопинга  можно достичь в случае использования дисков SAS или SCSI. Если у вас  используются приводы IDE или SATA, для достижения лучших  результатов они должны располагаться на разных контроллерах IDE. He забывайте, что контроллер IDE делит общую пропускную способность среди всех подключенных к нему жестких дисков. Если у вас имеется два жестких диска, подключенных к одному и тому же контроллеру IDE, и одновременно производится обращение к обоим дискам, каждый диск будет работать в среднем с половиной той скорости, как если бы он  работал один на том же самом канале. Самое узкое место в  использовании пространства свопинга — это скорость работы диска, и поэтому не стоит устраивать борьбу между дисками за обладание шиной IDE.

Другой способ использования нескольких дисков состоит в том, чтобы на их основе реализовать программный RAID. Это защитит вас от  отказов жестких дисков, т. к. копии данных будут распределены по  нескольким дискам. Возможности FreeBSD по созданию дисковых  массивов RAID мы рассмотрим в главе 18. Чтобы реализовать  программный массив RAID, «нарезка» всех дисков на разделы должна быть одинакова. Проще всего этого добиться, когда все диски имеют  одинаковый объем, но это совершенно не обязательно.

Размер блока раздела

В этом разделе описываются параметры, которые могут снизить  производительность системы. Если вы не знакомы с FreeBSD, прочитайте этот раздел только для ознакомления — не пытайтесь изменять  описываемые здесь значения! Эти параметры предназначены для опытных администраторов UNIX, которые точно знают, что они делают.

Размер блока определяет минимальный размер строительных блоков файловой системы, которые используются для хранения файлов.  Каждый блок может делиться на фрагменты. Во FreeBSD размер блока по умолчанию равен 16 Кбайт (16 384 байтов), а размер фрагмента — 2 Кбайта (2 048 байтов). Для размещения файлов используется  комбинация фрагментов и блоков. Например, файл размером 15 Кбайт  займет один блок, а файл размером 17 Кбайт — один блок и один  фрагмент. Более подробно о блоках и фрагментах мы поговорим в главе 18.

Если вы четко представляете, что делаете, и хотите изменить размер блока, вы можете сделать это во время установки. Будьте  внимательны, установлено, что наиболее оптимальное поведение FreeBSD  обеспечивается, когда один блок содержит восемь фрагментов — вы можете выбрать любое другое соотношение, отличное от 1:8, но за это  придется заплатить производительностью.

Выбор варианта установки

Вариант установки — это подмножество системы FreeBSD. В ходе  установки вы можете выбрать один или более вариантов. Вы можете доустановить необходимые компоненты позднее, но проще и лучше  предусмотреть установку всего необходимого с самого начала.  Инсталлятор предлагает девять вариантов:

  • All Содержит абсолютно все, что входит в состав FreeBSD, включая X Window System. (В системе FreeBSD используется версия X.org.) Если установка производится на тестовую машину, выберите этот вариант.
  • Developer Включает в себя все, за исключением игр и X.
  • X-Developer Включает в себя все, за исключением игр.
  • Kern-Developer Включает программы FreeBSD и документацию, а также исходный код ядра.
  • X-Kern-Developer Включает в себя те же компоненты, что и вариант Kern-Developer, плюс X Window System.
  • User Включает в себя только программы операционной системы FreeBSD и документацию — никаких исходных текстов и X.
  • X-User Включает в себя те же компоненты, что и вариант User, плюс X.
  • Minimal Содержит только основные программы FreeBSD без каких-либо исходных текстов и без документации. Этот вариант  подходит, если жесткий диск имеет очень маленький объем.
  • Custom Предоставляется возможность самостоятельного выбора  устанавливаемых пакетов.

Если вы устанавливаете FreeBSD с целью ознакомления с ней, вам  определенно следует выбрать вариант All. Для сервера Интернета  лучшим выбором будет вариант User или даже X-User, если вы уже  знакомы с X Window System. Опытные пользователи могут выбрать вариант Custom.

Игры?

Да, FreeBSD включает в себя простейшие игры. Это маленькие  игровые программы, работающие в текстовой консоли, которые были  типичны для систем лет 20 тому назад. Начинающие пользователи FreeBSD могут найти полезные советы на странице руководства fortune(6), но если вам интересны более современные игры, загляните в /usr/ports/games и прочитайте главу 11.

X Window System

X Window System — это стандартный графический интерфейс для UNIX-подобных операционных систем. Если вы не  предполагаете постоянно сидеть за текстовой консолью и выполнять в ней повседневную работу, вам наверняка потребуется X  Window System. Если же вы не собираетесь путешествовать по Интернету или выполнять другие действия, требующие наличия графического интерфейса, X Window System вам скорее всего не понадобится. В крайнем случае вы всегда сможете доустановить X Window System позднее.

Комментарии запрещены.