Меню Рубрики

Установка raid массива linux

Создание программного RAID массива в Ubuntu

Содержание

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

Небольшое вступление

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

Утилита управления программными RA >

Создание массива

Если у вас ещё нет нужных разделов — можете создать их с помощью gparted или cfdisk , обе эти утилиты необходимо доустанавливать отдельно.

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

Вы должны увидеть примерно такой вывод:

Если вы хотите сразу же создать массив с отсутствующим диском (degraded), просто укажите вместо имени устройства слово missing . Учтите, что в RAID -5 может быть не более одного отсутствующего диска, в RAID -6 — не более двух, а в RAID -1 должен быть хотя бы один рабочий.

To be continued…

Изменение конфигурационного файла

Если вам вдруг потребуется после создания массива производить какие-нибудь операции с его блочным устройством, которые изменят UUID, то обязательно необходимо изменить конфигурационный файл /etc/mdadm/mdadm.conf .

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

Для получения текущей работающей конфигурации выполните

Эта команда выведет по строчке конфигурации для каждого массива. Именно такие строчки должны быть записаны в файле /etc/mdadm/mdadm.conf за исключением того, что в строчках в файле не должно быть параметра metadata .

Если реальная конфигурация не совпадает с той, которая записана в /etc/mdadm/mdadm.conf , то обязательно приведите этот файл в соответствие с реальной конфигурацией до перезагрузки, иначе в следующий раз массив не запустится.

Работа с программным RA >

LiveCD диски Ubuntu по умолчанию не включают в себя утилиту mdadm, поэтому чтобы работать с RAID массивами с LiveCD вам необходимо сначала её установить:

После этого нужно запустить все ваши массивы, сделать это можно командой

Проверить статус массивов можно как всегда с помощью файла /proc/mdstat :

Устранение возникающих проблем и восстановление массивов

Массив внезапно перешёл в состояние inactive

Иногда из-за каких-то сбоев оборудования массив переходит в состояние inactive безо всяких ошибок на дисках. При этом все диски помечаются как неактивные. Выглядит это примерно так:

Ничего страшного в этом нет, вам надо всего лишь остановить массив командой

И затем пересобрать командой

Только потом не забудьте примонтировать файловую систему, при перезапуске массива это не будет сделано автоматически. Если у вас массив прописан в /etc/fstab , то для его примонтирования обычно достаточно выполнить команду

Критическая фатальная ошибка при полной работоспособности винчестеров

Если случилась такая беда, то:

В первую очередь посмотрите состояние всех компонент массива командой

Вместо sdc1 нужно поочерёдно поставить все компоненты. Обратите особое внимание на последний блок каждого вывода, вот, например, как выглядел один из выводов у меня:

Тут вроде всё нормально, а вот тут уже нет:

Собственно тут вас должен интересовать порядок следования компонент. В моём случае его можно «выцепить» из первого вывода и он выглядит так:

Теперь попробуйте собрать массив как описано в предыдущем параграфе. У меня не получилось:

Как видно, у меня mdadm считал, что есть только 2 рабочих компоненты массива, а изначально их было 4. И для работы необходимо иметь 3, поскольку у меня был RAID -5.

Итак, вы убедились, что возникла непоправимая ошибка mdadm, что при этом диски в порядке и в автоматическом режиме массив обратно не собрать. Что дальше?

Дальше — действовать на свой страх и риск! Собственно всё, что остаётся сделать — это заново создать массив поверх старого.

Самое главное — указать диски в той же последовательности, что и при первичном создании массива. Я эту последовательность выцепил из вывода команды

Если всё прошло успешно — ваш массив безо всяких ошибок запустится и вам останется только смонтировать его содержимое. Если не успешно — то увы, придётся вам нести диски в фирму восстановления данных.

источник

Создание программного RA >

Важность надёжного хранения данных очевидна для пользователя любого уровня. Тем более сейчас, когда объёмы хранимых данных растут с угрожающей скоростью, вне зависимости от того, являются ли эти данные персональными (коллекции фотографий и видеозаписей) или корпоративными (финансовая и проектная документация, результаты научных исследований и т.п.). Одно из средств, помогающих в той или иной степени решить проблему надёжности хранения данных, основано на организации дискового RAID-массива.

Концепция RAID

RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых дисков) (хотя более точной, возможно, будет «вольная интерпретация»: массив независимых дисков с избыточным ресурсом) — это аппаратная или программная подсистема, в которой хранимые данные распределяются (часто с дублированием) по нескольким жёстким дискам (физическим или виртуальным). Наиболее эффективной, как с точки зрения надёжности, так и с точки зрения производительности, является аппаратная RAID-подсистема. Тем не менее, программная реализация также может принести немалую пользу, и в Linux есть все необходимые компоненты для организации программного RAID-массива.

Более подробно об основных принципах организации RAID-систем можно узнать на соответствующей странице Wikipedia и на русскоязычной странице Wikipedia.

Различные типы RAID-массивов

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

На уровне RAID 0 два или более диска используются только для повышения производительности, поскольку разделяют между собой данные при чтении/записи. Здесь «избыточность» фактически отсутствует.

Массив RAID 1 является первым уровнем, обеспечивающим избыточность. Этот режим часто называют «зеркалированием» (mirroring), поскольку данные дублируются на всех дисках массива. Степень надёжности возрастает, но производительность операции записи снижается, так как запись одних и тех же данных выполняется несколько раз. Для организации RAID 1 требуется не менее двух дисков.

Особенностью массива RAID 4 является отдельный диск для записи информации о контроле чётности данных. Таким образом, узким местом этой подсистемы становятся периоды ожидания при записи именно на этот диск. По этой причине рекомендуется пользоваться RAID 5 во всех случаях, кроме тех, в которых применение RAID 4 крайне необходимо и обосновано.

В массиве RAID 5 при записи разделяются и данные, и информация о контроле чётности. Поэтому RAID 5 считался наиболее эффективным и экономичным уровнем до появления новых разработок в этой области: RAID 5EE, RAID 6, RAID 10 и комбинированных уровней RAID 1+0, RAID 5+0, RAID 1+5. Для организации массива RAID 5 требуется не менее трёх дисков.

Читайте также:  Установка камер слежения на дорогах

О дальнейшем развитии концепции RAID-массивов можно узнать на указанных выше страницах Wikipedia. Особый интерес представляет сравнение «RAID 10 versus RAID 5 in Relational Databases» на англоязычной странице.

Поддержка программной реализации RAID появилась в ядре Linux, начиная с версии 2.0, хотя для практического использования первая версия вряд ли годилась: возможности её были весьма ограничены, и содержала она изрядное количество ошибок. Начиная с ядер версии 2.4 ситуация улучшилась, и современные реализации RAID в Linux вполне пригодны для практического применения.

Создание и конфигурирование RAID-массива

Первые эксперименты с созданием RAID-массивов рекомендуется проводить в среде виртуальной машины, например, VirtualBox. Это более безопасно, к тому же не у каждого пользователя найдётся компьютер с двумя-тремя физическими дисками.

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

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

Итак, для начала в VirtualBox необходимо создать собственно виртуальную машину для Linux (с ядром версий 2.6), выбрать для неё подходящий размер памяти и создать три жёстких диска с одинаковым объёмом (по 20 Гб для каждого диска будет вполне достаточно). После загрузки Linux-системы (можно использовать любой live-DVD или его ISO-образ) для работы потребуется эмулятор терминала (текстовой консоли).

Для разметки разделов на диске можно воспользоваться утилитой fdisk, но более удобной является её «наследница» cfdisk с псевдографическим интерфейсом, которую можно запустить из консоли следующей командой:

После запуска следует создать раздел свопинга (например, размером 1ГБ), а оставшееся пространство (19 ГБ) отдать корневому разделу. При этом важно установить для обоих разделов тип Linux RAID (шестнадцатеричный код fd). После этого нужно обязательно записать сделанные изменения и выйти из cfdisk.

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

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

В результате будут получены три диска с одинаковыми разделами и установленным типом Linux RAID. Теперь можно приступать непосредственно к созданию RAID-массива.

Создание дисков RAID-массива

Для создания RAID-массива потребуется утилита mdadm из одноимённого пакета. Сама операция создания выполняется с помощью команд, приведенных в листинге 1.

Листинг 1. Создание дисков RA >

Первый ключ команды обязательно должен определять основной режим функционирования mdadm. В данном случае используется ключ —create (краткая форма -C) — режим создания. После этого ключа указывается имя создаваемого RAID-устройства.

