<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.rtzra.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>RTzRa&#039;s hive - software:mdadm</title>
        <description>Все работает</description>
        <link>https://wiki.rtzra.ru/</link>
        <lastBuildDate>Sun, 19 Jul 2026 21:06:00 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.rtzra.ru/_media/wiki/logo.png</url>
            <title>RTzRa&#039;s hive</title>
            <link>https://wiki.rtzra.ru/</link>
        </image>
        <item>
            <title>mdadm: Добавляем диск в массив</title>
            <link>https://wiki.rtzra.ru/software/mdadm/add-new-disk</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mdadmdobavljaem_disk_v_massiv&quot;&gt;mdadm: Добавляем диск в массив&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Дано: зеркало из 2-х дисков (sdb и sdc), один из которых скоропостижно умер (sdc)
&lt;/p&gt;

&lt;p&gt;
Надо: добавить новый диск в массив, провести ребилд
&lt;/p&gt;

&lt;p&gt;
Решение:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Делаем синк ФС: &lt;pre class=&quot;code&quot;&gt;# sync&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Помечаем как сбойный, но может быть так что диск уже намертво отвалился и его не будет видно: &lt;pre class=&quot;code&quot;&gt;mdadm --manage /dev/md0 --fail /dev/sdc&lt;/pre&gt;

&lt;p&gt;
 и удаляем его из массива: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mdadm --manage /dev/md0 --remove /dev/sdc&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Заменяем физический диск&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; (При необходимости) Удаляем все текущую информацию с нового диска: &lt;pre class=&quot;code&quot;&gt;wipefs -a /dev/sdc&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Копируем таблицу разделов с текущего диска на новый: &lt;pre class=&quot;code&quot;&gt;sfdisk -d /dev/sdb | sfdisk /dev/sdc&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Дбавляем новый диск в массив: &lt;pre class=&quot;code&quot;&gt;mdadm --manage /dev/md0 --add /dev/sdc&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Смотрим статус, должен идти ребилд: &lt;pre class=&quot;code&quot;&gt;cat /proc/mdstat&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/raid?do=showtag&amp;amp;tag=raid&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:raid&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; raid&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/mdadm?do=showtag&amp;amp;tag=mdadm&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:mdadm&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; mdadm&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/add_disk?do=showtag&amp;amp;tag=add_disk&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:add_disk&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; add disk&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/rebuild?do=showtag&amp;amp;tag=rebuild&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:rebuild&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; rebuild&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 04 Aug 2024 12:12:10 +0000</pubDate>
        </item>
        <item>
            <title>Перенос системного раздела на RAID</title>
            <link>https://wiki.rtzra.ru/software/mdadm/upgrade-hdd-raid</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;perenos_sistemnogo_razdela_na_raid&quot;&gt;Перенос системного раздела на RAID&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Ситуация: продакшн-сервер, один диск, что с бэкапами - неизвестно.
&lt;/p&gt;

&lt;p&gt;
Задача: добавить в систему два новых диска, объединить их в RAID-1 (зеркало), перенести на них систему со всеми потрохами с минимальным даунтаймом, старый диск использовать под бэкапы. Железного RAID нет, только fake raid, поэтому выкручиваемся при помощи mdadm.
&lt;/p&gt;

&lt;p&gt;
Система: Ubuntu Server 12.04 LTS
&lt;/p&gt;

&lt;p&gt;
Диски:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Основной, с рабочей системой - sda, один раздел sda1, система ext4&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Новый диск №1 - sdb&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Новый диск №2 - sdc&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u043e\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u043d\u0430 RAID&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;perenos_sistemnogo_razdela_na_raid&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-888&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;do_nachala_operacii&quot;&gt;До начала операции&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Обязательно бэкапим все нужное.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;do_nachala_operacii&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;889-995&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;obnovljaem_sistemu_i_ustanavlivaem_neobxodimye_pakety&quot;&gt;Обновляем систему и устанавливаем необходимые пакеты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade
$ sudo apt-get install mdadm rsync&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;obnovljaem_sistemu_i_ustanavlivaem_neobxodimye_pakety&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;996-1204&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;dobavljaem_diski_v_sistemu&quot;&gt;Добавляем диски в систему&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Если сервер поддерживает hot spare - мы на коне. Если нет - можно подключить через USB или иным способом, но в случае большого количества и/или объема данных процесс будет крайне длительным и время простоя будет оочень большим. Не подходит ни один из вариантов? Выключаем сервер и добавляем диски добрым старым способом.
&lt;/p&gt;

