Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

Разбиение дисков и инсталляция Linux на LVM (часть 1).

Владимир Холманов (fmfm AT symmetron.msk.ru)

Части Первая, Вторая, Третья.

В этой серии из трёх статей рассматриваются некоторые варианты разбиения диска на разделы для инсталляции Linux и новые возможности при использовании LVM. LVM (Logical Volume Manager) сравнительно недавно появившаяся технология, которую часто связывают с "большими серверными инсталляциями". Цель этой публикации будет достигнута, если у читателя сложится мнение, что LVM уместен уже при наличии двух hard дисков.

1. Linux на двух дисковых разделах.

Самый простой вариант подготовки диска для инсталляции Linux - его разбиение на два раздела: swap и корневой раздел. При этом под swap отводится место сообразно наличию оперативной памяти, а под корень "сколько не жалко". Преимущество такого разбиения - минимум административных действий, поскольку отпадает необходимость делать прогноз наполняемости файловой системы. При таком разбиении достаточно учесть следующее.

Для корневого раздела командой fdisk выбрать тип 83 (обычный тип для Linux) и максимально возможный размер. Рекомендуемая файловая система - одна из доступных журналируемых, например ext3, reiserfs или xfs. В случае использования reiserfs обязательна опция монтирования notail в соответствующей записи файла /etc/fstab.

Для swap раздела выбрать тип 82 (Linux swap), а с размером определиться из следующих соображений.

- жёсткий лимит снизу. Ядра, начиная с 2.4.10, не могут монтировать swap, если размер дискового раздела меньше 128 Mb.

- жёсткий лимит сверху. Размер swap не может превышать половины адресного пространства оперативной памяти. Для i86 при размере страницы памяти 4 Kb (значение по умолчанию) размер адресного пространства 4 Gb, а максимальный размер swap, соответственно 2 Gb.

- разумный лимит сверху. По эффективности использования рекомендуется иметь не более чем swap = 2*RAM. С точки зрения эффективности swap если и нужен, но в размере близком к лимиту снизу. Разумное исключение - интенсивное использование tmpfs (/dev/shm).

- ядро умеет балансировать нагрузку для swap между ide каналами (всеми scsi дисками). На многодисковых машинах хорошо иметь swap разделы на каждом master ide (каждом scsi) диске и сделать запись в /etc/fstab о равенстве их приоритетов, например:

/dev/hda5	swap	swap	defaults,pri=1	0 0
/dev/hdc5	swap	swap	defaults,pri=1	0 0 

Заметьте, лимит снизу становится равным 128 + 128 = 256 Mb.

2. Linux на трех дисковых разделах.

Вместе с первым опытом использования Linux приходит понимание неудобства инсталляции на два раздела. Следующих шаг в "познании" - вынос за корневую файловую систему раздела /boot. Раздел /boot самая критическая часть для загрузки операционной системы и уже по этой причине достойна отдельной жилплощади. О разделах под swap и root было сказано выше. Можно только добавить, что, когда /boot выносится на отдельный раздел и для корневой файловой системы используется reiserfs, ограничение по notail снимается.

Для /boot раздела следует установить с помощью fdisk обычный тип 83 и учесть следующее:

- размер определяется расчётом: примерно 3 Mb на ядро при наличии достаточно большого запаса для столь важного раздела. Как правило, достаточно 20 - 30 Mb.

- рекомендуемая файловая система - ext2 (журналируемые файловые системы для карликовых разделов неуместны). Но, если вы оригинал и общие рекомендации не для вас - используя reiserfs, не забывайте о notail.

- если пользуетесь загрузчиком GRUB, в целях повышения надежности при обычной работе следует иметь /boot размонтированным (в случае использования LILO это не критично, но кому повредит хорошая привычка). Монтировать раздел следует только при инсталляции нового ядра или новой схемы загрузки и возвращаться в исходное состояние после выполнения работ. Запись в /etc/fstab может быть примерно следующей:

/dev/hda1	/boot	ext2	noauto		1 2