Ключ —metadata (краткая форма -e) определяет используемый для данного диска формат метаданных (суперблока). Значение 0.90 (а также его аналоги и default) при создании RAID-массива используется по умолчанию, поэтому в приведённом примере его можно было бы и не включать в команду. Формат 0.90 допускает использование в RAID-массиве до 28 устройств-компонентов, а также определяет максимальный размер этих устройств (не более 2 ТБ).

Ключ —level=1 определяет уровень RA >

Запуск в эксплуатацию

Дисковый массив успешно создан, но пока ещё пуст. Потребуется установить Linux-систему, чтобы проверить работу созданной RAID-подсистемы. Перед установкой следует позаботиться о том, чтобы раздел, выделенный для свопинга, корректно распознавался программой установки. Для этого используется следующая команда:

Установка Linux-системы выполняется в «штатном» режиме за исключением одной особенности: при выборе разделов вместо привычных /dev/sda1 и /dev/sda2 пользователю предлагаются /dev/md0 и /dev/md1 соответственно. Загрузчик, разумеется, должен быть установлен в MBR.

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

Если в установленной Linux-системе используется загрузчик grub, то в файл /boot/grub/grub.conf необходимо внести следующие изменения:

  • в строке splashimage=. имя раздела (hd0,1) заменяется на имя (md0,1)
  • в строке root (hd0,1) аналогичным образом выполняется замена на (md0,1)

Если система загружается с помощью lilo (этот загрузчик всё ещё используется в некоторых дистрибутивах), то потребуется отредактировать файл /etc/lilo.conf:

    добавить в начальной (общей) секции строку: ra >После сохранения и выхода из редактора обязательно нужно активизировать внесённые изменения командой lilo.

Теперь можно перезагрузить систему и проверить, как работает система на RAID-массиве.

Учёт и контроль

Текущее состояние RAID-подсистемы в структуре ядра отражает файл /proc/mdstat. Следует отметить, что для его просмотра требуются полномочия суперпользователя. Информация из этого файла особенно важна в тех случаях, когда в RAID-массив добавляется новый диск (или заменяется испорченный диск) или одно из устройств-компонентов удаляется из RAID-массива.

Команда mdadm сама по себе выполняет активизацию RAID-массива и в принципе не требует наличия файла конфигурации, но будет обращаться к нему, если в явной форме указано его имя («стандартное» имя — /etc/mdadm.conf). Использование файла конфигурации рекомендуется по двум причинам:

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

Команда mdadm —detail —scan позволяет получить значения текущих параметров настройки RAID-массива. Но для извлечения более подробной информации следует воспользоваться следующей комбинацией команд (опять же, потребуются права root):

Управление RAID-массивом

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

Если третий диск снова подключить и ещё раз перезагрузить систему в виртуальной машине, то вновь подключённый диск будет обнаружен, но синхронизация с первыми двумя RAID-дисками не будет выполнена. Дело в том, что эта операция должна выполняться вручную. Для продолжения «эксперимента» теперь следует полностью удалить третий диск из виртуальной машины и создать точно такой же новый, чтобы имитировать замену испорченного физического жёсткого диска на исправный.

Текущее состояние RAID-массива проверяется по содержимому вышеупомянутого файла /proc/mdstat. После удаления третьего диска содержимое этого файла будет выглядеть приблизительно так, как на рисунке 1.

Рисунок 1. Фрагмент файла /proc/mdstat — один из дисков отсутствует

Из показанного фрагмента понятно, что в настоящий момент функционируют только два RAID-диска из трёх, а о том, какое именно устройство-компонент отсутствует, сообщает параметр [UU_] — первые два устройства задействованы, на месте последнего — символ подчёркивания.

Если предположить, что третий диск в конфигурации виртуальной машины вновь создан, то необходимо скопировать разделы со всеми их характеристиками с одного из работающих RAID-дисков с помощью уже описанной выше команды:

После этого подготовленный «новый» диск добавляется в существующий RAID-массив:

Теперь система продолжает функционировать в нормальном режиме — все три RAID-устройства-компонента подключены и работают. В этом можно убедиться, снова просмотрев содержимое файла /proc/mdstat.

Дополнительные замечания

Имитировать отказ одного из RAID-дисков можно и с помощью специальных ключей команды mdadm, как показано ниже:

После того, как диск объявлен «неработающим», его можно удалить из RAID-массива:

Сразу после логического удаления устройства-компонента его можно заменить физически. Ещё раз следует отметить, что «аппаратные» жёсткие диски настоятельно рекомендуется заменять только идентичными устройствами, а компоненты в виде логических разделов непременно должны быть заменены разделами точно такого же размера.