&lt;p&gt;
Проверяем все ли диски увиделись:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo fdisk -l | grep Disk&lt;/pre&gt;

&lt;p&gt;
Убедимся что текущий системный диск это sda:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ df -h | grep -Po &amp;quot;/dev/...&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0438\u0441\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dobavljaem_diski_v_sistemu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1205-2068&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;sozdaem_fajlovye_sistemy&quot;&gt;Создаем файловые системы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Диск №1:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo fdisk /dev/sdb
p (убедимся что диск пуст)
n (создаем новый раздел)
p (тип: первичный)
1 (номер партиции)
[Enter]
[Enter] (все пространство под наш новый раздел)
t (тип раздела)
fd (Linux raid auto)
w (записываем изменения и выходим)&lt;/pre&gt;

&lt;p&gt;
Повторяем то же самое для диска №2:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo fdisk /dev/sdc
p (убедимся что диск пуст)
n (создаем новый раздел)
p (тип: первичный)
1 (номер партиции)
[Enter]
[Enter] (все пространство под наш новый раздел)
t (тип раздела)
fd (Linux raid auto)
w (записываем изменения и выходим)&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sozdaem_fajlovye_sistemy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2069-2980&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;sozdaem_raid-1_zerkalo&quot;&gt;Создаем RAID-1 (зеркало)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1&lt;/pre&gt;

&lt;p&gt;
Какое-то время будет создаваться рейд, в этом можно убедиться глядя на индикаторы обращения к дискам. Посмотреть текущий статус можно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mdadm -D /dev/md0&lt;/pre&gt;

&lt;p&gt;
Добавляем информацию о новом массиве в конфигурационный файл:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mdadm --examine --scan &amp;gt;&amp;gt; /etc/mdadm/mdadm.conf&lt;/pre&gt;

&lt;p&gt;
Проверяем название массива - оно должно быть прописано правильно! В противном случае мы получим так называемую проблему «md127» (массив виден, но его имя /dev/md127).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u0435\u043c RAID-1 (\u0437\u0435\u0440\u043a\u0430\u043b\u043e)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sozdaem_raid-1_zerkalo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2981-3894&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;sozdaem_razdely&quot;&gt;Создаем разделы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Смотрим какие разделы были созданы на основном диске:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo fdisk -l /dev/sda&lt;/pre&gt;

&lt;p&gt;
и создаем такие же на новом RAID-массиве:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo fdisk /dev/md0&lt;/pre&gt;

&lt;p&gt;
Размер выбираем по желанию.
&lt;/p&gt;
&lt;div class=&quot;plugin_note noteimportant&quot;&gt;Не забываем сделать первый раздел загрузочным!
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sozdaem_razdely&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3895-4348&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;sozdaem_fajlovye_sistemy1&quot;&gt;Создаем файловые системы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
У меня один общий раздел / и один раздел swap, так что в этом случае все просто:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mkfs.ext4 /dev/md0p1
$ sudo mkswap /dev/md0p5&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sozdaem_fajlovye_sistemy1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4349-4614&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;perenosim_fajlovuju_sistemu&quot;&gt;Переносим файловую систему&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;plugin_note noteimportant&quot;&gt;Примечание: копирование идет пофайлово, поэтому если у вас работают какие-то сервисы и вносятся изменения в данные (СУБД, веб-сервер и т.д.) необходимо в дальнейшем перед перезагрузкой остановить эти сервисы и сделать выборочное копирование информации или решить вопрос при помощи импорта/экспорта. В противном случае есть шансы потерять какие-либо данные.
&lt;/div&gt;&lt;pre class=&quot;code&quot;&gt;$ sudo mount /dev/md0p1 /mnt
$ sudo rsync -axu / /mnt/&lt;/pre&gt;

