RCv2
.pdfПорядок выполнения работы
1.Создать и добавить новый образ диска (VDI) к образу виртуальной машины
2.Создать разделы (количество зависит от того, какой RAID строите) одинакового размера с помощью fdisk и пометить как linux raid auto
3.В отдельном терминале проследить cat /proc/mdstat
4.Собрать RAID с помощью mdadm
5.Создать на созданном RAID файловую систему ext4
6.Смонтировать созданную файловую систему
7.Создать raid.txt с произвольным содержимым
8.Разрушить один из разделов RAID и проследить за происходящим в /proc/mdstat
9.Проверить целостность файла raid.txt
Описание лабораторной установки
1.Установленный VirtualBox
2.Ubuntu установленная на VirtualBox
3.sudo apt-get install mdadm.
Пример построения RAID 5
fdisk /dev/sdb
|
Command (m for help) : p |
|
Disk /dev/sdb: 64.5 GB, 64424509440 bytes |
|
257 heads, 64 sectors/track, 6275 cylinders, total 106558500 sectors |
|
Units = sectors of 1 * 512 = 512 bytes |
|
Sector size (logical/physical) : 512 bytes / 512 bytes |
|
Disk identifier: 0x8sd5936e |
|
Device Boot Start End Blocks Id System |
|
Создаем 4 раздела: |
|
Command (m for help) : n |
|
Select (default p) : e |
|
Partition number (1-4, default 1): 1 |
|
First sector (2048-104857599, default 2048) : 2048 |
|
Last sector, +sectors or +size{K,M,G} (2048-106558499, default |
40 |
106558499) : 106558499 |
Partition 1 of type Extended and of size 60 GiB is set |
Command (m for help) : p |
|
|
Device boot Start End |
Blocks |
Id System |
/dev/sdb1 2048 106558499 52427776 5 |
Extended |
Command (m for help) : n
Select (default p) : l
First sector (624640-106558499, default 624640): 624640
Last sector, +sectors or +size{K,M,G} (624640-106558499, default 106558499) : +100M
Command (m for help) : p |
|
|
|
|||
Device boot Start End |
Blocks |
|
Id System |
|||
/dev/sdb1 |
2048 |
104857599 52427776 5 |
Extended |
|||
/dev/sdb5 |
4096 |
|
208895 |
|
102400 83 Linux |
|
/dev/sdb6 |
210944 |
415743 |
102400 |
83 |
Linux |
|
/dev/sdb7 |
417792 |
622591 |
102400 |
83 |
Linux |
|
/dev/sdb8 |
624640 |
829439 |
102400 |
83 |
Linux |
Установим тип RAID с автоматическим определением (Linux raid autodetect)
Command (m for help) : t
Partition number (1-8) : 5
Hex code (type L to list codes): fd
Command (m for help) : t
Partition number (1-8) : 6
Hex code (type L to list codes): fd
Command (m for help) : t
Partition number (1-8) : 7
Hex code (type L to list codes): fd
Command (m for help) : t
Partition number (1-8) : 8
Hex code (type L to list codes): fd
Command (m for help) : p
41
Device boot Start End |
Blocks |
|
Id System |
||||
/dev/sdb1 |
2048 |
104857599 52427776 |
5 |
Extended |
|||
/dev/sdb5 |
4096 |
|
208895 |
|
102400 fd |
Linux raid autode- |
|
tect |
|
|
|
|
|
|
|
/dev/sdb6 |
210944 |
415743 |
102400 |
fd |
Linux raid autodetect |
||
/dev/sdb7 |
417792 |
622591 |
102400 |
fd |
Linux raid autodetect |
||
/dev/sdb8 |
624640 |
829439 |
102400 |
fd |
Linux raid autodetect |
Сохраним изменения:
Command (m for help) : w
Соберем RAID 5
Откроем отдельный терминал и будем отслеживать состояния:
watch -n1 cat /proc/mdstat
mdadm –C /dev/md0 –l 5 –n 3 –x 1 /dev/sdb[5-8]
Every 1.0s: cat /proc/mdstat
Personalities: [raid6] [raid5] [raid4]
Md0: active raid5 sdb7[4] sdb8[3](S) sdb6[1] sdb5[0]
203776 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===========>………]recovery=53.7%(41569/101888)finish=0.0m In speed=5412K/sec
Unused devices: <none>
Запишем файловую систему ext4:
mkfs.ext4 /dev/md0
Смонтируем ее и создадим файл:
Mount /dev/md0 /home/liveuser/Desktop/test/
Touch /home/liveuser/Desktop/test/test.txt
Ls –la /home/liveuser/Desktop/test/
Total 18 |
|
|
|
drwxr-xr-x. |
3 liveuser liveuser 4096 Sep 10 17:43 . . |
||
drwxr------ |
. |
2 root root 12288 Sep 10 17:41 test |
|
-rw-r--r-- |
. 1 root root 0 Sep 10 |
17:48 test.txt |
|
dr--r--r-- |
. 3 faqgroup faqgroup |
2 592 768 Nov 24 0:00 Orange_FAQ.pdf |
42 Разрушим один из разделов и проверим целостность
файла. Посмотрим что происходит с диском автоматической замены:
Mdadm /dev/md0 –f /dev/sdb7
Mdadm: set /dev/sdb7 faulty in /dev/md0
Every 1.0s: cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
Md0: active raid5 sdb7[4](F) sdb8[3] sdb6[1] sdb5[0]
203776 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [===========>………]recovery=68.0%(69984/101888)finish=0.0m In speed=6998K/sec
Unused devices: <none>
Сделаемимитациюзаменыизвлечениемивставкиновогодиска:
sudo mdadm /dev/md0 -r /dev/sdb7 sudo mdadm /dev/md0 -a /dev/sdb7
Раздел sdb7 был введен в массив, при этом никакого пересчета не было. Sdb7 пометился как диск горячей замены.
Оформление отчета
Отчет к лабораторной работе должен включать в себя следующие элементы:
1.Отчет должен содержать теоретические основы RAID
2.В отчете должна быть структурированная последовательность действий со скриншотами
3.ОтчетдолженсодержатькакминимумодинпостроенныйRAID (1-удовл, 2-хор, 3-отл)
4.Отчет должен содержать выводы о проделанной работе.
Контрольные вопросы
1.В чем достоинства и недостатки основных уровней RAID?
2.Какие основные команды использовались в лабораторной работе и каково их назначение?
3.В чем смысл каждого из основных уровней RAID?
4.Сколько минимально необходимо дисков для каждого из основных уровней RAID?
5.Сколько максимально может выйти из строя дисков в основных уровнях RAID-массивов без потери данных?
6. Чем отличаются «primary» разделы диска и |
- «ex |
tended»? |
43 |
Лабораторная работа №8
Master Boot Record в Linux
Цель работы:
1.Получение опыта работы с MBR
2.Умение восстанавливать MBR
Теоретические основы лабораторной работы Часть 1. Введение. Процесс загрузки.
Первые 512 байт главного устройства хранения данных составляют особый сектор - MBR (Master Boot Record). MBR представляет собой код и особые участки памяти, которые необходимы для загрузки операционнойсистемыиопределениясуществующейтаблицыразделов диска.
Процесс загрузки является многоступенчатым процессом, и начинается он с инициализации системных устройств набором микропрограмм, называемых BIOS (Basic Input/Output System), которые выполняются при старте системы. После того, как BIOS успешно проверит системные устройства, идет процесс поиска загрузчика в MBR устройств хранения (CD/DVD диски, USB диск, HDD, SSD и др.) или на первом разделе устройства. После того, как загрузчик получил управление, он получает таблицу разделов и готовит к загрузке операционную систему. В семействе загрузчиков GNU/Linux яркими представителями являются GRUB и LILO.
В них MBR состоит из небольшой части ассемблерного кода (стартовый загрузчик – 446 байт), таблицы разделов - 4 первичных раздела (16 байт каждый) и стража (0xAA55).
Стандартный загрузчик Windows/DOS в состоянии проверить только активный раздел, считать несколько секторов с этого раздела и затем передать управление операционной системе. Он не в состоянии загрузить Linux, так как не наделен необходимым функционалом.
GRand Unified Bootloader (GRUB) - это стандартный загрузчик для операционных систем семейства GNU/Linux, и всем пользователям рекомендуется по умолчанию установить его в MBR, для того чтобы иметь возможность загружать операционную систему с любого раздела, первичного или логического.
Часть 2. Основные команды для работы с MBR
|
|
|
Существует специальный набор команд для работы с MBR. |
44 |
Так как он расположен на диске, то может быть сохранен и, в |
случае необходимости, восстановлен.
dd if=/dev/sda of=/path/mbr-backup bs=512 count=1 - Для создания резервной копии MBR
dd if=/path/mbr-backup of=/dev/sda bs=512 count=1 - Для восстановления MBR
dd if=/dev/sda of=/path/mbr-boot-code bs=446 count=1 – Для сохранения только загрузочного кода
dd if=/dev/sda of=/path/mbr-part-table bs=1 count=66 skip=446 -
Для сохранения только таблицы разделов
dd if=/path/mbr-backup of=/dev/sda bs=446 count=1 – Для восстановление загрузочного кода из файла mbr-backup
dd if=/path/mbr-backup of=/dev/sda bs=1 skip=446 seek=466 count=66 - Для восстановления только таблицы разделов
dd if=/dev/zero of=/dev/sda bs=446 count=1 - Для очистки MBR, но при этом оставить таблицу разделов
Порядок выполнения работы
1.Сохранить посекторно образ MBR
2.Стереть первые 512 байт
3.Загрузиться с LiveCD или с заранее сохраненным, посекторным образом системы
4.Восстановить MBR
5.Загрузиться, проверить работоспособность
6.Повторить пункты с 1-5 для загрузчика
Описание лабораторной установки
1.Установленный VirtualBox
2.Ubuntu установленная на VirtualBox
3.sudo apt-get install mdadm.
Оформление отчета
Отчет к лабораторной работе должен включать в себя следующие элементы:
1.Скриншоты работы каждой изученной команды
2.Комментарии к каждому скриншоту
3.Ответы на вопросы
Контрольные вопросы
1)Что записано в первый сектор (первые 512 байт)?
2)На чём может храниться MBR?
3)С какого раздела можно загружать ОС?
45
Лабораторная работа №9
Logical Volume Manager (LVM)
Цель работы:
1. Изучения LVM
2. Выявление преимуществ LVM
Теоретические основы лабораторной работы Часть 1. Обозначения. Понятия.
LVM (Logical Volume Manager) - менеджер логических томов является уникальной системой управления дисковым пространством. Она позволяет с легкостью использовать и эффективно управлять дисковым пространством. Уменьшает общую нагруженность и сложность существующей системы. У логических томов, которые созданы через LVM, можно легко изменять размер, а названия, которые им даны, помогут в дальнейшем определить назначение тома.
PV, Physical Volume или физический том. Чаще всего это раздел на диске или весь диск. К ним относят устройства программного и аппаратного RAID массивов (которые могут включать в себя еще несколько физических дисков). Физические тома объединяются и образуют группы томов.
VG, Volume Group или группа томов. Это самый верхний уровень модели представления, которая используется в LVM. С одной стороны группа томов может состоять из физических томов, с другой - из логических томов и представлять собой единую структуру.
LV, Logical Volume или логический том. Раздел в группе томов, тоже самое, что раздел диска в не-LVM системе. Является блочным устройством и, как следствие, может содержать файловую систему.
PE, Physical Extent или физический экстент. Каждый физический том делится на блоки данных - физические экстенты. Они имеют размеры как и у логических экстентов.
LE, Logical Extent или логический экстент. Каждый логический том также делится на блоки данных - логические экстенты. Размеры логических экстентов не меняются в рамках группы томов.
Часть 2. Инициализация дисков и разделов
|
|
|
Перед тем, как начать использовать диск или раздел в качестве |
физического тома, важно его проинициализировать: |
|
|
Для всего диска целиком: |
46 |
%# pvcreate /dev/hdb |
Команда создст в начале диска дескриптор группы томов.
Если появилась ошибка инициализации диска с таблицей разделов, проверьте, что работаете с нужным диском. Когда завершите предыдущий этап, выполните следующие команды:
%# dd if=/dev/zero of=/dev/diskname bs=1k count=1
%# blockdev --rereadpt /dev/diskname
Данные команды уничтожат существующую таблицу разделов на диске diskname.
Для разделов: Установите утилитой fdisk тип раздела в 0x8e.
%# pvcreate /dev/hdb1
Эта команда создаст в начале раздела /dev/hdb1 дескриптор группы томов.
Часть 3. Создание группы томов.
Для создания группы томов существует команда 'vgcreate'
%# vgcreate vg00 /dev/hda1 /dev/hdb1
Если вы используете devfs, то крайне важно указывать полное имя в devfs, а не ссылку в каталоге /dev. Приведенная команда будет выглядеть
всистеме с devfs следующим образом:
#vgcreate vg00 /dev/ide/host0/bus0/target0/lun0/part1 /dev/ide/host0/ bus0/target1/lun0/part1
Кроме этого вы можете задать свой размер экстента с помощью ключа "-s", если стандартное значение в 4Мб вас не устроит. Также имеется возможность указать границы для количества физических и логических томов.
Часть 4. Активация группы томов.
После перезапуска системы или выполнения команды vgchange -an, существующие группы томов и логические тома окажутся в неактивном режиме. Для их активации необходимо выполнить команду:
%# vgchange -a y vg00
Часть 5. Удаление группы томов.
Сперва убедитесь, что целевая группа томов не содержит логических томов (выполнение данной процедуры описана дальше).
Теперь деактивируйте группу томов:
47
%# vgchange -a n vg00
После чего удалите группу томов командой:
%# vgremove vg00
Часть 6. Добавление и удаление физических томов в группу томов.
Для того, чтобы добавить ранее инициализированный физический том в существующую группу томов используется команда 'vgextend':
%# vgextend vg00 /dev/hdc1
Для удаления физических томов из группы томов, убедитесь, что физический том не используется другими логическими томами. Для этого существует команда 'pvdisplay':
%# pvdisplay /dev/hda1
После чего можно смело использовать 'vgreduce' для удаления физических томов:
%# vgreduce vg00 /dev/hda1
Часть 7. Создание логического тома.
Для того, чтобы создать логический том "lvNew", размером 1800Мб, выполните команду:
%# lvcreate -L1800 -n lvNew vg00
Без указания суффикса размеру раздела, по умолчанию используется множитель M «мегабайт» (в системе СИ равный 106 байт), что показано в примере выше. Суффиксы в верхнем регистре - KMGTPE соответствуют единицам в системе СИ с основанием 10. Например, G
— гигабайт равен 109 байт, а суффиксы в нижнем регистре - kmgtpe соответствуют единицам в системе IEC (с основанием 2), например g — гибибайт равен 230 байт.
Для того, чтобы создать логический том размером 100 логических экстентов с записью по двум физическим томам и размером блока данных в 4 KB:
%# lvcreate -i2 -I4 -l100 -n lv01 vg00
Если необходимо создать логический том, который будет полностью занимать группу томов, то сперва используйте команду vgdisplay, чтобы
|
узнать полный размер группы томов, а после этого выполните |
48 |
команду lvcreate. |
|
%# vgdisplay vg00 | grep "Total PE"
Total PE |
10230 |
%# lvcreate -l 10230 vg00 -n lvNew2
Эти команды создают логический том lvNew2, полностью заполняющий группу томов. Тоже самое можно реализовать командой:
%# lvcreate -l100%FREE vg00 -n lvNew2
Часть 8. Удаление логических томов.
Перед удалением логический том должен быть размонтирован:
%# umount /dev/vg00/home
%# lvremove /dev/vg00/home
lvremove -- do you really want to remove "/dev/vg00/home"? [y/n]: y
lvremove -- doing automatic backup of volume group "vg00"
lvremove -- logical volume "/dev/vg00/home" successfully removed
Часть 9. Увеличение логических томов.
Для того, чтобы увеличить логический том, необходимо указать команде lvextend размер, до которого будет увеличен том:
%# lvextend -L15G /dev/vg00/home
lvextend -- extending logical volume "/dev/vg00/home" to 15 GB
lvextend -- doing automatic backup of volume group "vg00"
lvextend -- logical volume "/dev/vg00/home" successfully extended
В результате /dev/vg00/home увеличится до 15Гбайт.
%# lvextend -L+1G /dev/vg00/home
lvextend -- extending logical volume "/dev/vg00/home" to 16 GB
lvextend -- doing automatic backup of volume group "vg00"
lvextend -- logical volume "/dev/vg00/home" successfully extended
Данная команда увеличит размер логического тома ровно на 1Гб. После того, как был увеличен логический том, необходимо также увеличить размер текущей файловой системы. Процесс зависит от типа
используемой файловой системы.
В обычных случаях большинство утилит файловой системы
увеличиваютееразмердоразмерасоответствующегологического
49