Разное

Как создать raid массив ubuntu: Создание программного RAID массива в Ubuntu

Содержание

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

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

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

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

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

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

Итак, если вы решили создать RAID массив, вам понадобятся как минимум несколько винчестеров. Но кроме того вам придётся выбрать технологию управления вашим массивом. Существуют три основных возможности: аппаратный RAID-массив, аппаратно-программный RAID-массив и программный RAID-массив. Первые два способа требуют наличия достаточно дорогих RAID-контроллеров и имеют один немаловажный недостаток: если у вас сгорит не винчестер, а RAID-контроллер, то восстановить массив обычно можно будет только достав ровно такой же контроллер. А поскольку нет никаких гарантий, что лет через 5 на рынке всё ещё будет нужное железо, то иногда использование аппаратных RAID-массивов нежелательно. С другой стороны, полностью аппаратный массив никак не зависит от программной начинки компьютера.

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

Утилита управления программными RAID массивами mdadm

Для создания и управления RAID массивом вам потребуется утилита mdadm, она есть в репозиториях и её можно поставить через Synaptic или командой

sudo aptitude install mdadm

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

В качестве примера будет использоваться RAID-5 массив на дисках sdb1, sdc1 и sde1. Кстати, как уже упоминалось — для создания массива вам нужны не винчестеры целиком, а лишь логические диски (желательно — одинакового объёма, в противном случае размер массива будет рассчитываться исходя из размера диска с минимальным объёмом), но использовать два диска на одном винчестере — очень плохая идея, ибо это уничтожает весь смысл применения RAID.

Итак, для начала нужно подготовить разделы, которые вы хотите включить в RAID, присвоив им тип fd (Linux RAID Autodetect) Это не обязательно, но желательно. В Ubuntu 9.10 это можно легко сделать с помощью Дисковой утилиты, которую можно найти в меню Система→Администрирование. Она же называется palimpsest. В консоли поменять тип раздела можно с помощью программы fdisk, но её использование не совсем тривиально.

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

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

mdadm --create --verbose /dev/md0 --level=5 \
  --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

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

mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: /dev/sdb1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: /dev/sde1 appears to contain an ext2fs file system
    size=48160K  mtime=Sat Jan 27 23:11:39 2007
mdadm: size set to 48064K
Continue creating array? y
mdadm: array /dev/md0 started.

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

To be continued…

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

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

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

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

sudo mdadm --detail --scan

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

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

Работа с программным RAID с LiveCD

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

sudo apt-get install mdadm

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

sudo mdadm --assemble --scan

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

cat /proc/mdstat  

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

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

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

$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdd1[2](S) sdb1[1](S) sdc1[0](S) sde1[3](S)
      2930287616 blocks
       
unused devices: <none>

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

sudo mdadm --stop /dev/md0

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

sudo mdadm --assemble --scan --force

Если имел место серьёзный сбой массива, например, «вылет» чрезмерного количества дисков, то массив тоже перейдёт в состояние inactive, но в этом случае простой его пересборкой восстановить работоспособность не получится, мало того, она может даже навредить. Так что будьте внимательны и в случае возникновения проблем в первую очередь смотрите на состояние массива и всех его компонентов.

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

sudo mount -a

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

Как бы мы не надеялись на технологию RAID, 100% гарантии она, увы, не даёт. Иногда случаются критические невосстановимые сбои. Например, когда одновременно вылетают 2 винчестера из RAID-5 массива. Это приводит к полной неработоспособности массива и с первого взгляда к невозможности его восстановить.

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

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

    sudo mdadm -E /dev/sdc1

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

    # mdadm -E /dev/sdc1
    /dev/sdc1:
              Magic : a92b4efc
            Version : 00.90.00
               UUID : 22de433d:78efb608:be909337:4a7ae5f9 (local to host malamut-desktop)
      Creation Time : Tue Jan  5 21:26:49 2010
         Raid Level : raid5
      Used Dev Size : 732571904 (698.64 GiB 750.15 GB)
         Array Size : 2197715712 (2095.91 GiB 2250.46 GB)
       Raid Devices : 4
      Total Devices : 4
    Preferred Minor : 0
    
        Update Time : Mon May 17 23:07:51 2010
              State : clean
     Active Devices : 4
    Working Devices : 4
     Failed Devices : 0
      Spare Devices : 0
           Checksum : 10e9baf9 - correct
             Events : 154438
    
             Layout : left-symmetric
         Chunk Size : 64K
    
          Number   Major   Minor   RaidDevice State
    this     0       8       33        0      active sync   /dev/sdc1
    
       0     0       8       33        0      active sync   /dev/sdc1
       1     1       8       17        1      active sync   /dev/sdb1
       2     2       8       49        2      active sync   /dev/sdd1
       3     3       8       65        3      active sync   /dev/sde1

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

    # mdadm -E /dev/sde1
    /dev/sde1:
              Magic : a92b4efc
            Version : 00.90.00
               UUID : 22de433d:78efb608:be909337:4a7ae5f9 (local to host malamut-desktop)
      Creation Time : Tue Jan  5 21:26:49 2010
         Raid Level : raid5
      Used Dev Size : 732571904 (698.64 GiB 750.15 GB)
         Array Size : 2197715712 (2095.91 GiB 2250.46 GB)
       Raid Devices : 4
      Total Devices : 4
    Preferred Minor : 0
    
        Update Time : Mon May 17 23:26:35 2010
              State : clean
     Active Devices : 2
    Working Devices : 2
     Failed Devices : 1
      Spare Devices : 0
           Checksum : 10e9bfab - correct
             Events : 154447
    
             Layout : left-symmetric
         Chunk Size : 64K
    
          Number   Major   Minor   RaidDevice State
    this     3       8       65        3      active sync   /dev/sde1
    
       0     0       0        0        0      removed
       1     1       8       17        1      active sync   /dev/sdb1
       2     2       0        0        2      faulty removed
       3     3       8       65        3      active sync   /dev/sde1

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

    sdc1 sdb1 sdd1 sde1
  2. Во вторую проверьте состояние SMART винчестеров и прогоните тесты поверхности. Важно убедиться, что физически винчестеры живы и нет никаких ошибок чтения. Если это не так, то дело дрянь. Протестировать винчестеры можно с помощью Дисковой утилиты, доступной в Ubuntu.

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

    # mdadm --assemble --scan
    mdadm: /dev/md0 assembled from 2 drives - not enough to start the array

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

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

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