&lt;p&gt;
Если есть желание следить за происходящим, нужно добавить &lt;strong&gt;–progress&lt;/strong&gt; в команду rsync
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;perenosim_fajlovuju_sistemu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4615-5573&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;podkljuchaem_sistemnye_katalogi_vxodim_v_novuju_sistemu&quot;&gt;Подключаем системные каталоги, входим в новую систему&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Теперь необходимо сделать настройки в новой системе, при этом не трогая оригинал. Для этого подключаем системные каталоги и переходим в новую систему.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo mount --bind /proc /mnt/proc
$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /sys /mnt/sys
$ sudo mount --bind /run /mnt/run
$ sudo chroot /mnt&lt;/pre&gt;

&lt;p&gt;
Последняя команда (chroot) переключает нас в новую копию системы, все остальные операции мы будем делать там. Это позволит сохранить рабочий диск нетронутым и при факапе вновь с него загружаться и работать.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438, \u0432\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;podkljuchaem_sistemnye_katalogi_vxodim_v_novuju_sistemu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5574-6509&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;vnosim_izmenenija_v_fstab&quot;&gt;Вносим изменения в fstab&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Чтобы система смогла загрузиться из нового места ей необходимо объяснить где у нас будут устройства (диски).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/# ls -l /dev/disk/by-uuid | grep md &amp;gt;&amp;gt; /etc/fstab
/# nano -w /etc/fstab&lt;/pre&gt;

&lt;p&gt;
Теперь правим fstab: закомментариваем старые UUID, добавляем вместо них новые. Крайне желательно не ошибаться, иначе система просто не загрузится.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u043d\u043e\u0441\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 fstab&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vnosim_izmenenija_v_fstab&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;6510-7113&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;nastraivaem_i_ustanavlivaem_grub&quot;&gt;Настраиваем и устанавливаем Grub&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Чтобы загружаться с нового массива нам нужно а)установить загрузчик и б)правильно его сконфигурировать.
&lt;/p&gt;

&lt;p&gt;
Сначала обновляем конфигурацию:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/# update-grub
/# cat /boot/grub/grub.cfg | grep UUID_нового_системного_раздела&lt;/pre&gt;
&lt;div class=&quot;plugin_note noteimportant&quot;&gt;Необходимо убедиться что новый UUID есть в обновленном конфигурационном файле!
&lt;/div&gt;
&lt;p&gt;
Теперь пора установить загрузчик на наши новые диски:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/# grub-install /dev/sdb&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Grub&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastraivaem_i_ustanavlivaem_grub&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7114-7862&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;obnovljaem_konfiguraciju_modulej_jadra&quot;&gt;Обновляем конфигурацию модулей ядра&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Это нужно сделать для нормальной работы mdadm, иначе получим вышеописанную проблему «md127»
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/# update-initramfs -u&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;obnovljaem_konfiguraciju_modulej_jadra&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7863-8141&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;vyxodim_v_realnuju_sistemu&quot;&gt;Выходим в реальную систему&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;/# exit&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vyxodim_v_realnuju_sistemu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;8142-8227&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;vosstanovlenie_rabochix_dannyx&quot;&gt;Восстановление рабочих данных&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Наступило время восстановления рабочих данных - СУБД и прочее. Но тут каждый все делает самостоятельно.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vosstanovlenie_rabochix_dannyx&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:18,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;8228-8487&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;perezagruzka_v_novuju_sistemu&quot;&gt;Перезагрузка в новую систему&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;$ sudo reboot&lt;/pre&gt;