Когда замена устройства-компонента проведена, можно добавить обновлённый компонент в RAID-массив с помощью упоминавшейся выше команды:

Заключение

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

источник

Лабораторная работа: настраиваем lvm, raid на linux

Небольшое отступление: данная л\р является синтетической.

Некоторые задания которые здесь описаны можно сделать гораздо проще, но поскольку задача л/р — познакомиться с функционалом raid, lvm то некоторые операции искусственно усложнены.

Требования к инструментам для выполнения л\р:

ВНИМАНИЕ

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

Поскольку вы выполняете лабораторную работу вам ничего не грозит, разве что придется начать делать ее заново.

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

Второй важный момент — именование дисков и разделов: в зависимости от ситуации номера дисков могут отличаться от тех значений, что представлены в командах в лабораторной работе.
Так, например, если удалить диск sda из массива, а затем добавить новый диск, то новый диск будет отображаться в системе с именем sda. Если же выполнить перезагрузку перед добавлением нового диска, то новый диск будет иметь имя sdb, а старый станет именоваться sda

Лабораторная работа должна выполняться под суперпользователем (root) поскольку большая часть команд требует повышенных привилегий и не имеет смысла постоянно повышать привилегии через sudo.

Материалы для изучения

Используемые утилиты

Лабораторная работа состоит из 3-х частей:

Задание 1 (Установка ОС и настройка LVM, RAID)

Создайте новую виртуальную машину, выдав ей следующие характеристики:

  • 1 gb ram
  • 1 cpu
  • 2 hdd (назвать их ssd1, ssd2 и назначить равный размер, поставить галочки hot swap и ssd)
  • SATA контроллер настроен на 4 порта:

