📙
Linux
  • Sys Admin Linux
  • Системное администрирование
    • Базовые Знания
      • Введение
      • Структура Linux и команды
        • Сеть
          • Файлы конфигурации сети
          • Команды и Утилиты Сети
            • Настройка маршрутов в Linux
        • Команды для управления пользователями
        • Команды для управления системой
        • команды линукс для работы с разделами
        • Стандартные каталоги
        • Команды для работы с каталогами
        • Команды для работы с файлами
      • Потоки, Логические команды, Процессы, Сеть
      • Права Доступа
      • Атрибуты файла. Запрет изменения файла
      • Bash, сценарии
      • Стандартные программы и их команды( Путь к списку репозиториев)
      • Подключение по SSH
      • Untitled
      • Untitled
    • Основная Часть
      • Kernel Update
      • Работа с Raid 5
      • LVM
      • ZFS
      • NFS
      • Загрузка Системы
  • Анонимность в Сети
    • Настройка VPN-TOR-VPN
    • Настройка своего собственного VPN
      • Центр Сертификации (ЦС)
      • Шаг 1 Начало
      • Шаг 2 Подписание сертификата
      • Шаг 3 Повышение безопасности
      • Шаг 4 Клиент
      • Шаг 5 Настройка OpenVPN
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
    • Смена MAC адреса
Powered by GitBook
On this page
  • Raid
  • Vagrant
  • Создание Raid5
  • Создание конфигурационного файла mdadm.conf

Was this helpful?

  1. Системное администрирование
  2. Основная Часть

Работа с Raid 5

PreviousKernel UpdateNextLVM

Last updated 5 years ago

Was this helpful?

Raid

В данном репозитории вы увидите: Vagrant файл для стенда с виртуальной машиной на базе CentOS, файл Readme с пошаговой инструкцией по выполнению ДЗ, скрипт, который при выполнении в vagrant будет сам собирать raid, добавлять в автозагрузку, ломать его, чинить и создавать на нём партиции.

Для начала установите VirtualBox на локальную машину. Установите сам Vagrant: Переходим на выбираем соответствующую версию. В данном случае Debian 64-bit и версия 2.2.6. Копируем ссылку и в консоли выполняем:

curl -O https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.deb && sudo dpkg -i vagrant_2.2.6_x86_64.deb

После успешного окончания будет установлен Vagrant. Проверить установку можно командой:

vagrant -v

Vagrant

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

    :sata6 => { :dfile => './sata6.vdi', # Путь, по которому будет создан файл диска 
    :size => 250, # Размер диска в мегабайтах 
    :port => 6 # Номер порта на который будет зацеплен диск 
    },

Обязательно увеличив номер порта и изменив имя файла диска, чтобы исключить дублирование. При редактировании скаченного Vagrant файла у меня была ошибка ""rsync" could not be found on your PATH. Make sure that rsync is properly installed on your system and available on the PATH.", которую я исправил пользуясь руководством по ссылке , где было необходимо установить плагин vagrant-vbguest:

    vagrant plugin install vagrant-vbguest

и дописать в Vagrant файл

    config.vm.synced_folder ".", "/vagrant", type: "virtualbox"

Далее подразумеваем, что мы добавили в Vagrantfile 5-ый диск.Добавить в Vagrantfile еще дисков Далее нужно определиться какого уровня RAID будем собирать. Для это посмотрим, какие блочные устройства у нас есть и исходя из их кол-во, размера и поставленной задачи определимся. Я это делал командой lsblk

Создание Raid5

    mdadm --zero-superblock --force /dev/sd{b,c,d,e,f}

И можно создавать рейд следующей командой:

    mdadm --create --verbose /dev/md0 -l 5 -n 5 /dev/sd{b,c,d,e,f}

Мы выбрали RAID 5. Опция "-l" - какого уровния RAID создавать. Опция "-n" указывает на кол-во устройств в RAID.

Проверим что RAID собрался нормально:

    cat /proc/mdstat mdadm -D /dev/md0

Создание конфигурационного файла mdadm.conf

Для того, чтобы быть уверенным что ОС запомнила какой RAID-массив требуется создать и какие компоненты в него входят, создадим файл mdadm.conf Сначала убедимся, что информация верна:

    mdadm --detail --scan --verbose

А затем создадим файл mdadm.conf

    echo "DEVICE partitions" > /etc/mdadm/mdadm.conf

    mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Сломать/починить RAID

Сделать это можно, например, искусственно "зафейлив" одно из блочных устройств командой:

    mdadm /dev/md0 --fail /dev/sde

Посмотрим как это отразилось на RAID:

    cat /proc/mdstat mdadm -D /dev/md0

Удалим "сломанный" диск из массива:

    mdadm /dev/md0 --remove /dev/sde

Представим, что мы вставили новый диск в сервер и теперь нам нужно добавить его в RAID. Делается это так:

    mdadm /dev/md0 --add /dev/sde mdadm -D /dev/md0

Создать GPT раздел, пять партиция и смонтировать их на диск

Создаем раздел GPT на RAID:

    parted -s /dev/md0 mklabel gpt

Создаем партиции:

    parted /dev/md0 mkpart primary ext4 0% 20%

    parted /dev/md0 mkpart primary ext4 20% 40%

    parted /dev/md0 mkpart primary ext4 40% 60%

    parted /dev/md0 mkpart primary ext4 60% 80%

    parted /dev/md0 mkpart primary ext4 80% 100%

Далее, можно создать на этих партициях ФС:

    for i in $(seq 1 5); do sudo mkfs.ext4 /dev/md0p$i; done

И смонтировать их по каталогам:

    mkdir -p /raid/part{1,2,3,4,5}

    for i in $(seq 1 5); do mount /dev/md0p$i /raid/part$i; done

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

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

https://www.vagrantup.com/downloads.html
https://github.com/erlong15/otus-linux
https://qna.habr.com/q/271364
https://www.dmosk.ru/miniinstruktions.php?mini=mdadm
https://www.ibm.com/developerworks/ru/library/l-soft-raid/index.html
https://ru.wikibooks.org/wiki/Mdadm#%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_%D0%BE_RAID-%D0%B4%D0%B8%D1%81%D0%BA%D0%B5_%D0%B8_%D0%B5%D0%B3%D0%BE_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0%D1%85
https://gist.github.com/Jekins/2bf2d0638163f1294637
https://qna.habr.com/q/271364
https://habr.com/ru/company/ruvds/blog/325522/
https://losst.ru/napisanie-skriptov-na-bash
https://www.ekzorchik.ru/2015/10/control-of-the-state-of-raid-file/