&lt;p&gt;
Перезагружаем систему, выбираем для загрузки новые диски (через BIOS или любым другим способом), загружаемся. По идее все должно быть хорошо. На всякий случай проверяем с какого же устройства мы загрузились
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ df -h | grep -Po &amp;quot;/dev/...&amp;quot;
/dev/md0&lt;/pre&gt;

&lt;p&gt;
Ага, все хорошо, все заработало.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432 \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;perezagruzka_v_novuju_sistemu&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:18,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;8488-9072&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;zakljuchenie&quot;&gt;Заключение&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Осталось протестировать работу системы и придумать что сделать с освободившимся диском: пустить его в hot swap, под хранение данных или просто выкинуть.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=ubuntu&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; ubuntu&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/server?do=showtag&amp;amp;tag=server&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:server&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; server&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/migration?do=showtag&amp;amp;tag=migration&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:migration&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; migration&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/production?do=showtag&amp;amp;tag=production&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:production&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; production&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/raid?do=showtag&amp;amp;tag=raid&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:raid&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; raid&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/mdadm?do=showtag&amp;amp;tag=mdadm&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:mdadm&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; mdadm&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/migracija_sistemy?do=showtag&amp;amp;tag=%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:migracija_sistemy&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; миграция системы&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/migracija_sistemnogo_razdela?do=showtag&amp;amp;tag=%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B0&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:migracija_sistemnogo_razdela&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; миграция системного раздела&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zakljuchenie&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:20,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;9073-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 04 Aug 2024 11:55:38 +0000</pubDate>
        </item>
        <item>
            <title>Почему RAID-6?</title>
            <link>https://wiki.rtzra.ru/software/mdadm/why-raid6</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pochemu_raid-6&quot;&gt;Почему RAID-6?&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0447\u0435\u043c\u0443 RAID-6?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pochemu_raid-6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-36&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;v_kachestve_vstuplenija&quot;&gt;В качестве вступления&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Отсюда: &lt;a href=&quot;http://habrahabr.ru/post/214707/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/post/214707/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/post/214707/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Диски имеют параметр, именуемый Unrecoverable Read Error Rate, который на современных бюджетных моделях SATA составляет 1 сектор на каждые сто триллионов битов. Т.е. примерно из каждых записанных 12Тб диск один раз скажет «прости, хозяин, но выдать обратно нужный сектор совершенно никак невозможно; ошибка чтения». Это методическая ошибка, заложенная производителем и потому &lt;strong&gt;теоретически гарантирующая невозможность реконструкции массива RAID5 емкостью более 12Тб на дешевых дисках&lt;/strong&gt; (справедливости ради отметим, что URE на дисках SAS, как минимум, на порядок меньше, а критический объем, соответственно, больше). Эпитафию RAID5 написал Robin Harris в своей статье «Why RAID 5 stops working in 2009» &lt;a href=&quot;http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162&quot; class=&quot;urlextern&quot; title=&quot;http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v_kachestve_vstuplenija&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;37-1409&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;pochemu_raid-61&quot;&gt;Почему RAID-6?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Источник: &lt;a href=&quot;http://habrahabr.ru/blogs/linux/111036/&quot; class=&quot;urlextern&quot; title=&quot;http://habrahabr.ru/blogs/linux/111036/&quot; rel=&quot;ugc nofollow&quot;&gt;http://habrahabr.ru/blogs/linux/111036/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Как известно, RAID-5 выдерживает смерть одного веника, и после этой самой смерти – до момента когда закончится восстановление рейда с новым винчестером ваши данные под угрозой – восстановление обычно занимало до 70 часов для больших массивов и еще один веник может легко умереть в это время. RAID-6 выдерживает смерть 2-х любых веников. Из минусов – общепризнанное мнение что тормозит, особенно запись, даже по сравнению с RAID-5. Что-ж, проверим.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0447\u0435\u043c\u0443 RAID-6?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pochemu_raid-61&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1410-2302&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;pochemu_softrejd&quot;&gt;Почему софтрейд?&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Железный рейд нужен только в одном случае – если у него есть батарейка и набортный кеш. Тогда контроллер сразу отвечает ОС что запись на диск завершена на физическом уровне и всякие ACID базы работают очень быстро и безопасно.&lt;br /&gt;