- ещё одной хорошей привычкой на многодисковых инсталляциях может стать резервирование в начале каждого диска небольшого раздела. Даже если вы в данное время пользуетесь единственным /boot, жертва в 20 - 30 Mb для современных дисков незначительна.

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

3. Linux на многодисковой машине.

Появление на машине уже второго диска меняет представление об оптимальном разбиении. Большой раздел с корневой файловой системой нужно делить. Кроме того, второй диск (если это scsi или ide-master на втором канале) наводит на мысль об извлечении выгод от использования "продвинутых" технологий. Становится возможным для каждой "берлоги" файлового дерева подобрать индивидуальный оптимизированный рабочий микроклимат. В первую очередь осознаётся потребность "выноса за скобки" с корневой файловой системы всего, что не критично для процесса загрузки. При ближайшем рассмотрении кандидатами становятся файловые системы /home, /var (эти в первую очередь) и /usr, /opt.

Для корневой файловой системы реально необходимое дисковое пространство, при условии выноса всего возможного, 120 - 180 Mb, а с учётом запаса - 250 - 350 Mb. Файловая система журналируемая (присмотритесь к стабильной ext3 и её data=ordered по умолчанию). Запись в /etc/fstab может выглядеть примерно так:

/dev/hda6	/	ext3	defaults	0 1

Файловые системы /usr и /opt проблем обычно не приносят. Требуемый им размер дискового пространства относительно стабилен и зависит от инсталлированного software. С большой долей уверенности можно сказать, что 2,5 Gb на две файловые системы должно хватить (это для рабочей станции с GUI, у сервера, не обременённого графикой, запросы скромнее).

Что касается /home и /var, здесь всё сложнее. Прогноз резервирования дискового пространства не всегда сбывается. Это основная проблема при инсталляции Linux на множестве дисковых разделов (на данном шаге мы рассматриваем необходимость иметь 6 или 7 разделов). Проходит немного времени после распределения лимитов и фактического разбиения дисков под прогноз и выясняется, что одни файловые системы близки к заполнению, другие явно недоиспользуют дисковое пространство. Не всё так плохо. Если при разбиении диска был допущен просчёт, существует минимум четыре способа решения проблемы. Назовём их условно так: "радикальный" (не говорите, что его вам рекомендовали), "сопливый", "жесткий" и "гибкий". Давайте коротко о перечисленных способах.

К "радикальному" методу я отнёс бы следующее. Резервируется на внешний носитель вся нужная информация. Делается разбиение под новые "обстоятельства". Инсталлируется операционная система. Восстанавливаются зарезервированные данные. Вот так.

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

Под "жёстким" методом подразумевается применение утилит типа parted. Parted позволяет производить перепланировку разделов с гарантией сохранности данных. Жёстким этот метод назван лишь потому, что имеет некоторые ограничения по типам файловых систем (специфика xfs не позволит им воспользоваться), двигает "стенки" только между смежными разделами и бессилен, если разделы находятся на разных дисках. Освойте этот метод, он пригодится при переходе от схемы "три раздела на одном диске" к схемам разбиения для нескольких дисков.

"Гибкий" метод предполагает, что возможность возникновения и решения проблем с дисковыми ресурсами была заложена ещё при инсталляции системы. При таком подходе вынесенные из корня разделы создаются на логических томах. Конечно, не всё так просто. Метод подразумевает освоение новых команд, если точнее, освоение большого числа новых утилит (как следствие большой гибкости технологии). Затраты времени на освоение могут окупиться тем, что перепланировка разделов из проблемы превратится в ещё один системный сервис. Схема разбиения двух дисков с выносом на логику всего возможного из корневого каталога с точки зрения "физики" представляет собой linux на четырех симметричных разделах. Выбирая между linear и striped логикой можно достаточно полно реализовать преимущества многодисковой инсталляции. В интернете доступен LVM-HOWTO

В следующей статье будет описание "что было, что стало".

Части Первая, Вторая, Третья.


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2016 LinuxRSP