xg-scale

diff raid.tex @ 0:4730a0d07d88

Исходники курса после первого прочтения.
Правки (которых должно быть много),
ещё пока не вносились.
author Igor Chubin <igor@chub.in>
date Tue Jul 01 16:16:44 2008 +0300 (2008-07-01)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/raid.tex	Tue Jul 01 16:16:44 2008 +0300
     1.3 @@ -0,0 +1,446 @@
     1.4 +\section{Программный RAID в Linux}
     1.5 +
     1.6 +Здесь рассматриваются вопросы создания и обслуживания программного RAID-массива в операционной системе Linux.
     1.7 +
     1.8 +\subsection{mdadm}
     1.9 +Управление программным RAID-массивом в Linux
    1.10 +выполняется с помощью программы \textbf{mdadm}.
    1.11 +
    1.12 +У программы \textbf{mdadm} есть несколько режимов работы.
    1.13 +
    1.14 +\begin{itemize}
    1.15 +\item \textbf{Assemble (сборка)} — Собрать компоненты ранее созданного массива в массив. Компоненты можно указывать явно, но можно и не указывать — тогда выполняется их поиск по суперблокам.
    1.16 +\item \textbf{Build (построение)} — Собрать массив из компонентов, у которых нет суперблоков. Не выполняются никакие проверки, создание и сборка массива в принципе ничем не отличаются.
    1.17 +\item \textbf{Create (создание)} — Созать новый массив на основе указанных устройств. Использовать суперблоки размещённые на каждом устройстве.
    1.18 +\item \textbf{Monitor (наблюдение)} — Следить на изменением состояния устройств. Для RAID0 этот режим не имеет смысла.
    1.19 +\item \textbf{Grow (расширение или уменьшение)} — Расширение или уменьшение массива, включаются или удаляются новые диски.
    1.20 +\item \textbf{Incremental Assembly (инкрементальная сборка)} — Добавление диска в массив.
    1.21 +\item \textbf{Manage (управление)} — Разнообразные операции по управлению массивом, такие как замена диска и пометка как сбойного.
    1.22 +\item \textbf{Misc (разное)} — Действия, которые не относятся ни к одному из перечисленных выше режимов работы.
    1.23 +\item \textbf{Auto-detect (автоообнаружение)} — Активация автоматически обнаруживаемых массивов в ядре Linux.
    1.24 +\end{itemize}
    1.25 +
    1.26 +Формат вызова:
    1.27 +
    1.28 +\begin{verbatim}
    1.29 +    mdadm [mode] [array] [options]
    1.30 +\end{verbatim}
    1.31 +
    1.32 +Режимы:
    1.33 +\begin{itemize}
    1.34 +\item  \texttt{-A}, \texttt{--assemble} — режим сборки
    1.35 +\item  \texttt{-B}, \texttt{--build} — режим построения
    1.36 +\item  \texttt{-C}, \texttt{--create} — режим создания
    1.37 +\item  \texttt{-F}, \texttt{--follow}, \texttt{--monitor} — режим наблюдения
    1.38 +\item  \texttt{-G}, \texttt{--grow} — режим расширения
    1.39 +\item  \texttt{-I}, \texttt{--incremental} — режим инкрементальной сборки
    1.40 +\end{itemize}
    1.41 +
    1.42 +\subsection{Настройка программного RAID-массива}
    1.43 +Рассмотрим как выполнить настройку RAID-массива 5 уровня
    1.44 +на трёх дисковых разделах.
    1.45 +Мы будем использовать разделы:
    1.46 +\begin{verbatim}
    1.47 +   /dev/hde1
    1.48 +   /dev/hdf2
    1.49 +   /dev/hdg1
    1.50 +\end{verbatim}
    1.51 +
    1.52 +В том случае если разделы иные, 
    1.53 +не забудьте использовать соответствующие имена файлов.
    1.54 +
    1.55 +\subsubsection{Создание разделов}
    1.56 +Нужно определить на каких физических разделах 
    1.57 +будет создаваться RAID-массив.
    1.58 +Если разделы уже есть, нужно найти свободные (\textit{fdisk -l}).
    1.59 +Если разделов ещё нет, но есть неразмеченное место, 
    1.60 +их можно создать с помощью программ \textit{fdisk} или \textit{cfdisk}.
    1.61 +
    1.62 +Просмотреть какие есть разделы:
    1.63 +
    1.64 +\begin{verbatim}
    1.65 +   %# fdisk -l
    1.66 +\end{verbatim}
    1.67 +
    1.68 +\begin{verbatim}
    1.69 +   Disk /dev/hda: 12.0 GB, 12072517632 bytes
    1.70 +   255 heads, 63 sectors/track, 1467 cylinders
    1.71 +   Units = cylinders of 16065 * 512 = 8225280 bytes
    1.72 +\end{verbatim}
    1.73 +
    1.74 +\begin{verbatim}
    1.75 +   Device Boot    Start       End    Blocks   Id  System
    1.76 +   /dev/hda1   *         1        13    104391   83  Linux
    1.77 +   /dev/hda2            14       144   1052257+  83  Linux
    1.78 +   /dev/hda3           145       209    522112+  82  Linux swap
    1.79 +   /dev/hda4           210      1467  10104885    5  Extended
    1.80 +   /dev/hda5           210       655   3582463+  83  Linux
    1.81 +   ...
    1.82 +   ...
    1.83 +   /dev/hda15         1455      1467    104391   83  Linux
    1.84 +\end{verbatim}
    1.85 +
    1.86 +Просмотреть, какие разделы куда смонтированы, 
    1.87 +и сколько свободного места есть на них (размеры в килобайтах):
    1.88 +
    1.89 +\begin{verbatim}
    1.90 +   %# df -k
    1.91 +   Filesystem           1K-blocks      Used Available Use% Mounted on
    1.92 +   /dev/hda2              1035692    163916    819164  17% /
    1.93 +   /dev/hda1               101086      8357     87510   9% /boot
    1.94 +   /dev/hda15              101086      4127     91740   5% /data1
    1.95 +   ...
    1.96 +   ...
    1.97 +   ...
    1.98 +   /dev/hda7              5336664    464228   4601344  10% /var
    1.99 +\end{verbatim}
   1.100 +
   1.101 +\subsubsection{Размонтирование}
   1.102 +Если вы будете использовать созданные ранее разделы, 
   1.103 +обязательно размонтируйте их. RAID-массив нельзя создавать
   1.104 +поверх разделов, на которых находятся смонтированные файловые системы.
   1.105 +
   1.106 +\begin{verbatim}
   1.107 +   %# umount /dev/hde1
   1.108 +   %# umount /dev/hdf2
   1.109 +   %# umount /dev/hdg1
   1.110 +\end{verbatim}
   1.111 +
   1.112 +\subsubsection{Изменение типа разделов}
   1.113 +Желательно (но не обязательно) изменить тип разделов, которые будут
   1.114 +входить в RAID-массив и установить его равным FD (Linux RAID autodetect).
   1.115 +Изменить тип раздела можно с помощью fdisk.
   1.116 +
   1.117 +Рассмотрим как это делать на примере раздела \texttt{/dev/hde1}.
   1.118 +\begin{verbatim}
   1.119 +    %# fdisk /dev/hde
   1.120 +    The number of cylinders for this disk is set to 8355. 
   1.121 +    There is nothing wrong with that, but this is larger than 1024,
   1.122 +    and could in certain setups cause problems with:
   1.123 +    1) software that runs at boot time (e.g., old versions of LILO)
   1.124 +    2) booting and partitioning software from other OSs
   1.125 +    (e.g., DOS FDISK, OS/2 FDISK)
   1.126 +
   1.127 +    Command (m for help):
   1.128 +
   1.129 +    Use FDISK Help
   1.130 +
   1.131 +    Now use the fdisk m command to get some help:
   1.132 +
   1.133 +    Command (m for help): m
   1.134 +    ...
   1.135 +    ...
   1.136 +    p   print the partition table
   1.137 +    q   quit without saving changes
   1.138 +    s   create a new empty Sun disklabel
   1.139 +    t   change a partition's system id
   1.140 +    ...
   1.141 +    ...
   1.142 +    Command (m for help):
   1.143 +
   1.144 +    Set The ID Type To FD
   1.145 +
   1.146 +    Partition /dev/hde1 is the first partition on disk /dev/hde. 
   1.147 +    Modify its type using the t command, and specify the partition number 
   1.148 +    and type code. 
   1.149 +    You also should use the L command to get a full listing 
   1.150 +    of ID types in case you forget.
   1.151 +
   1.152 +    Command (m for help): t
   1.153 +    Partition number (1-5): 1
   1.154 +    Hex code (type L to list codes): L
   1.155 +
   1.156 +    ...
   1.157 +    ...
   1.158 +    ...
   1.159 +    16  Hidden FAT16    61   SpeedStor       f2  DOS secondary
   1.160 +    17  Hidden HPFS/NTF 63  GNU HURD or Sys fd  Linux raid auto
   1.161 +    18  AST SmartSleep  64  Novell Netware  fe  LANstep
   1.162 +    1b  Hidden Win95 FA 65  Novell Netware  ff  BBT
   1.163 +    Hex code (type L to list codes): fd
   1.164 +    Changed system type of partition 1 to fd (Linux raid autodetect)
   1.165 +
   1.166 +    Command (m for help):
   1.167 +
   1.168 +
   1.169 +    Make Sure The Change Occurred
   1.170 +
   1.171 +    Use the p command to get the new proposed partition table:
   1.172 +
   1.173 +    Command (m for help): p
   1.174 +
   1.175 +    Disk /dev/hde: 4311 MB, 4311982080 bytes
   1.176 +    16 heads, 63 sectors/track, 8355 cylinders
   1.177 +    Units = cylinders of 1008 * 512 = 516096 bytes
   1.178 +
   1.179 +    Device Boot    Start       End    Blocks   Id  System
   1.180 +    /dev/hde1             1      4088   2060320+  fd  Linux raid autodetect
   1.181 +    /dev/hde2          4089      5713    819000   83  Linux
   1.182 +    /dev/hde4          6608      8355    880992    5  Extended
   1.183 +    /dev/hde5          6608      7500    450040+  83  Linux
   1.184 +    /dev/hde6          7501      8355    430888+  83  Linux
   1.185 +
   1.186 +    Command (m for help):
   1.187 +
   1.188 +
   1.189 +    Save The Changes
   1.190 +
   1.191 +    Use the w command to permanently save the changes to disk /dev/hde:
   1.192 +
   1.193 +    Command (m for help): w
   1.194 +    The partition table has been altered!
   1.195 +
   1.196 +    Calling ioctl() to re-read partition table.
   1.197 +
   1.198 +    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
   1.199 +    The kernel still uses the old table.
   1.200 +    The new table will be used at the next reboot.
   1.201 +    Syncing disks.
   1.202 +\end{verbatim}
   1.203 +
   1.204 +Аналогичным образом нужно изменить тип раздела
   1.205 +для всех остальных разделов, входящих в RAID-массив.
   1.206 +
   1.207 +\subsubsection{Создание RAID-массива}
   1.208 +Создание RAID-массива выполняется с помощью программы \textbf{mdadm} (ключ \verb|--create|).
   1.209 +Мы воспользуемся опцией \verb|--level|, для того чтобы создать RAID-массив 5 уровня.
   1.210 +С помощью ключа \verb|--raid-devices| укажем устройства, поверх которых будет собираться
   1.211 +RAID-массив.
   1.212 +\begin{verbatim}
   1.213 +    %# mdadm --create --verbose /dev/md0 --level=5 \
   1.214 +    --raid-devices=3 /dev/hde1 /dev/hdf2 /dev/hdg1
   1.215 +
   1.216 +    mdadm: layout defaults to left-symmetric
   1.217 +    mdadm: chunk size defaults to 64K
   1.218 +    mdadm: /dev/hde1 appears to contain an ext2fs file system
   1.219 +        size=48160K  mtime=Sat Jan 27 23:11:39 2007
   1.220 +    mdadm: /dev/hdf2 appears to contain an ext2fs file system
   1.221 +        size=48160K  mtime=Sat Jan 27 23:11:39 2007
   1.222 +    mdadm: /dev/hdg1 appears to contain an ext2fs file system
   1.223 +        size=48160K  mtime=Sat Jan 27 23:11:39 2007
   1.224 +    mdadm: size set to 48064K
   1.225 +    Continue creating array? y
   1.226 +    mdadm: array /dev/md0 started.
   1.227 +\end{verbatim}
   1.228 +
   1.229 +Если вы хотите сразу создать массив, где диска не хватает (degraded)
   1.230 +просто укажите слово \texttt{missing} вместо имени устройства.
   1.231 +Для RAID5 это может быть только один диск; для RAID6 — не более двух;
   1.232 +для RAID1 — сколько угодно, но должен быть как минимум один рабочий.
   1.233 +
   1.234 +\subsubsection{Проверка правильности сборки}
   1.235 +Убедиться, что RAID-массив проинициализирован корректно
   1.236 +можно просмотрев файл \texttt{/proc/mdstat}.
   1.237 +В этом файле отражается текущее состояние RAID-массива.
   1.238 +\begin{verbatim}
   1.239 +    %# cat /proc/mdstat
   1.240 +    Personalities : [raid5]
   1.241 +    read_ahead 1024 sectors
   1.242 +    md0 : active raid5 hdg1[2] hde1[1] hdf2[0]
   1.243 +        4120448 blocks level 5, 32k chunk, algorithm 3 [3/3] [UUU]
   1.244 +
   1.245 +    unused devices: <none>
   1.246 +\end{verbatim}
   1.247 +
   1.248 +Обратите внимание на то, как называется новый RAID-массив.
   1.249 +В нашем случае он называется \texttt{/dev/md0}.
   1.250 +Мы будем обращаться к массиву по этому имени.
   1.251 +
   1.252 +\subsubsection{Создание файловой системы поверх RAID-массива}
   1.253 +Новый RAID-раздел нужно отформатировать, т.е. создать на нём файловую систему.
   1.254 +Сделать это можно при помощи программы из семейства \textbf{mkfs}.
   1.255 +Если мы будем создавать файловую систему ext3, воспользуемся программой \textbf{mkfs.ext3}:
   1.256 +\begin{verbatim}
   1.257 +    %# mkfs.ext3 /dev/md0
   1.258 +    mke2fs 1.39 (29-May-2006)
   1.259 +    Filesystem label=
   1.260 +    OS type: Linux
   1.261 +    Block size=1024 (log=0)
   1.262 +    Fragment size=1024 (log=0)
   1.263 +    36144 inodes, 144192 blocks
   1.264 +    7209 blocks (5.00%) reserved for the super user
   1.265 +    First data block=1
   1.266 +    Maximum filesystem blocks=67371008
   1.267 +    18 block groups
   1.268 +    8192 blocks per group, 8192 fragments per group
   1.269 +    2008 inodes per group
   1.270 +    Superblock backups stored on blocks: 
   1.271 +            8193, 24577, 40961, 57345, 73729
   1.272 +
   1.273 +    Writing inode tables: done
   1.274 +    Creating journal (4096 blocks): done
   1.275 +    Writing superblocks and filesystem accounting information: done
   1.276 +
   1.277 +    This filesystem will be automatically checked every 33 mounts or
   1.278 +    180 days, whichever comes first.  Use tune2fs -c or -i to override.
   1.279 +\end{verbatim}
   1.280 +
   1.281 +\subsubsection{Создание конфигурационного файла mdadm.conf}
   1.282 +Система сама не запоминает какие RAID-массивы ей нужно создать
   1.283 +и какие компоненты в них входят.
   1.284 +Эта информация находится в файле \texttt{mdadm.conf}.
   1.285 +
   1.286 +Строки, которые следует добавить в этот файл, 
   1.287 +можно получить при помощи команды 
   1.288 +\begin{verbatim}
   1.289 + mdadm --detail --scan --verbose
   1.290 +\end{verbatim}
   1.291 +
   1.292 +Вот пример её использования:
   1.293 +
   1.294 +\begin{verbatim}
   1.295 +    %# mdadm --detail --scan --verbose
   1.296 +    ARRAY /dev/md0 level=raid5 num-devices=4 
   1.297 +    UUID=77b695c4:32e5dd46:63dd7d16:17696e09
   1.298 +    devices=/dev/hde1,/dev/hdf2,/dev/hdg1
   1.299 +\end{verbatim}
   1.300 +
   1.301 +Если файла \texttt{mdadm.conf} ещё нет, можно его создать:
   1.302 +\begin{verbatim}
   1.303 +    %# mdadm --detail --scan --verbose > /etc/mdadm.conf
   1.304 +\end{verbatim}
   1.305 +
   1.306 +\subsubsection{Создание точки монтирования для RAID-массива}
   1.307 +Поскольку мы создали новую файловую систему, вероятно, 
   1.308 +нам понадобится и новая точка монтирования.
   1.309 +Назовём её \texttt{/raid}.
   1.310 +\begin{verbatim}
   1.311 +    %# mkdir /raid
   1.312 +\end{verbatim}
   1.313 +
   1.314 +\subsubsection{Изменение /etc/fstab}
   1.315 +Для того чтобы файловая система, созданная на новом RAID-массиве автоматически монтировалась
   1.316 +при загрузке, добавим соотвествующую запись в файл \texttt{/etc/fstab}
   1.317 +хранящий список автоматически монтируемых при загрузке файловых систем.
   1.318 +\begin{verbatim}
   1.319 +   /dev/md0      /raid     ext3    defaults    1 2
   1.320 +\end{verbatim}
   1.321 +
   1.322 +Если мы объединяли в RAID-массив разделы, которые использовались раньше, 
   1.323 +нужно отключить их монтирование: удалить или закомментировать соответствующие строки
   1.324 +в файле \texttt{/etc/fstab}.
   1.325 +Закомментировать строку можно символом \texttt{\#}.
   1.326 +\begin{verbatim}
   1.327 +    #/dev/hde1       /data1        ext3    defaults        1 2
   1.328 +    #/dev/hdf2       /data2        ext3    defaults        1 2
   1.329 +    #/dev/hdg1       /data3        ext3    defaults        1 2
   1.330 +\end{verbatim}
   1.331 +
   1.332 +\subsubsection{Монтирование файловой системы нового RAID-массива}
   1.333 +Для того чтобы получить доступ к файловой системе, расположенной на новом RAID-массиве, 
   1.334 +её нужно смонтировать. Монтирование выполняется с помощью команды \textbf{mount}.
   1.335 +
   1.336 +Если новая файловая система добавлена в файл \texttt{/etc/fstab},
   1.337 +можно смонтировать её командой \textbf{mount} \texttt{-a}
   1.338 +(смонтируются все файловые системы, которые должны монтироваться при загрузке, но сейчас не смонтированы).
   1.339 +\begin{verbatim}
   1.340 +   %# mount -a
   1.341 +\end{verbatim}
   1.342 +Можно смонтировать только нужный нам раздел (при условии, что он указан в \texttt{/etc/fstsb}).
   1.343 +\begin{verbatim}
   1.344 +   %# mount /raid
   1.345 +\end{verbatim}
   1.346 +Если раздел в \texttt{/etc/fstab} не указан, то при монтировании мы должны задавать как минимум два параметра:
   1.347 +точка монтирования и монтируемое устройство:
   1.348 +\begin{verbatim}
   1.349 +   %# mount /dev/md0 /raid
   1.350 +\end{verbatim}
   1.351 +
   1.352 +\subsubsection{Проверка состояния RAID-массива}
   1.353 +Информация о состоянии RAID-массива находится в файле \texttt{/proc/mdstat}.
   1.354 +\begin{verbatim}
   1.355 +    %# raidstart /dev/md0
   1.356 +    %# cat /proc/mdstat
   1.357 +    Personalities : [raid5]
   1.358 +    read_ahead 1024 sectors
   1.359 +    md0 : active raid5 hdg1[2] hde1[1] hdf2[0]
   1.360 +        4120448 blocks level 5, 32k chunk, algorithm 3 [3/3] [UUU]
   1.361 +
   1.362 +    unused devices: <none>
   1.363 +\end{verbatim}
   1.364 +
   1.365 +\subsection{Дальнейшая работа с массивом}
   1.366 +\subsubsection{Пометка диска как сбойного}
   1.367 +Диск в массиве можно условно сделать сбойным, ключ \verb|--fail| (\texttt{-f}):
   1.368 +\begin{verbatim}
   1.369 +    %# mdadm /dev/md0 --fail /dev/hde1
   1.370 +    %# mdadm /dev/md0 -f     /dev/hde1
   1.371 +\end{verbatim}
   1.372 +
   1.373 +\subsubsection{Удаление сбойного диска}
   1.374 +Сбойный диск можно удалить с помощью ключа \verb|{--remove| (\texttt{-r}):
   1.375 +\begin{verbatim}
   1.376 +    %# mdadm /dev/md0 --remove /dev/hde1
   1.377 +    %# mdadm /dev/md0 -r       /dev/hde1
   1.378 +\end{verbatim}
   1.379 +
   1.380 +\subsubsection{Добавление нового диска}
   1.381 +Добавить новый диск в массив можно с помощью ключей \verb|--add| (\texttt{-a}) 
   1.382 +и \verb|--re-add|:
   1.383 +\begin{verbatim}
   1.384 +    %# mdadm /dev/md0 --add /dev/hde1
   1.385 +    %# mdadm /dev/md0 -a    /dev/hde1
   1.386 +\end{verbatim}
   1.387 +
   1.388 +\subsubsection{Сборка существующего массива}
   1.389 +Собрать существующий массив можно с помощью \textbf{mdadm} \texttt{--assemble}.
   1.390 +Как дополнительный аргумент указывается,
   1.391 +нужно ли выполнять сканирование устройств, и если нет, то
   1.392 +какие устройства нужно собирать.
   1.393 +\begin{verbatim}
   1.394 +    %# mdadm --assemble /dev/md0 /dev/hde1 /dev/hdf2 /dev/hdg1
   1.395 +    %# mdadm --assemble --scan
   1.396 +\end{verbatim}
   1.397 +
   1.398 +\subsubsection{Расширение массива}
   1.399 +Расширить массив можно с помощью ключа \texttt{--grow} (\texttt{-G}).
   1.400 +Сначала добавляется диск, а потом массив расширяется:
   1.401 +\begin{verbatim}
   1.402 +    %# mdadm /dev/md0 --add /dev/hdh2
   1.403 +\end{verbatim}
   1.404 +
   1.405 +Проверяем, что диск (раздел) добавился:
   1.406 +
   1.407 +\begin{verbatim}
   1.408 +    %# mdadm --detail /dev/hdh2
   1.409 +    %# cat /proc/mdstat
   1.410 +\end{verbatim}
   1.411 +
   1.412 +Если раздел действительно добавился, 
   1.413 +мы можем расширить массив:
   1.414 +
   1.415 +\begin{verbatim}
   1.416 +    %# mdadm -G /dev/md0 --raid-devices=4
   1.417 +\end{verbatim}
   1.418 +
   1.419 +Убедитесь, что массив расширился:
   1.420 +
   1.421 +\begin{verbatim}
   1.422 +    %# cat /proc/mdstat
   1.423 +\end{verbatim}
   1.424 +
   1.425 +Нужно обновить обновить конфигурационный файл с учётом сделанных
   1.426 +изменений:
   1.427 +
   1.428 +\begin{verbatim}
   1.429 +    %# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
   1.430 +    %# vi /etc/mdadm/mdadm.conf
   1.431 +\end{verbatim}
   1.432 +
   1.433 +\subsection{Дополнительная информация}
   1.434 +\begin{itemize}
   1.435 +\item \htmladdnormallinkfoot{Программный RAID в Linux}{http://xgu.ru/wiki/raid} (рус.)
   1.436 +\item \htmladdnormallinkfoot{man mdadm}{http://linux.die.net/man/8/mdadm} (англ.)
   1.437 +\item \htmladdnormallinkfoot{man mdadm.conf}{http://linux.die.net/man/5/mdadm.conf} (англ.)
   1.438 +\item \htmladdnormallinkfoot{Linux Software RAID}{http://www.linuxhomenetworking.com/wiki/index.php/Quick\_HOWTO\_:\_Ch26\_:\_Linux\_Software\_RAID} (англ.)
   1.439 +\item \htmladdnormallinkfoot{HOWTO Gentoo Install on Software RAID}{http://gentoo-wiki.com/HOWTO\_Gentoo\_Install\_on\_Software\_RAID} (англ.)
   1.440 +\item \htmladdnormallinkfoot{HOWTO Migrate To RAID}{http://gentoo-wiki.com/HOWTO\_Migrate\_To\_RAID} (англ.)
   1.441 +\item \htmladdnormallinkfoot{Remote Conversion to Linux Software RAID-1 for Crazy Sysadmins HOWTO}{http://togami.com/~warren/guides/remoteraidcrazies/} (англ.)
   1.442 +\item \htmladdnormallinkfoot{Migrating To RAID1 Mirror on Sarge}{http://www.debian-administration.org/articles/238} (англ.)
   1.443 +\end{itemize}
   1.444 +
   1.445 +Производительность программных RAID-массивов:
   1.446 +\begin{itemize}
   1.447 +\item Adventures With Linux RAID: \htmladdnormallinkfoot{Part 1}{http://opennfo.wordpress.com/2007/09/02/adventures-with-linux-raid-part-1/}, \htmladdnormallinkfoot{Part 2}{http://opennfo.wordpress.com/2007/09/08/adventures-with-linux-raid-part-2/} (англ.)
   1.448 +\end{itemize}
   1.449 +