Важно не перепутать никаких опций и не изменять порядок дисков!

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

mdadm -E /dev/sdc1

Итак, пересоздаём массив:

# mdadm --create --verbose /dev/md0 --assume-clean --level=raid5 --raid-devices=4 --spare-devices=0 /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: /dev/sdc1 appears to contain an ext2fs file system
    size=-2097251584K  mtime=Mon May 17 19:33:06 2010
mdadm: /dev/sdc1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
mdadm: /dev/sdb1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
mdadm: /dev/sdd1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
mdadm: /dev/sde1 appears to contain an ext2fs file system
    size=-1828816128K  mtime=Mon May 17 19:33:03 2010
mdadm: /dev/sde1 appears to be part of a raid array:
    level=raid5 devices=4 ctime=Tue Jan  5 21:26:49 2010
mdadm: size set to 732571904K
Continue creating array? 
Continue creating array? (y/n) y
mdadm: array /dev/md0 started.

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

Смотрите также

Поднимаем RAID1-массив на Ubuntu — ITFound.ru

Опишем здесь процесс создания Raid1 (зеркального) массива на Ubuntu.

Для создания RAID1 нам необходимо как минимум 2 диска (желательно одного размера). Чтобы создать  RAIDмассив воспользуемся утилиткой mdadm.

Установка mdadm

apt-get install mdadm

Во время установки попросит указать настройку для postfix, выбираем «без настройки»,  либо ту которая вам нужна.

Далее подготавливаем наши диски:

Список дисков можно посмотреть командой

fdisk -l

Необходимо подготовить разделы на наших дисках, как это сделать читайте тут: Создание разделов на жестком диске в Ubuntu.

После того, как разделы созданы соберем из них RAID1

mdadm --create --verbose /dev/md0 --level=1
--raid-devices=2 /dev/sdb1 /dev/sdc1

где, —create — указываем что мы создаем raid массив

/dev/md0 — имя нашего создаваемого raid-массива

—level=1 — указываем вид RAID. В нашем случае он зеркальный то есть — 1

—raid-devices=2 — кол-во устройств в raid-массиве

/dev/sdb1 /dev/sdc1 — указываем 2 наших диска из которых мы собираем raid

Если все успешно, то мы увидим примерно следующее:

# mdadm --create --verbose /dev/md0
--level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
 mdadm: size set to 5237056K
 mdadm: array /dev/md0 started.

После старта массива начнется синхронизация дисков. Чтобы посмотреть на ее состояние и вообще на состояние массива в целом воспользуемся командой

cat /proc/mdstat

На экране мы увидим следующее (во время синхронизации):

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
5237056 blocks [2/2] [UU]
[==>………………]  resync = 10.3% (540416/5237056) finish=2.4min speed=31789K/sec

unused devices: <none>

Нормальное состояние массива после синхронизации выглядит так:

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
5237056 blocks [2/2] [UU]

unused devices: <none>

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

Как это сделать читаем тут: Форматирование диска в Ubuntu

Для тех кто не хочет читать выглядеть это будет примерно так:

mkfs.ext4 /dev/md0

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

Находим файл mdadm.conf В Ubuntu он находится тут /etc/mdadm/mdadm.conf

И добавляем туда пару строчек, делаем это так (соответсвенно если у вас не Ubuntu, то пути проставляем свои):

# echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
# mdadm --detail --scan
--verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf

Если добавлять вручную, то  строки которые необходимо добавить можно получить командой

mdadm --detail --scan --verbose

Теперь необходимо добавить строку в файл /etc/fstab чтобы наш диск автоматически монтировался при загрузке системы. О том как это делать читай здесь: Монтирование дисков в Ubuntu

А для тех кому лень вчитываться строчка эта будет  выглядеть примерно так:

/dev/md0      /usr/data     ext4    defaults    1 2

/usr/data — наша точка монтирования (соответственно создаем предварительно эту директорию)

Перезагружаем систему и проверяем работоспособность нашего RAID1-массива.

Кстати чтобы осуществлять мониторинг нашего массива и получать извещения о сбоях добавляем в mdadm.conf строчку:

MAILADDR ваш@адрес.ru

Соответственно для этого на системе должен быть хоть какой нибудь почтовик например sendmail

Установить можно так

apt-get install sendmail

На этом все.

Создание программного RAID 1 зеркала в Ubuntu

Краткий мануал как в Ubuntu 16.04 собрать софтварный RAID и смонтировать его в /mnt.

RAID1, он же “зеркало”, нужен в тех случаях, когда нужно хранить важную информацию. Обычно зеркало создается из двух дисков и информация записываtтся одновременно на два диска. Поэтому выход из строя одного диска не приведет к потере информации. Также такой тип RAID-а дает небольшое увеличение скорости чтения.

Когда диск выходит из строя, то он автоматически выпадает из массива, но сам массив продолжает работать на здоровом диске. Лучше до такого не доводить, и если в S.M.A.R.T.-е появились ошибки, то лучше такой диск заменить. Вот статья про замену диска в рейде.

Итак, дано два диска sdc и sdd:

# fdisk -l /dev/sdc /dev/sdd 
Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdd: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Из них будет собрано зеркало и смонтировано в /mnt в качестве файлового хранилища.
Если разделы больше 2ТБ, то нужно использовать parted и размечать под GPT:

# parted -a optimal /dev/sda

Если меньше 2ТБ, то можно размечать fdisk-ом. Создадим разделы типа — fd - Linux raid auto.

# fdisk /dev/sdd

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xbb8eba44.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-3907029167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907029167, default 3907029167):

Created a new partition 1 of type 'Linux' and of size 1.8 TiB.



Command (m for help): t
Selected partition 1
Partition type (type L to list all types): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT
Partition type (type L to list all types): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

В итоге получаем два диска и на каждом по одному разделу на весь диск:

# fdisk -l /dev/sdc /dev/sdd
Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x24b64209

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdc1        2048 3907029167 3907027120  1.8T fd Linux raid autodetect


Disk /dev/sdd: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbb8eba44

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdd1        2048 3907029167 3907027120  1.8T fd Linux raid autodetect