Начать установку Linux и дойдя до выбора жестких дисков сделать следующее:

    Partitioning method: manual, после чего вы должны увидеть такую картину:

  • Настройка отдельного раздела под /boot: Выберите первый диск и создайте на нем новую таблицу разделов:
    • Partition size: 512M
    • Mount point: /boot
  • Повторите настройку для второго диска, но поскольку одновременно монтировать 2 раза /boot нельзя, то выберите mount point: none в итоге получив следующее (картинка с косяком, переделывать лень):

  • Настройка RAID:
  • Выберите свободное место на первом диске и настройте в качестве типа раздела physical volume for RAID
  • Выберите «Done setting up the partition»
  • Повторите точно такую же настройку для второго диска, в результате получив следующее:

  • Выберите пункт «Configure software RAID»
    • Create MD device
    • Software RAID device type: Выберите зеркальный массив
    • Active devices for the RAID XXXX array: Выбрать оба диска
    • Spare devices: Оставить 0 по умолчанию
    • Active devices for the RAID XX array: выбрать разделы, которые вы создавали под raid
    • Finish
  • В итоге вы должны получить такую картину:

  • Настройка LVM: Выберите Configure the Logical Volume Manager
  • Keep current partition layout and configure LVM: Yes
  • Create volume group
  • Volume group name: system
  • Devices for the new volume group: Выберите ваш созданный RAID
  • Create logical volume
    • logical volume name: root
    • logical volume size: 2\5 от размера вашего диска
  • Create logical volume
    • logical volume name: var
    • logical volume size: 2\5 от размера вашего диска
  • Create logical volume
    • logical volume name: log
    • logical volume size: 1\5 от размера вашего диска
  • Выбрав Display configuration details вы должны получить следующую картину:


    Завершив настройку LVM вы должны увидеть следующее:

  • Разметка разделов: по-очереди выберите каждый созданный в LVM том и разметьте их, например, для root так:
    • Use as: ext4
    • mount point: /
  • Результат разметки корневого раздела должен получиться таким:


    Повторите операцию разметки для var и log выбрав соответствующие точки монтирования (/var и /var/log вручную ввести), получив следующий результат:

  • Выберите Finish Partitioning
  • Вам зададут несколько вопросов, про то что у вас остался несмонтированный раздел и не настроен swap. Следует ответить отрицательно на оба вопроса.
  • Финальный результат должен получиться вот таким:

    Закончить установку ОС, поставив grub на первое устройство (sda) и загрузить систему.

    Выполните копирование содержимого раздела /boot с диска sda (ssd1) на диск sdb (ssd2)

    Выполнить установку grub на второе устройство:

    Посмотреть диски в системе:

    Найдите диск на который не была выполнена установка grub и выполните эту установку:

  • Просмотрите информацию о текущем raid командой cat /proc/mdstat и запишите что вы увидели.
  • Посмотрите выводы команд: pvs, vgs, lvs, mount и запишите что именно вы увидели.
  • Опишите своими словами что вы сделали и какой результат получили в итоге проделанного задания.

    После выполнения этого задания рекомендуется сохранить резервную копию папки с виртуальной машиной или сделать vagrant box.

    Результат: Виртуальная машина с дисками ssd1, ssd2.

    Задание 2 (Эмуляция отказа одного из дисков)

    Теперь нужно вручную выполните синхронизацию разделов, не входящих в RAID. Для этого воспользуемся утилитой dd, скопировав с «живого» диска на новенький, который вы недавно поставили:

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

    Результат: удалён диск ssd1, сохранен диск ssd2, добавлен диск ssd3.

    Задание 3 (Добавление новых дисков и перенос раздела)

    Это самое сложное и объемное задание из всех представленных. Очень внимательно проверяйте что вы делаете и с какими дисками и разделами. Рекомендуется снять копию перед его выполнением. Это задание независимо от задания №2, его можно выполнять после задания №1 с поправкой на имена дисков.

    Вторая часть задания этой лабораторной должна привести в точно такое же состояние которое было после выполнения первой части.

    Для того чтобы вам было проще работать могу рекомендовать не удалять физически диски с хостовой машины, а только лишь отсоединять их в свойствах машины. С точки зрения ОС в ВМ это будет выглядеть абсолютно одинаково, но вы сможете в случае чего подключить диск обратно и продолжить выполнение работы откатившись на пару пунктов назад, в случае если у вас возникли проблемы. Например вы могли выполнить неверно или забыть скопировать на новый диск раздел /boot. Я могу лишь посоветовать несколько раз перепроверять с какими дисками и разделами вы работаете, а еще лучше выписать на листочек соответствие дисков, разделов и «физическому» номеру диска. Красивое и понятное дерево рисует команда lsblk , пользуйтесь ей как можно чаще для анализа того что вы сделали и что нужно сделать.

    Представьте себе что ваш сервер работал долгое время на 2-х ssd дисках, как вдруг.

    Проэмулируйте отказ диска ssd2, удалив из свойств ВМ диск и перезагрузившись.

    Посмотрите текущее состояние дисков и RAID:

    Вам повезло — начальство разрешило закупить несколько новых дисков:

    2 SATA большого объема для давно назревшей задачи вынесения раздела с логами на отдельный диск. 2 SSD на замену погибшему, а также на замену пока еще функционирующему.

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

    Объем HDD выбрать в 2 раза больше чем SSD.
    Объем SSD выбрать в 1,25 раза больше бывших SSD.

    Добавьте один новый ssd диск, назвав его ssd4, а после добавления проверьте что произошло:

    В первую очередь следует озаботиться сохранностью данных старого диска. На этот раз мы будем переносить данные с помощью LVM:

    В первую очередь необходимо скопировать файловую таблицу со старого диска на новый:

    Подставьте вместо x,y правильные диски и разберите что делает данная команда.

    Выполните команду lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT и сравните ее вывод с прошлым вызовом. Что поменялось?

    С помощью команды dd скопируйте данные /boot на новый диск:

    Если /boot остался смонтирован на старом диске, его следует перемонтировать на живой диск:

    Установите загрузчик на новый ssd диск:

    Зачем мы выполняем эту операцию?

    Создайте новый рейд-массив с включением туда только одного нового ssd диска:

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

  • С помощью команды cat /proc/mdstat проверьте результат вашей операции. Что поменялось?
  • Выполните команду lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT и сравните ее вывод с прошлым вызовом. Что поменялось?
  • Следующим этапом необходимо настроить LVM

      Выполните команду pvs для просмотра информации о текущих физических томах.

    Создайте новый физический том включив в него ранее созданный RAID массив:

    Увеличим размер Volume Group system с помощью такой команды:

    Выполните команды и запишите что вы увидели и что поменялось.

    На каком физическом диске сейчас находятся LV var, log, root?

    Выполните перемещение данных со старого диска на новый, подставив правильные имена устройств.

    Повторите операцию для всех logical volume.

    Выполните команды и запишите что вы увидели и что поменялось.

    Изменим наш VG, удалив из него диск старого raid. Подставьте правильное имя raid.

    Выполните команды и запишите что вы увидели и что поменялось.

    Удалите ssd3 диск и добавьте ssd5, hdd1, hdd2 согласно вышеописанным ТЗ, в итоге получив:

    • ssd4 — первый новый ssd
    • ssd5 — второй новый ssd
    • hdd1 — первый новый hdd
    • hdd2 — второй новый hdd

    Проверьте что произошло после добавления дисков:

    Восстановим работу основного raid массива:

    Выполните копирование таблицы разделов, подставив правильные диски:

    Обратите внимание, что когда мы скопировали таблицу разделов со старого диска лказалось что новый размер не использует весь объем жесткого диска. Поэтому в скором времени нам потребуется изменить размер этого раздела и расширить raid. Убедитесь в этом сами, введя команду:

    Скопируйте загрузочный раздел /boot с диска ssd4 на ssd5:

    Установите grub на новый диск (ssd5).

    Изменим размер второго раздела диска ssd5.

    Запустите утилиту для работы с разметкой дисков:

    Перечитаем таблицу разделов и проверим результат:

    Добавим новый диск к текущему raid массиву (не забудьте подставить правильные диски):

    Расширим количество дисков в нашем массиве до 2-х штук:

    Посмотрите результат: у нас размечено 2 массива, но оба раздела входящие в этот массив имеют разные размеры:

    Увеличим размер раздела на диске ssd4

    Запустите утилиту для работы с разметкой дисков:

    Перечитаем таблицу разделов и проверим результат.

    Обратите внимание, теперь sda2, sdc2 разделы имеют размер > чем размер raid-устройства.

    На этом этапе размер raid можно теперь расширить:

    Просмотрите lsblk и запишите что изменилось.

    Однако, хоть мы и изменили размер raid, сами размеры vg root,var,log не изменились

    Посмотрите чему равен размер PV:

    Расширим размер нашего PV:

    Посмотрите чему равен размер PV:

    Добавим вновь появившееся место VG var, root:

    На этом этапе вы завершили миграцию основного массива на новые диски. работа с ssd1,ssd2 закончена.

    Наша следующая задача — переместить /var/log на новые диски, для этого создадим новый массив и lvm на hdd дисках.

    Посмотрим какие имена имеют новые hdd диски:

    Создадим новый PV на рейде из больших дисков:

    Создадим в этом PV группу с названием data:

    Создадим логический том размером всего свободного пространства и назовем его val_log:

    Отформатируем созданные раздел в ext4:

    Перенесем данные логов со старого раздела на новый

    Примонтируем временно новое хранилище логов:

    Выполним синхронизацию разделов:

    Выясним какие процессы работают сейчас с /var/log:

    Останавливаем эти процессы:

    Выполним финальную синхронизацию разделов (тех данных что могли измениться с момента последней синхронизации):

    fstab — файл, в котором записываются правила, по которым при загрузке будут смонтированы разделы. Наша задача — найти ту строку, в которой монтируется /var/log и поправить устройство system-log на data-var_log .

    Самое важно на этом этапе — не забыть изменить таблицу раделов (ext4, например). Поскольку как бы мы не изменяли всякие raid, lvm — пока ФС на разделе не будет уведомлена о том что теперь размер раздела изменился, мы не сможем использовать новое пространство. Используйте команду resize2fs для изменения ФС.

      Выполним перезагрузку. Если вы все сделали правильно — вы снова попадете в вашу ОС (это нужно для того чтобы убедиться что все работает. Никакого смысла кроме самопроверки этот шаг не несет)

    Выполните проверки, что все что мы хотели сделать действительно было сделано:

    [ОПЦИОНАЛЬНО] Выполните действия

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

    Теперь у вас есть ненужный LV log в VG system. Распределите это пространство между root или var, но вместо использования конструкции 100%FREE укажите размер руками с помощью ключа -L:

  • Исправьте проблему с тем что /boot находится на двух разделах без синхронизации, по-правильному так делать не нужно, здесь это добавлено для примера. Не забудьте предварительно куда-то скопировать содержимое /boot.
  • Создайте новый рейд и включите в него sda1, sda2.
  • Включите эти разделы в существующий raid и восстановите /boot в основном raid, но уже не монтируя его.
  • источник

    Добавить комментарий

    Adblock
    detector