В остальных случаях никаких бонусов по сравнению с софт-рейдом нет, одни минусы:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сгорело железо? Новый сервер? Будьте добры купить тот же контроллер, ну или молитесь о совместимости. Софтрейд из тех-же дисков собирается где угодно.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Цена. Собственно, из-за этого нормальных рейдов с батарейкой я в руках так ниразу и не держал&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Ну а те «рейд-контроллеры» которые стоят на обычных материнских платах – вообще никогда не стоит использовать. Они просто дают грузить ОС с рейда за счет набортного биоса (который выполняется центральным процессором, своего процессора нет), на этом их польза заканчивается, и остаются только минусы.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u043e\u0444\u0442\u0440\u0435\u0439\u0434?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pochemu_softrejd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2303-3907&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;o_pare_mifov_softrejda&quot;&gt;О паре мифов софтрейда&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Он жрет много драгоценного процессора&lt;/strong&gt;. Если мы одним глазком глянем в исходники драйвера RAID в ядре Linux, то увидем, что там давно все оптимизированно под SSE2. А с SSE2 процессор может считать XOR от 16 байт за 1 такт на 1 ядре современного процессора и все упирается в скорость обмена с памятью. Можете прикинуть сколько % загрузки одного ядра сгенерирует поток в 1Гб/сек &lt;img src=&quot;https://wiki.rtzra.ru/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; А ядер то много &lt;img src=&quot;https://wiki.rtzra.ru/lib/images/smileys/smile.svg&quot; class=&quot;icon smiley&quot; alt=&quot;:-)&quot; /&gt; На практике, с моим Opteron 165 (1.8Ghz 2 ядра) скорость никогда не упиралась в CPU.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Он разваливается и потом хрен соберешь&lt;/strong&gt;. Если что-то и отваливается – то из-за железа (например обычные винты любят иногда делать всякие фоновые задачи). Добавление вывалившегося веника – простая операция, которая кроме того может проводится автоматически. Впрочем, в среднем это надо делать раз в год. &lt;pre class=&quot;code&quot;&gt;# mdadm /dev/md0 -a /dev/sde1&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;У софтрейда хреновый мониторинг&lt;/strong&gt;. С мониторингом все отлично и настраиваемо. Достаточно например просто мыло указать в конфиге mdadm и он пришлет вам письмо если что-то случиться с вашим массивом. Очень удобно. Вот например что приходит если один веник отвалился: &lt;pre class=&quot;code&quot;&gt;    This is an automatically generated mail message from mdadm running on XXXXX
    A DegradedArray event had been detected on md device /dev/md0.
    Faithfully yours, etc.
    P.S. The /proc/mdstat file currently contains the following:
    Personalities: [raid6] [raid5] [raid4]
    md0: active raid6 sda1[1] sdc1[4] sdd1[3] sde1[2]
    2929683456 blocks super 1.2 level 6, 1024k chunk, algorithm 2 [5/4] [_UUUU]
    unused devices: none&lt;/pre&gt;

&lt;p&gt;
 Рекоменую протестировать перед использованием: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mdadm --monitor -1 -m myname@myisp.com /dev/md0 -t&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;У софтрейда очень низкая скорость перестройки массива&lt;/strong&gt;. В дефолтной конфигурации – да. А если вы дочитаете до конца статьи – узнаете как сделать так, чтобы все перестраивалось со скоростью самого медленного веника.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e \u043f\u0430\u0440\u0435 \u043c\u0438\u0444\u043e\u0432 \u0441\u043e\u0444\u0442\u0440\u0435\u0439\u0434\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;o_pare_mifov_softrejda&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3908-6893&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;o_roli_bitmap&quot;&gt;О роли bitmap&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Linux-овый софтрейд поддерживает замечательную фичу: bitmap. Там отмечаются измененные блоки на диске, и если у вас почему-то отвалился один диск из массива, а потом вы его обратно добавили – полная перестройка массива не нужна. Чертовски полезно. Хранить можно на самом рейде – internal, а можно в отдельном файле – но тут есть ограничения (на тип ФС например). Я сделал internal bitmap. И зря. Internal bitmap тормозит безбожно т.к. постоянно дергается головка веников при записи.