Теперь собираем непосредственно сам RAID-массив:

# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdd1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 1953382464K
mdadm: automatically enabling write-intent bitmap on large array
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.

После того как система соберет массив, начнется процесс ресинхронизации.
Ждем окончания ресинка:

# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdd1[1] sdc1[0]
      1953382464 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  1.3% (25956480/1953382464) finish=166.6min speed=192804K/sec
      bitmap: 15/15 pages [60KB], 65536KB chunk

После того как он кончится, создаем файловую систему на устройстве массива:

Теперь, чтобы зеркало автоматом собиралось после ребута, выполняем:

# mdadm --examine --scan
ARRAY /dev/md/0  metadata=1.2 UUID=5c8952f8:8456e312:d0b5af49:a7e38514 name=cs37907:0
ARRAY /dev/md/1  metadata=1.2 UUID=2b6d40e1:1d5515f0:5dfe78ca:868250d0 name=cs37907:1
ARRAY /dev/md/2  metadata=1.2 UUID=96fea4eb:5040d522:f83a5802:ea3b6a74 name=cs37907:2

Здесь mdadm нашел три рейда, md2 — мы только что создали.
Добавляем строку с md2 в /etc/mdadm/mdadm.conf

Обновляем initramfs:

Все готово. Монтируем в /mnt:

И добавляем в fstab:

/dev/md2	/mnt	ext4	defaults	0	0

Теперь после перезагрузки RAID будет автоматически пересобираться и монтироваться в /mnt

Создание программного RAID-массива на Linux-платформе

Алексей Снастин
Опубликовано 20.09.2011

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

cfdisk /dev/sda

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

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

  sfdisk -d /dev/sda | sfdisk /dev/sdb
  sfdisk -d /dev/sda | sfdisk /dev/sdc

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

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

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

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

Листинг 1. Создание дисков RAID-массива
mdadm --create /dev/md0 --metadata=0.90 --level=1 --raid-devices=3 \
      /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm --create /dev/md1 --metadata=0.90 --level=1 --raid-devices=3 \
      /dev/sda2 /dev/sdb2 /dev/sdc2

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

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

Ключ —level=1 определяет уровень RAID-массива. Ключ —raid-devices=3 определяет количество устройств-компонентов в создаваемом RAID-массиве. Завершает командную строку список устройств, из которых будет сформирован RAID-массив.

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

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

mkswap /dev/md0 setup

Установка 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:

  • добавить в начальной (общей) секции строку: raid-extra-boot = mbr-only
  • заменить строку boot = /dev/sda на строку boot = /dev/md0

После сохранения и выхода из редактора обязательно нужно активизировать внесённые изменения командой lilo.

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

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

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

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

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

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

echo 'DEVICE /dev/sd*[0-9]' > /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf

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

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

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

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

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

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

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

sfdisk -d /dev/sda | sfdisk /dev/sdc

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

mdadm /dev/md0 -a /dev/sdc1
mdadm /dev/md1 -a /dev/sdc2

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

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

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

mdadm /dev/md0 --set-faulty /dev/sdc1
или
mdadm /dev/md0 --fail /dev/sdc1

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

mdadm /dev/md0 --remove /dev/sdc1

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

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

mdadm /dev/md0 --add /dev/sdc1

Заключение

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

Ресурсы для скачивания

Как сделать RAID-1 массив на Ubuntu

Опишем здесь процесс создания Raid-1 (зеркального) массива на Ubuntu.
Для создания RAID-1 нам необходимо как минимум 2 диска (желательно одного размера). Чтобы создать  RAID массив воспользуемся утилиткой mdadm.
Установка mdadm:

apt-get install mdadm

Во время установки попросит указать настройку для postfix, выбираем «без настройки»,  либо ту которая вам нужна.
Далее подготавливаем наши диски: (Список дисков можно посмотреть командой)

fdisk -l

Необходимо подготовить разделы на наших дисках
После того, как разделы созданы соберем из них RAID1

mdadm —create —verbose /dev/md0 —level=1
—raid-devices=2 /dev/sdb1 /dev/sdc1

где, —create — указываем что мы создаем raid массив

/dev/md0 — имя нашего создаваемого raid-массива

—level=1 — указываем вид RAID. В нашем случае он зеркальный то есть — 1

—raid-devices=2 — кол-во устройств в raid-массиве

/dev/sdb1 /dev/sdc1 — указываем 2 наших диска из которых мы собираем raid

Если все успешно, то мы увидим примерно следующее:

# mdadm —create —verbose /dev/md0
—level=1 —raid-devices=2 /dev/sdb1 /dev/sdc1
 mdadm: size set to 5237056K
 mdadm: array /dev/md0 started.

После старта массива начнется синхронизация дисков. Чтобы посмотреть на ее состояние и вообще на состояние массива в целом воспользуемся командой

cat /proc/mdstat

На экране мы увидим следующее (во время синхронизации):

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
5237056 blocks [2/2] [UU]
[==>………………]  resync = 10.3% (540416/5237056) finish=2.4min speed=31789K/sec
unused devices:

Нормальное состояние массива после синхронизации выглядит так:

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
5237056 blocks [2/2] [UU]
unused devices:

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

mkfs.ext4 /dev/md0

Все, поздравляю массив благополучно собран и работает. Но необходимо сделать еще пару действий чтобы ваш массив автоматически собирался после перезагрузки системы.
Находим файл mdadm.conf В Ubuntu он находится тут /etc/mdadm/mdadm.conf
И добавляем туда пару строчек, делаем это так (соответственно если у вас не Ubuntu, то пути проставляем свои):

# echo «DEVICE partitions» > /etc/mdadm/mdadm.conf
# mdadm —detail —scan
—verbose | awk ‘/ARRAY/ {print}’ >> /etc/mdadm/mdadm.conf

Если добавлять вручную, то  строки которые необходимо добавить можно получить командой

mdadm —detail —scan —verbose

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

/dev/md0      /usr/data     ext4    defaults    1 2

/usr/data — наша точка монтирования (соответственно создаем предварительно эту директорию)

Перезагружаем систему и проверяем работоспособность нашего RAID1-массива.
Кстати чтобы осуществлять мониторинг нашего массива и получать извещения о сбоях добавляем в mdadm.conf строчку:

