| Linux Logical Volume Manager (LVM) является механизмом виртуализации дисков. Он позволяет создавать"виртуальные" дисковые разделы на одном или нескольких жестких дисках, которые в дальнейшем можноувеличивать, уменьшать или перемещать с диска на диск сообразно вашим потребностям.Также появляется возможность преодолеть ограничение на размер раздела, накладываемое размером жесткого диска. Традиционной областью использования LVM являются серверы баз данных и файловые серверы, но даже домашние пользователи могут захотеть использовать его для хранения музыкальных или видео архивов, а также для хранения резервных копий. LVM и RAID 1 также могут быть удобными способами получить избыточность, не жертвуя гибкостью. В этой статье сперва рассматриается файловый сервер начального уровня, затем внесем некоторые изменения,добавив избыточность с помощью RAID 1. Также рассмотрим аспекты применения LVM для домашних пользователей.Установка LVMСистема LVM включает в себя компонет ядра, овечающий за файловую систему и пользовательские утилиты.Для включения компонента ядра, установите следущие опции:
RAID support Device mapper support Crypt target support (NEW) Пользовательские утилиты устанавливаются с помощью системы пакетов вашего дистрибутива Linux.В Gentoo, утилиты LVM входят в сотав пакета lvm2. Обратите внимание, что вы можете увидеть пакет LVM-1 (второе его название lvm-user). Можете установить оба пакета, но для работы потребуетсяLVM-2.Основы LVMЧтобы использовать LVM, вам необходимо понять несколько моментов.Вот есть у вас жесткие диски. Дисковое пространство на этих устройствах нарубленона разделы. Наконец, файловая система записывается поверх этих разделов.Для сравнения, в LVM, Volume Groups (VGs) разделены на логические тома (LVs),где файловые системы, в конечном счете, и находятся (Рис. 1). Каждый VG составлен из пула Физических Томов (PVs). Вы можете расширить (или уменьшить), размер Volume Groups добавляя или удаляя так много PVs, как вам будет угодно, если есть достаточноеколичество PVs для хранения содержимого всех выделенных LVs.Пока есть доступное пространство в VG, вы можете увеличивать или сокращать размер ваших логических томов (хотя большинство файловых систем не любит сжиматься).
Для примера, предъявим следущие требования к разделам: Диски SATA именуются не ATA классификацией (hda, hdb), а SCSI (sda, sdb).Как только наша система загрузилась с поддержкой SATA, у нас появитсячетыре готовых к работе физических устройства: Disk /dev/sdd: 251.0 GB, 251000193024 bytes Device Start End Blocks Id System Теперь у вас есть несколько понятно названных логических томов: Типичными файловыми системами настольных компьютеров является ext2 и ext3. Ext2 была стандартной, надежной рабочей лошадью для Linux в минувшие годы. Ext3 - модернизация ext2, поддерживающая журналирование и улучшенные механизмыпроверки после сбоя. Сбалансированность ext3 в плане производительности, надежности и скорости восстановления делает ее прекрасным выбором для систем общего назначения.Поскольку ext2 и ext3 были файловыми системами, используемыми по умолчанию, в течение долгого времени, тоext3 будет хорошим выбором, если вы хотите получить большую надежность. Для того, чтобы хранить резервные копии, надежность намного более важна чем скорость. Главным недостатком ext2/ext3 является то, что для того, чтобы увеличить(уменьшить) ФС,необходимо ее отмонтировать. Однако, другие файловые системы обеспечивают некоторые преимущества в определенных ситуациях, например,при больших размерах файла, большом количестве файлов или произволительности файловой системы. Поскольку основное использование LVM - для сценариев, когда вы нуждаетесь в критическом количестве файлов, чрезвычайно больших файлах, и/или потребности изменять размеры ваших файловых систем, следует рассмотреть другие файловые системы. Для большого количества маленьких файлов превосходным выбором будет ReiserFS. Для потокового, некэшируемого ввода/вывода, эта ФС занимает верхние строки тестов и может быть на несколько порядков быстрее, чем ext3. Однако, исторически, она оказалась нестоль стабильной, как ext3. Этот вывод сделан на основании достаточно устаревших данных, возможно,сейчас ситуация изменилась, но неприятный осадок остался. Если вы планируете создать файловый сервер, который будет содержать большие файлы, типа видео файлов, скачанных с MythTV, приоритетной может стать скорость удаления файлов. С ext3 или ReiserFS, удаление большого файла может занять несколько секунд, чтобы отметить все освобожденные блоки данных. Если ваша система в этот момент делает запись на диск или обрабатывает видео, эта задержка могла бы вызвать сбои. JFS и XFS лучший выбор в этой ситуации, хотя XFS имеет преимущество из-за большей надежности и общей лучшей работы. Итак, приняв все сказанное во внимание: Для компенсации такого риска необходимо добавить избыточность, используя RAID 1. RAID(Redundant Array of Independent Disks) является низкоуровневой технологией комбинированиядисков различными способами (уровнями). RAID 1 зеркалирует данные на двух (или более) дисках.Помимо повышения надежности, с использованием RAID 1 возрастает производительность, посколькуна дисках содержатся идентичные данные и операции чтения/записи могут быть разделенымежду ними. К сожалению, этот метод имеет высокую стоимость, так как уменьшает дисковый объем вдвое.Хорошая новость заключается в том, что нам хватит и половины терабайта, а LVM достаточно гибок для того, что бы добавить диски при необходимости в будущем. RAID 5, с четырмя дисками, совсем другой коленкор. Он позволяет восстанавливать часть дисковогопространства, но добавляет сложности в использовании. Кроме того, показывая неплохую производительностьна операциях чтения, этот тип сильно проигрывает на операциях записи. Поскольку диски сейчас довольно дешевы, не стоит мучится ради выгод, даваемых RAID 5. Хотя имело бы смысл сразу начать с установки системы с использованием RAID, мы ждали, чтобымы могли продемонстрировать, как мигрировать с обычных дисков на RAID без отмонтирования файловых систем. Сейчас мы объединим четыре диска в две пары RAID 1: /dev/sda + /dev/sdd and /dev/sdb + /dev/sdc. Причина для такого специфического объединения заключается в том, что sda и sdd являются первым и вторым дисками на разных контроллерах; поэтому, в случае отказа контроллера, вы сможете обращаться к двум дискам на оставшемся контроллере. При использовании таких паротносительные скорости доступа балансированы так, что ни один тип RAID не медленнее, чем другой.Возможно так же повышение производительности от распределения операций чтения/записи между двумя контроллерами. Сначала, выведите два диска SATA (sdb и sdd) из datavg VG: Сперва убедитесь, что на вашем файловом сервере в ядре разрешен NFS (в данном примере 2.6.15): NFS file system support NFS server support Соберите и переустановите ядро, после чего перезапустите сервер.Если перезагрузка нежелательна, то соберите NFS как модуль и затем загрузите его с помощью modprobe nfsd. Запускаем сервер NFS. Для этого, в вашем дистрибутиве Linux имеется система init.Например, в Gentoo, вы увидите: Эхпортируем эти NFS ресурсы: Традиционно, для накопителей подобного класса используется магнитная лента.Эта технология все еще жизнеспособна и имеет некоторые преимущества, но может быть дорога и медленна для системы такого размера. К счастью, есть более современные технологии. rsync - мощная утилита для того, чтобы копировать файлы с одной системы на другую и она достаточнохорошо работает через Интернет. Вы можете установить дублирующую систему в фирме друга в другом городе и периодически послать резервные копии туда. Это можно сделать с помощью cronjob: В случае использования RAID 1, миграция является довольно простым процессом.Для того, что бы пометить диск каждого зеркала как "битый", а затем удалить его, используйте команду mdadm: Во первых, некоторые дистрибутивы Linux на этапе установки или обновления не поддерживают RAID или LVM,что может доставить неудобства. Стоит обратить на это внимание. Во вторых, наличие корневой файловой системы на LVM может усложнить восстановление поврежденных файловых систем. Поскольку загрузчики не поддерживают LVM, раздел /boot должен быть не LVM (хотя может быть на устройстве RAID 1). В третьих, вам необходимо свободное дисковое пространство для нового раздела LVM.Если такового у вас нет, то попробуйте обрезать корневой раздел, как описано в LVM HOWTO. В этом примере мы рассмотрим ситуацию, когда у вас есть swap и /boot на собственных разделах, вне LVM.Мы заострим внимание на том, как перенести корневой раздел внутрь LVM раздела /dev/hda4. Проверьте, что тип файловой системы на hda4 - LVM (тип 8e). Инициализируйте LVM и создайте новый физический том: Самая хитрая часть заключается в пересборке initrd для включения поддержки LVM.Этот процесс очень сильно зависит от дистрибутива, например mkinitrd или yaird. Ваш образ initrd должен загрузить модуль LVM, в противном случае корневая файловая системабудет недоступна. На всякий случай, сохраните образ initrd и новый сделайте с другим именем, например /boot/initrd-lvm.img. В заключение, обновите bootloader. Добавьте новый раздел для новой корневой файловой системы, продублировав старую строку загрузки.В новой строке измените root с /dev/hda3 на /dev/rootvg/rootlv и заменитеinitrd на новый.Если вы используете lilo, убедитесь, что запустили lilo, как только сделали изменения. Например, с grub мы будем иметь: | |
| Категория: Интересные статьи | Просмотров: 646 | |
Главная » Управление дисковым пространством с помощью LVM