&lt;/p&gt;

&lt;p&gt;
Посмотрим на скорость:
&lt;/p&gt;

&lt;p&gt;
Скорость можно тестировать например так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# time sh -c «dd if=/dev/zero of=ddfile bs=1M count=5000»
# time sh -c «dd if=ddfile of=/dev/null bs=1M count=5000»&lt;/pre&gt;

&lt;p&gt;
Результаты для моего RAID-6 из 5xWD 1Тб получились следующие: чтение 268МБ/сек, запись 37МБ/сек. Все разводят руками и говорят: ну а чего же вы хотели? RAID-6 тормозит при записи, ведь ему надо прочитать то что было записано раньше, чтобы посчитать обновленные контрольные суммы для всех дисков. А еще и этот bitmap…&lt;br /&gt;
Скорость перестройки массива – около 25МБ/сек – полная перестройка массива до 15 часов. Вот он, ваш ночной кошмар.
&lt;/p&gt;

&lt;p&gt;
Решаются проблемы просто:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; У драйвера рейда в Linux есть такой полезный параметр: &lt;strong&gt;stripe_cache_size&lt;/strong&gt;, значение по умолчанию которого равно 256. Слишком низкое значение – резко снижает скорость записи (как оказалось). Оптимальное значение для многих – 8192. Это — кол-во блоков памяти на 1 диск. 1 блок это обычно 4kb (зависит от платформы), для 5-и дискового массива кеш займет 8192*4кб*5 = 160МБ. &lt;pre class=&quot;code&quot;&gt;# echo 8192 &amp;gt; /sys/block/md0/md/stripe_cache_size&lt;/pre&gt;

&lt;p&gt;
 Действовать начинает моментально. Теперь в большинстве случаев драйверу не приходится читать диск перед записью (особенно при линейной записи), и производительность резко вырастает. После перезагрузки пропадает, чтобы не пропало — добавляем в какой-нибуть /etc/rc.local например. Скорость перестройки массива теперь – 66МБ/сек (это сразу по всем дискам, около 5 часов на весь массив), скорость чтения осталась той-же, а вот скорость записи – выросла до 130МБ/сек (с 37).
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Переносим bitmap на отдельный диск (в моём случае — системный). Если системный веник сдохнет — ничего страшного, массив восстановится и без bitmap-а. Головка больше не дергается при записи лишний раз, и скорость записи вырастает до 165МБ/сек. &lt;pre class=&quot;code&quot;&gt;# mdadm -G /dev/md0 -b /var/md0_intent&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Итак, за 10 секунд мы подняли скорость записи с удручающих 37 МБ/сек до вполне приличных 165 МБ/сек (более чем в 4 раза!!). Теперь через Samba по сети файлы и пишутся и читаются 95-100 МБ/сек, и планировавшийся из-за низкой скорости рейда апгрейд сервера придется отложить на неопределенное время – производительности дохленького Opteron 165 теперь с лихвой хватает для всех поставленных задач.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/linux?do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=ubuntu&quot; class=&quot;wikilink1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;ubuntu&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/raid?do=showtag&amp;amp;tag=raid&quot; class=&quot;wikilink1&quot; title=&quot;tag:raid&quot; rel=&quot;tag&quot;&gt;raid&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/raid-6?do=showtag&amp;amp;tag=raid-6&quot; class=&quot;wikilink1&quot; title=&quot;tag:raid-6&quot; rel=&quot;tag&quot;&gt;raid-6&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e \u0440\u043e\u043b\u0438 bitmap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;o_roli_bitmap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6894-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 04 Aug 2024 11:54:20 +0000</pubDate>
        </item>
    </channel>
</rss>