MAILADDR ваш@адрес.ru

Соответственно для этого на системе должен быть хоть какой нибудь почтовик например sendmail
Установить можно так:

apt-get install sendmail

На этом все.

HOW-TO: Перевод системного раздела на RAID.

ВНИМАНИЕ!!!! Предложенное вашему вниманию руководство — все-го лишь инструкция как решить одну конкретную задачу (описанную в начале документа). Если ваша задача хоть чуточку отличается от постановки, то пользуйтесь этой инструкцией не бездумно копируя команды, а адаптируя их под свои реалии.

Будьте осторожны, в этой инструкции вы работаете с системным разделом и ошибки могут привести к полному краху системы. Обязательно сделайте бекап системы прежде чем приступать к подобным действиям. А кроме того, крайне рекомендуется протестировать ваши манипуляции сначала на виртуальной машине, а уже выработав свой вариант точных инструкций и команд, приступать к конвертации системного раздела вашей реальной системы.

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

Условия

На оригинальном диске расположен корень и своп, новый диск чист. Мы будем делать программный RAID1. Используется Ubuntu Server 11.10

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

1. Подключаем второй диск к компьютеру. 1)
2. Форматируем новый диск 2)

# fdisk /dev/sdb
n
p
1
<enter>
<enter>
w

3. Создаем на нем массив:

# mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1 

Массив создается с пропущенным диском и поэтому работает в degrade режиме. ВНИМАНИЕ Массив делается не на диске, а на разделе — зачем — смотрите комментарий №1

4. Далее создаем на массиве разделы под будущую систему. Создаем такие же разделы под корень и своп как на оригинальном диске3).

# fdisk /dev/md0
....

5. Создаем файловые системы на разделах зеркала

# mkfs.ext4 /dev/md0p1
# mkswap /dev/md0p2

6. Монтируем будущий корень и копируем в него текущий корень

# mount /dev/md0p1 /mnt
# rsync -axu / /mnt/

7. После этого прицепляем системные каталоги к новому корню, что бы потом сделать chroot в новый корень (это важно — зачем объеснено в комментарии №2). И собственно делаем chroot в новый корень.

# mount --bind /proc /mnt/proc
# mount --bind /dev /mnt/dev
# mount --bind /sys /mnt/sys
# mount --bind /run /mnt/run
# chroot /mnt

Вот мы в будущем окружении (с корнем на раиде), но пока в нем только копия оригинального корня. Приступим…

8. Для начала смотрим UUID-ы разделов на раиде и прописываем их в fstab. 4) По редактированию fstab лучше сверится с этой статьей.

#/ls -l /dev/disk/by-uuid |grep md >> /etc/fstab
#/nano /etc/fstab 
(там комментируем старые корень и своп и используя скопированные туда uuid-ы прописываем новый корень и своп по образу и подобию старых, но с uuid-ами раидных разделов)

9. Создаем новую конфигурацию GRUB и проверяем, что в его конфиг прописан раидный uuid для корня.

#/update-grub
#/cat /boot/grub/grub.cfg

10. Ставим первую стадию GRUB на второй диск (который несет на себе часть зеркала).

#/grub-install /dev/sdb

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

#/dpkg-reconfigure mdadm (там со всем соглашаемся, включаяя последний шаг, где спрашивают - позволять ли грузится системе на деградированном массиве)

dpkg-reconfigure вызовет перестройку initrd, но так как мы в chroot, то он его перезапишет только в раидном корне (на реальном корне initrd сохранится таким как он был)

Ну собственно и все — система на раиде готова.

12. Можно перегружаться и выбрать в BIOS загрузочным второй диск5), или можно вернутся в реальную систему и обновить GRUB — он найдет вторую систему установленную на раиде и включит ее свое меню.
Тут полезно еще раз запустить rsync, что бы он обновил данные на раиде тем, что успело изменится на реальном корне за время настройки раида 6). Но сделать это стоит перед перестройкой конфига GRUB, что бы его новый конфиг не был записан на раид.

#/exit  --- выходим из chroot
# rsync -axu / /mnt/
# update-grub
# reboot

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

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

# fdisk /dev/sda
(там убиваем старые разделы и создаем один новый - на весь объем)
# mdadm --manage /dev/md0 --add /dev/sda1
# grub-install /dev/sda

После чего сморим через cat /proc/mdstat как перестраивается наш деградированный массив в полноценно рабочий.

Результат: Система на раиде.

Т.к. в процессе написания этой инструкции использовалась виртуалка то можно поиграть с потерей дисков.
Гасим виртуалку, отсоединяем первый диск, грузимся — норма (массив деградированный на втором диске, груб стартанул со второго диска). Снова гасим — подцепляем обнуленный второй диск, создаем на нем MBR, раздел, и добавляем его в массив (как выше добавлялся sda1) — система перестраивает массив и переходит в нормальный режим.
Повторяем то-же, но отключая и обнуляя второй диск — все работает.

ПРОФИТ!!

№1: Если вы создадите массив на весь диск — то на диске может быть занят первый трек — и грубу некуда будет поставить свою первую стадию. А кроме того GRUB вообще не понимает? что на диске творится когда на нем расположен раидный раздел без MBR и не может встать туда. Другой (не совсем правильный) вариант — создавать на каждый раздел — свой массив. Идеологически — массив это диск, а не раздел, и если вы, имея массив, запустите fdisk -l то он вам на каждый RAID массив выдаст информацию именно как о диске и будет на каждом массиве искать таблицу разделов.

№2: chroot в новый корень на этапе настройки позволяет сделать все настройки в новом корне(который на RAID) и не трогать текущий (который на простом диске), что позволит организовать загрузку как с корнем в RAID-е, так и с корнем на диске. Это может потребоваться, если мы что-то намудрим в настройке нового раидного корня и не сможем загрузится в раидную версию нашей системы. Тогда остается шанс откатится полностью назад еще одной перезагрузкой.

ВАЖНЫЙ КОММЕНТАРИЙ КО ВСЕЙ РАБОТЕ: Работа проводилась на витруалке и на сервере без какой-либо нагрузки (ни ПО никакого серверного не стояло, ни каких сервисов сервер не предоставлял и не использовался кем-либо со стороны). Поэтому в момент копирования корня и после перезагрузки в раидую версию системы — ничего криминального не произошло. При наличии рабочих серверов это копирование (6-й шаг инструкции) может стать проблемой — т.к. данные в реальном корне «уйдут» по времени от данных на раидном, и перезагрузка «отбросит» сервисы на сервере в момент времени, когда была сделана копия. А кроме того — такое копирование может вообще разрушить целостность данных севисов т.к. разные файлы будут копироваться в разное время — тут надо копать либо в сторону FS, которые могут делать снепшоты? Либо корень системы копировать, а данные приложений переносить другими средствами 7)
Чуть улучшает состояние дел вызов rsync повторно перед пеезагрузкой (шаг 12). Но и он не может ничего гарантирововать.

update-grub берет данные о корне (откуда грузить ядро и initrd) из fstab и совершенно замечателно составляет конфиг для загрузки с раидного кроня (или /boot).

mdadm совсем не критичен к типам разделов которые он подцепляет в RAID. Но, правильным будет поменять их тип на тип FD (Linux raid auto), что бы они корректно показывались в дисковых утилитах.
По этой процедуре можно сделать и другие версии RAID, важно только что бы загрузчик умел грузится с такого типа RAID что вы делаете.
При наличии полного комплекта новых дисков для RAID массива помимо существующего в системе, процедуру можно проделать с созданием полноценного массива (не деградированного), а оставшийся после переноса диск повесить в массив как горячий резерв.

Расширенная установка | Русскоязычная документация по Ubuntu

Расширенная установка

Программный RAID

Избыточный массив независимых дисков (Redundant Array of Independent Disks, RAID) это метод использования нескольких дисков для различных сочетаний увеличения надежности хранения данных и/или увеличения производительности операций чтения/записи в зависимости от используемого уровня RAID. RAID реализуется либо на программном уровне (когда операционная система знает про оба носителя и активно их обслуживает), либо на аппаратном (когда специальный контроллер заставляет ОС думать, что существует только один носитель и обслуживает носители незаметно для системы).

ПО для работы с RAID, включенное в текущие версии Linux (и Ubuntu), основано на драйвере «mdadm» и работает очень хорошо, даже лучше чем многие, так называемые, «аппаратные» RAID контроллеры. Этот секция поможет вам установить Ubuntu Server Edition, используя два раздела RAID первого уровня, находящиеся на двух физических жестких дисках, один для / (корневого раздела), а другой для подкачки (swap).

Разметка

Следуйте инструкциям по установке пока вы не достигните этапа разметки дисков, затем:

  1. Выберите метод разметки Вручную.

  2. Выберите первый жесткий диск и согласитесь «Создать новую пустую таблицу разделов на этом устройстве?».

    Повторите этот шаг для каждого диска, который вы собираетесь включить в RAID массив.

  3. Выберите «СВОБОДНОЕ МЕСТО» на первом носителе и выберите «Создать новый раздел».

  4. Далее, выберите размер раздела. Этот раздел будет разделом подкачки, а общее правило для определения размера раздела подкачки – двойной объем RAM. Введите размер, далее выберите «Первичный», затем «Начало».

    Двойной размер раздела подкачки по отношению к оперативной памяти (RAM) не всегда желателен, особенно на системах с большим объемом RAM. Расчет размера раздела подкачки в значительной степени зависит от того, как будет использоваться система.

  5. Выберите строку «Использовать как:» вверху. По умолчанию там установлено «Журналируемая файловая система Ext4», измените ее на «физический том для RAID» затем выберите «Настройка раздела закончена».

  6. Для раздела / снова выберите «СВОБОДНОЕ МЕСТО» на первом носителе и нажмите «Создать новый раздел».

  7. Используйте оставшееся свободное на носителе место и выберите «Далее», а затем «Первичный».

  8. Так же как и для раздела подкачки выберите строку «Использовать как:» вверху и измените ее на «физический том для RAID». Также поставьте отметку на строке «Загрузочный флаг:». После этого выберите «Настройка раздела закончена».

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

Настройка RAID

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

  1. Вернитесь на основную страницу «Разметка дисков», выберите «Настройка программного RAID» сверху.

  2. Выберите «да» для записи изменений на диск.

  3. Выберите «Создать MD устройство».

  4. Для этого примера выберите «RAID1», но если вы используете другую конфигурацию выберите соответствующий тип (RAID0 RAID1 RAID5).

    Для использования RAID5 нужно по крайней мере три диска. Использование RAID0 или RAID1 потребует лишь двух дисков.

  5. Введите количество активных устройств равное «2», или же количество жестких дисков которые у вас выделены под массив. После этого нажмите «Далее».

  6. Далее, введите число резервных устройств «0» по умолчанию, после чего нажмите «Далее».

  7. Выберите используемые разделы. Как правило это будут sda1, sdb1, sdc1, и т.д. Цифры обычно совпадают, а разные буквы соответствуют разным жестким дискам.

    Для раздела подкачки выберите sda1 и sdb1. Нажмите «Далее» для перехода к следующему шагу.

  8. Повторите шаги с третьего по седьмой для раздела /, выбрав sda2 и sdb2.

  9. По окончании выберите «Завершить».

Форматирование

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

  1. Выберите «#1» под разделом «RAID1 устройство #0».

  2. Выберите «Использовать как:». Далее выберите «раздел подкачки», затем «Настройка раздела выполнена».

  3. Следующим выберите «#1» под разделом «RAID1 устройство #1».

  4. Выберите «Использовать как:». Далее выберите «Журналируемая файловая система Ext4».

  5. Затем выберите «Точка подключения:» и выберите «/ – корневая файловая система». Измените все необходимые опции и выберите «Настройка раздела выполнена».

  6. Ну и наконец, выберите «Завершить разметку и записать изменения на диск».

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

Далее процесс установки продолжится как обычно.

Поврежденный RAID

В определенный момент работы компьютера вы можете столкнуться с отказом диска. Когда это случится, при использовании программного RAID, операционная система переведет массив в режим пониженной работоспособности (degraded state).

Если массив поврежден, в связи с возможностью потери данных, по-умолчанию Ubuntu Server Edition запустит начальный загрузчик через 30 секунд. Как только загрузчик стартует, появится предупреждение на 50 секунд с выбором либо продолжить и загрузить систему, либо сделать попытку восстановления вручную. Запуск загрузчика с предупреждением может быть как желательным, так и нет, особенно если это удаленный компьютер. Загрузка с поврежденным массивом может быть настроена по-разному:

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

sudo dpkg-reconfigure mdadm
  • Команда sudo dpkg-reconfigure mdadm изменит конфигурационный файл /etc/initramfs-tools/conf.d/mdadm. У этого файла есть возможность предварительной настройки желаемого поведения системы и он может быть отредактирован вручную:

BOOT_DEGRADED=true

Конфигурационный файл может быть проигнорирован при использовании параметров ядра

  • Использование параметра ядра также позволит загрузиться системе с поврежденным массивом:

    1. Когда сервер стартует, нажмите Shift для выхода в меню GRUB.

    2. Нажмите «e» для редактирования опций загрузки ядра.

    3. Клавишей курсор вниз подсветите строку ядра.

    4. Добавьте «bootdegraded=true» (без кавычек) в конец строки.

    5. Нажмите Ctrl-x для загрузки системы.

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

Обслуживание RAID

Утилита mdadm может быть использована для просмотра статуса массива, добавления дисков в массив, удаления дисков и пр.:

  • Для просмотра статуса массива введите в терминале:

sudo mdadm -D /dev/md0

Опция -D говорит mdadm выводить детальную информацию об устройстве /dev/md0. Замените /dev/md0 на соответствующее RAID устройство.

  • Для просмотра статуса диска в массиве:

sudo mdadm -E /dev/sda1

Вывод очень похож на команду mdadm -D относительно /dev/sda1 для каждого диска.

  • Если диск вышел из строя и должен быть удален:

sudo mdadm --remove /dev/md0 /dev/sda1

Замените /dev/md0 и /dev/sda1 на необходимые RAID устройство и диск.

  • Подобным образом добавить диск:

sudo mdadm --add /dev/md0 /dev/sda1

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

Файл /proc/mdstat также содержит полезную информацию по RAID устройствам в системе:

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sda1[0] sdb1[1]
      10016384 blocks [2/2] [UU]
      
unused devices: <none>

Следующая команда лучше всего подходит для просмотра статуса синхронизации устройства:

watch -n1 cat /proc/mdstat

Нажмите Ctrl-c для окончания просмотра.

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

sudo grub-install /dev/md0

Замените /dev/md0 на имя соответствующего устройства.

Ссылки

Тема массивов RAID обширна из-за изобилия вариантов настройки RAID. Пожалуйста посмотрите следующие ссылки для дополнительной информации:

Менеджер логических томов (LVM)

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

Обзор

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

  1. Физический том (Physical Volume — PV): физический жесткий диск, раздел диска или раздел программного RAID, отформатированный как LVM PV.

  2. Группа томов (Volume Group — VG): строится из одного или нескольких физических томов. VG могут быть расширены добавлением PV. VG похожи на виртуальные дисковые устройства, которые можно разделять на логические тома.

  3. Логический том (Logical Volume — LV): аналогичен разделу на диске без использования LVM. LV отформатированный в желаемую файловую систему (EXT3, XFS, JFS и др.) доступен для монтирования и хранения данных.

Установка

Пример в данной секции показывает установку Ubuntu Server Edition с монтированием /srv на том LVM. В процессе начальной установки только один физический том (PV) может стать частью группы томов (VG). Другой PV будет добавлен после установки для демонстрации как VG может быть расширен.

Существует несколько вариантов установки LVM, «Управляемый — использовать весь диск и настроить LVM» который также позволит вам выделить часть доступного пространства под LVM, «Управляемый — использовать целиком и настроить шифрованный LVM» или установить и настроить LVM вручную. На данный момент единственный вариант настроить систему с использованием как LVM, так и стандартных разделов в процессе установки — это использование ручной настройки.

Пройдите по шагам установки пока не дойдете до шага разбивки дисков на разделы, затем:

  1. На экране «Дисковые разделы» выберите «Вручную».

  2. Выделите жесткий диск и на следующем экране подтвердите «да» на «Создать новую таблицу разделов устройства».

  3. Далее создайте стандартные разделы для /boot, swap, и «/» с той файловой системой, которую вы предпочитаете.

  4. Для размещения /srv на LVM, создайте новый логический раздел. Затем замените «Использовать как» на «физический том LVM» после чего нажмите «Настройка разделов завершена».

  5. Теперь выделите «Настроить менеджер логических томов» вверху и выберите «Да» для сохранения изменений на диск.

  6. В качестве «Действия по настройке LVM» на следующем экране выберите «Создать группу томов». Введите имя для VG типа vg01 или что-то более наглядное. После ввода имени выберите раздел, выделенный под LVM, и нажмите «Далее».

  7. Вернитесь на экран «Действие по настройке LVM», выберите «Создать логический том». Выделите недавно созданную группу томов и введите имя для LV, например, srv, раз уж она предназначена для этой точки монтирования. Затем выберите размер, который может быть на весь раздел, поскольку его всегда можно будет расширить позднее. Нажмите «Завершить» и вы вернетесь обратно на основную страницу «Дисковые разделы».

  8. Теперь добавьте файловую систему для нового LVM. Выделите раздел под названием «LVM VG vg01, LV srv» или тем именем, которое вы выбрали и нажмите «Использовать как». Настройте файловую систему как обычно, выбрав /srv в качестве точки монтирования. По окончании нажмите «Выполнить настройку разделов».

  9. Наконец нажмите «Завершить разбиение и сохранить изменения на диск». Затем подтвердите изменения и продолжите обычную установку.

Есть несколько полезных утилит для просмотра информации по LVM:

  1. pvdisplay: показывает информацию по физическим томам.

  2. vgdisplay: показывает информацию по группам томов.

  3. lvdisplay: показывает информацию по логическим томам.

Расширение групп томов

Продолжая с srv как примером тома LVM, в данной секции рассматривается добавление второго жесткого диска, создание физического тома (PV), добавление его в группу томов (VG), расширение логического тома srv и в конце расширение файловой системы. Этот пример подразумевает, что в систему был добавлен второй жесткий диск. В данном примере этот жесткий диск получит имя /dev/sdb и мы будем использовать весь диск под физический том (вы можете выбрать создание разделов и использовать их как другие физические тома).

Убедитесь, что у вас нет уже /dev/sdb перед тем, как выполнять приведенные ниже команды. Вы можете потерять некоторые данные если выполните эти команды на использующемся диске.

  • Сначала создадим физический том, выполнив в терминале:

sudo pvcreate /dev/sdb
  • Теперь расширим группу томов (VG):

sudo vgextend vg01 /dev/sdb
  • Используйте vgdisplay для поиска свободных физических экстентов (PE) — Free PE / size (размер, который вы можете занять). Предположим, что свободно 511 PE (эквивалентно 2ГБ при размере PE в 4МБ) и мы используем все доступное свободное место. Используйте ваши собственные PE и/или свободное место.

    Логический том (LV) теперь может быть увеличен различными методами, мы будем рассматривать только как использовать PE для расширения LV:

sudo lvextend /dev/vg01/srv -l +511

Опция -l позволяет расширять LV используя PE. Опция -L позволит задавать увеличение LV в МБ, ГБ, ТБ и т.п.

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

  • Следующая команда только для файловой системы ext3 или ext4. Если вы используете другую файловую систему, возможно придется использовать другие утилиты.

sudo umount /srv
sudo e2fsck -f /dev/vg01/srv

Опция -f для e2fsck заставляет принудительно сделать проверку на целостность системы.

  • Наконец, изменяем размер файловой системы:

sudo resize2fs /dev/vg01/srv
  • Теперь монтируем раздел и проверяем его размер:

mount /dev/vg01/srv /srv && df -h /srv
Ссылки
  1. Смотрите LVM HOWTO для дополнительной информации.

  2. Для дополнительной информации по fdisk смотрите fdisk man page.


Создание массива RAID и управление им в Ubuntu | Flynsarmy

Ниже представлена ​​полезная информация, которую я нашел при попытке создать и поддерживать массив RAID5, состоящий из 4 жестких дисков. Работа над этим руководством еще не завершена, и я учусь всему по ходу. Я оставил соответствующие ссылки в каждом разделе для получения дополнительной информации, и если вы заметите что-то, что можно было бы сделать лучше или чего мне не хватает, дайте мне знать в комментариях ниже!

Несколько полезных команд для начала работы:

  • lsblk для просмотра точек монтирования
  • df -T для просмотра файловых систем и
  • sudo fdisk -l , чтобы увидеть типы разделов

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

http: // www.flynsarmy.com/2012/11/partitioning-and-formatting-new-disks-in-linux/
http://www.ehow.com/how_5853059_format-linux-disk.html
http://www.allmyit.com .au / mdadm-растущий-raid5-array-ubuntu

Убедитесь, что все диски размонтированы:

Первый шаг — отформатировать и разбить наши диски, чтобы подготовить их для размещения в массиве. Я использую четыре диска SATA емкостью 2 ТБ.

 lsblk
# Мои - sdb sdc sdd и sde
sudo umount / media / sdb
sudo umount / media / sdc
sudo umount / media / sdd
Судо Umount / СМИ / SDE 
Удалить все разделы и создать новые разделы Linux RAID с автоматическим определением

Для дисков

RAID требуется раздела RAID с автоматическим определением .Это можно сделать с помощью fdisk:

 Судо fdisk / dev / sdb
d # пока все не удалено
n # использовать значения по умолчанию
t # изменить тип раздела
fd #Linux Тип автоопределения RAID 

Повторите вышеуказанное для каждого диска

Раздел на EXT4

Я использую EXT4 для своего массива.

 судо mkfs.ext4 sdb1
судо mkfs.ext4 sdc1
судо mkfs.ext4 sdd1
Судо mkfs.ext4 sde1 

Создайте массив

http: // ubuntuforums.org / showthread.php? t = 517282
http://blog.mbentley.net/2010/11/creating-a-raid-5-array-in-linux-with-mdadm/

Как упоминалось выше, я использую четыре диска и создаю массив RAID5.

.

Настройка программного RAID на виртуальной машине Linux — Виртуальные машины Azure

  • 5 минут на чтение

В этой статье

Это распространенный сценарий использования программного RAID на виртуальных машинах Linux в Azure для представления нескольких подключенных дисков с данными как одного устройства RAID. Обычно это можно использовать для повышения производительности и повышения пропускной способности по сравнению с использованием только одного диска.

Прикрепление дисков с данными

Для настройки RAID-устройства необходимы два или более пустых диска с данными. Основная причина создания устройства RAID — повысить производительность дискового ввода-вывода. В зависимости от ваших потребностей в операциях ввода-вывода вы можете подключить диски, которые хранятся в нашем стандартном хранилище, с скоростью до 500 операций ввода-вывода в секунду на диск или в нашем хранилище класса Premium с скоростью до 5000 операций ввода-вывода в секунду на диск. В этой статье не подробно рассказывается о том, как подготовить и подключить диски данных к виртуальной машине Linux. См. Статью Microsoft Azure о подключении диска для получения подробных инструкций о том, как подключить пустой диск данных к виртуальной машине Linux в Azure.

Важно

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

Установите утилиту mdadm

Создать разделы диска

В этом примере мы создаем один раздел диска на / dev / sdc. Новый раздел диска будет называться / dev / sdc1.

  1. Запустите fdisk , чтобы начать создание разделов

      Судо fdisk / dev / sdc
    Устройство не содержит ни действующей таблицы разделов DOS, ни метки диска Sun, SGI или OSF
    Создание новой метки диска DOS с идентификатором диска 0xa34cb70c.Изменения останутся только в памяти, пока вы не решите их записать.
    После этого, конечно же, предыдущий контент не будет восстановлен.
    
    ВНИМАНИЕ: DOS-совместимый режим устарел. Настоятельно рекомендуется
                    выключите режим (команда 'c') и измените единицы отображения на
                    секторы (команда 'u').
      
  2. Нажмите ‘n’ в приглашении для создания раздела n ew:

      Команда (m для справки): n
      
  3. Затем нажмите ‘p’, чтобы создать граничную перегородку p :

      Командное действие
            е расширенный
            p основной раздел (1-4)
      
  4. Нажмите «1», чтобы выбрать номер раздела 1:

      Номер раздела (1-4): 1
      
  5. Выберите начальную точку нового раздела или нажмите , чтобы принять значение по умолчанию, чтобы разместить раздел в начале свободного пространства на диске:

      Первый цилиндр (1-1305, по умолчанию 1):
    Использование значения по умолчанию 1
      
  6. Выберите размер раздела, например, введите «+ 10G», чтобы создать раздел размером 10 гигабайт.Или нажмите , чтобы создать один раздел, занимающий весь диск:

      Последний цилиндр, + цилиндры или + размер {K, M, G} (1-1305, по умолчанию 1305):
    Использование значения по умолчанию 1305
      
  7. Затем измените идентификатор и t ype раздела с идентификатора по умолчанию 83 (Linux) на идентификатор fd (Linux raid auto):

      Команда (m для справки): t
    Выбранный раздел 1
    Шестнадцатеричный код (введите L для вывода кодов): fd
      
  8. Наконец, запишите таблицу разделов на диск и выйдите из fdisk:

      Команда (m для справки): w
    Изменена таблица разделов!
      

Создайте массив RAID

  1. В следующем примере будут «чередоваться» (уровень RAID 0) три раздела, расположенных на трех отдельных дисках данных (sdc1, sdd1, sde1).После выполнения этой команды создается новое устройство RAID с именем / dev / md127 . Также обратите внимание, что если эти диски с данными мы ранее являлись частью другого несуществующего массива RAID, может потребоваться добавить параметр --force в команду mdadm :

      sudo mdadm --create / dev / md127 --level 0 --raid-devices 3 \
        / Дев / SDC1 / Дев / SDD1 / Дев / SDE1
      
  2. Создайте файловую систему на новом устройстве RAID

    CentOS, Oracle Linux, SLES 12, openSUSE и Ubuntu

      судо mkfs -t ext4 / dev / md127
      

    SLES 11

      судо mkfs -t ext3 / dev / md127
      

    SLES 11 — включить загрузку.md и создайте mdadm.conf

      sudo -i chkconfig --add boot.md
    sudo echo 'УСТРОЙСТВО / dev / sd * [0-9]' >> /etc/mdadm.conf
      

    Примечание

    После внесения этих изменений в системы SUSE может потребоваться перезагрузка. Этот шаг не требуется на SLES 12.

Добавьте новую файловую систему в / etc / fstab

Важно

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

  1. Создайте желаемую точку монтирования для вашей новой файловой системы, например:

      sudo mkdir / данные
      
  2. При редактировании / etc / fstab, UUID следует использовать для ссылки на файловую систему, а не на имя устройства. Используйте утилиту blkid для определения UUID для новой файловой системы:

      судо / sbin / blkid
    ...........
    / dev / md127: UUID = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" TYPE = "ext4"
      
  3. Откройте / etc / fstab в текстовом редакторе и добавьте запись для новой файловой системы, например:

      UUID = aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee / data ext4 по умолчанию 0 2
      

    Или на SLES 11 :

      / dev / disk / by-uuid / aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee / data ext3 по умолчанию 0 2
      

    Затем сохраните и закройте / etc / fstab.

  4. Проверьте правильность записи в / etc / fstab:

      крепление sudo -a
      

    Если эта команда приводит к сообщению об ошибке, проверьте синтаксис в файле / etc / fstab.

    Затем запустите команду mount , чтобы убедиться, что файловая система смонтирована:

      крепление
    .................
    / dev / md127 на / тип данных ext4 (rw)
      
  5. (Необязательно) Параметры отказоустойчивой загрузки

    конфигурация fstab

    Многие дистрибутивы включают в себя параметры монтирования nobootwait или nofail , которые можно добавить в файл / etc / fstab.Эти параметры учитывают сбои при монтировании определенной файловой системы и позволяют системе Linux продолжать загрузку, даже если она не может правильно смонтировать файловую систему RAID. Обратитесь к документации вашего дистрибутива для получения дополнительной информации об этих параметрах.

    Пример (Ubuntu):

      UUID = aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee / data ext4 по умолчанию, nobootwait 0 2
      

    Параметры загрузки Linux

    В дополнение к указанным выше параметрам параметр ядра « bootdegraded = true » может разрешить загрузку системы, даже если RAID воспринимается как поврежденный или деградировавший, например, если диск с данными был случайно удален из виртуальной машины.По умолчанию это также может привести к тому, что система не загрузится.

    Пожалуйста, обратитесь к документации вашего дистрибутива, чтобы узнать, как правильно редактировать параметры ядра. Например, во многих дистрибутивах (CentOS, Oracle Linux, SLES 11) эти параметры можно вручную добавить в файл « /boot/grub/menu.lst ». В Ubuntu этот параметр можно добавить к переменной GRUB_CMDLINE_LINUX_DEFAULT в «/ etc / default / grub».

Поддержка TRIM / UNMAP

Некоторые ядра Linux поддерживают операции TRIM / UNMAP для удаления неиспользуемых блоков на диске.Эти операции в основном полезны в стандартном хранилище, чтобы сообщить Azure, что удаленные страницы больше не действительны и могут быть отброшены. Удаление страниц может сэкономить средства, если вы создаете большие файлы, а затем удаляете их.

Примечание

RAID может не выдавать команды сброса, если размер блока для массива меньше значения по умолчанию (512 КБ). Это связано с тем, что степень детализации unmap на хосте также составляет 512 КБ. Если вы изменили размер блока массива с помощью параметра mdadm --chunk = , то запросы TRIM / unmap могут игнорироваться ядром.

Есть два способа включить поддержку TRIM на вашей виртуальной машине Linux. Как обычно, обратитесь к своему дистрибутиву за рекомендуемым подходом:

  • Используйте опцию монтирования discard в / etc / fstab , например:

      UUID = aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee / data ext4 по умолчанию, сбросить 0 2
      
  • В некоторых случаях опция отбросить может повлиять на производительность. Кроме того, вы можете запустить команду fstrim вручную из командной строки или добавить ее в свой crontab для регулярного выполнения:

    Ubuntu

      # sudo apt-get install util-linux
    # sudo fstrim / data
      

    RHEL / CentOS

      # sudo yum install util-linux
    # sudo fstrim / data
      

.

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

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