Добавить README.md
This commit is contained in:
505
README.md
Normal file
505
README.md
Normal file
@@ -0,0 +1,505 @@
|
||||
# Домашнее задание 2
|
||||
## Работа с mdadm
|
||||
|
||||
Для выполнение задания используется Ubuntu Server 24.04
|
||||
|
||||
### Добавляем 5 hdd в VM
|
||||
|
||||
Добавил в VM 5 дисков по 1Gb.
|
||||
|
||||
Проверяем через lsblk, что диски присутствуют в системе
|
||||
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ lsblk
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||
sda 8:0 0 20G 0 disk
|
||||
├─sda1 8:1 0 1M 0 part
|
||||
├─sda2 8:2 0 1.8G 0 part /boot
|
||||
└─sda3 8:3 0 18.2G 0 part
|
||||
└─ubuntu--vg-ubuntu--lv 252:0 0 16G 0 lvm /
|
||||
sdb 8:16 0 1G 0 disk
|
||||
sdc 8:32 0 1G 0 disk
|
||||
sdd 8:48 0 1G 0 disk
|
||||
sde 8:64 0 1G 0 disk
|
||||
sdf 8:80 0 1G 0 disk
|
||||
sr0 11:0 1 3.1G 0 rom
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Создаем RAID 10
|
||||
С помощью mdadm создаем RAID 10 из 4 дисков /dev/sdb, /dev/sdc, /dev/sdd и /dev/sde
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm --create /dev/md10 -l 10 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
|
||||
mdadm: Defaulting to version 1.2 metadata
|
||||
mdadm: array /dev/md10 started.
|
||||
|
||||
```
|
||||
|
||||
Проверим, что массив создался
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm -D /dev/md10
|
||||
/dev/md10:
|
||||
Version : 1.2
|
||||
Creation Time : Sat Nov 8 10:04:56 2025
|
||||
Raid Level : raid10
|
||||
Array Size : 2093056 (2044.00 MiB 2143.29 MB)
|
||||
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
|
||||
Raid Devices : 4
|
||||
Total Devices : 4
|
||||
Persistence : Superblock is persistent
|
||||
|
||||
Update Time : Sat Nov 8 10:05:06 2025
|
||||
State : clean
|
||||
Active Devices : 4
|
||||
Working Devices : 4
|
||||
Failed Devices : 0
|
||||
Spare Devices : 0
|
||||
|
||||
Layout : near=2
|
||||
Chunk Size : 512K
|
||||
|
||||
Consistency Policy : resync
|
||||
|
||||
Name : ubuntu:10 (local to host ubuntu)
|
||||
UUID : 324f837b:c5d3c762:18b2b81c:4821f1bd
|
||||
Events : 17
|
||||
|
||||
Number Major Minor RaidDevice State
|
||||
0 8 16 0 active sync set-A /dev/sdb
|
||||
1 8 32 1 active sync set-B /dev/sdc
|
||||
2 8 48 2 active sync set-A /dev/sdd
|
||||
3 8 64 3 active sync set-B /dev/sde
|
||||
|
||||
|
||||
nimda@ubuntu:~$ cat /proc/mdstat
|
||||
Personalities : [raid0] [raid1] [raid4] [raid5] [raid6] [raid10] [linear]
|
||||
md10 : active raid10 sde[3] sdd[2] sdc[1] sdb[0]
|
||||
2093056 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
|
||||
|
||||
unused devices: <none>
|
||||
|
||||
|
||||
nimda@ubuntu:~$ lsblk
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||
sda 8:0 0 20G 0 disk
|
||||
├─sda1 8:1 0 1M 0 part
|
||||
├─sda2 8:2 0 1.8G 0 part /boot
|
||||
└─sda3 8:3 0 18.2G 0 part
|
||||
└─ubuntu--vg-ubuntu--lv 252:0 0 16G 0 lvm /
|
||||
sdb 8:16 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
sdc 8:32 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
sdd 8:48 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
sde 8:64 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
sdf 8:80 0 1G 0 disk
|
||||
sr0 11:0 1 3.1G 0 rom
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
### Разбиваем созданный райд md10 на разделы
|
||||
|
||||
Открываем утилиту parted
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo parted
|
||||
GNU Parted 3.6
|
||||
Using /dev/sda
|
||||
Welcome to GNU Parted! Type 'help' to view a list of commands.
|
||||
(parted)
|
||||
```
|
||||
|
||||
|
||||
Выбираем наш рейд уомандой select
|
||||
```bash
|
||||
(parted) select /dev/md10
|
||||
Using /dev/md10
|
||||
(parted)
|
||||
```
|
||||
|
||||
|
||||
С помощью команды print, можем убедиться, что разметки на нашем md10 нет
|
||||
```bash
|
||||
(parted) print
|
||||
Error: /dev/md10: unrecognised disk label # вот тут parted говорит, что не видит размеку
|
||||
Model: Linux Software RAID Array (md)
|
||||
Disk /dev/md10: 2143MB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: unknown
|
||||
Disk Flags:
|
||||
(parted)
|
||||
```
|
||||
|
||||
|
||||
Создаем разметку GPT
|
||||
```bash
|
||||
(parted) mklabel gpt
|
||||
(parted)
|
||||
```
|
||||
|
||||
|
||||
Создаем 3 раздела, 1 разде будет занимать 30% диска, второй 40% и 3 30%
|
||||
```bash
|
||||
(parted) mkpart primari 0% 30%
|
||||
(parted) mkpart primari 30% 70%
|
||||
(parted) mkpart primari 70% 100%
|
||||
|
||||
```
|
||||
|
||||
|
||||
Снова выполним комду print, чтобы увидить изменения
|
||||
```bash
|
||||
(parted) print
|
||||
Model: Linux Software RAID Array (md)
|
||||
Disk /dev/md10: 2143MB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: gpt
|
||||
Disk Flags:
|
||||
|
||||
Number Start End Size File system Name Flags
|
||||
1 1049kB 643MB 642MB primari
|
||||
2 643MB 1501MB 858MB primari
|
||||
3 1501MB 2142MB 642MB primari
|
||||
|
||||
(parted)
|
||||
```
|
||||
|
||||
|
||||
Выйти можно при помощи команды quit
|
||||
```bash
|
||||
(parted) quit
|
||||
Information: You may need to update /etc/fstab.
|
||||
|
||||
nimda@ubuntu:~$
|
||||
```
|
||||
|
||||
|
||||
Посмотрим, как отображаются наши разделы через lsblk
|
||||
```bash
|
||||
nimda@ubuntu:~$ lsblk
|
||||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
||||
sda 8:0 0 20G 0 disk
|
||||
├─sda1 8:1 0 1M 0 part
|
||||
├─sda2 8:2 0 1.8G 0 part /boot
|
||||
└─sda3 8:3 0 18.2G 0 part
|
||||
└─ubuntu--vg-ubuntu--lv 252:0 0 16G 0 lvm /
|
||||
sdb 8:16 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
├─md10p1 259:0 0 612M 0 part
|
||||
├─md10p2 259:1 0 818M 0 part
|
||||
└─md10p3 259:2 0 612M 0 part
|
||||
sdc 8:32 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
├─md10p1 259:0 0 612M 0 part
|
||||
├─md10p2 259:1 0 818M 0 part
|
||||
└─md10p3 259:2 0 612M 0 part
|
||||
sdd 8:48 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
├─md10p1 259:0 0 612M 0 part
|
||||
├─md10p2 259:1 0 818M 0 part
|
||||
└─md10p3 259:2 0 612M 0 part
|
||||
sde 8:64 0 1G 0 disk
|
||||
└─md10 9:10 0 2G 0 raid10
|
||||
├─md10p1 259:0 0 612M 0 part
|
||||
├─md10p2 259:1 0 818M 0 part
|
||||
└─md10p3 259:2 0 612M 0 part
|
||||
sdf 8:80 0 1G 0 disk
|
||||
sr0 11:0 1 3.1G 0 rom
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Создаем файловую систему на наших разделах
|
||||
|
||||
|
||||
|
||||
С помощью утилиты mkfs, создаем файловую систему ext4 на наших разделах
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mkfs.ext4 /dev/md10p1
|
||||
mke2fs 1.47.0 (5-Feb-2023)
|
||||
Creating filesystem with 156672 4k blocks and 39200 inodes
|
||||
Filesystem UUID: fac0baf0-446d-46e2-b0d0-aa50b8546cd8
|
||||
Superblock backups stored on blocks:
|
||||
32768, 98304
|
||||
|
||||
Allocating group tables: done
|
||||
Writing inode tables: done
|
||||
Creating journal (4096 blocks): done
|
||||
Writing superblocks and filesystem accounting information: done
|
||||
|
||||
nimda@ubuntu:~$ sudo mkfs.ext4 /dev/md10p2
|
||||
mke2fs 1.47.0 (5-Feb-2023)
|
||||
Creating filesystem with 209408 4k blocks and 52416 inodes
|
||||
Filesystem UUID: d4fd92a8-ed87-4c77-981d-51dd996d0c03
|
||||
Superblock backups stored on blocks:
|
||||
32768, 98304, 163840
|
||||
|
||||
Allocating group tables: done
|
||||
Writing inode tables: done
|
||||
Creating journal (4096 blocks): done
|
||||
Writing superblocks and filesystem accounting information: done
|
||||
|
||||
nimda@ubuntu:~$ sudo mkfs.ext4 /dev/md10p3
|
||||
mke2fs 1.47.0 (5-Feb-2023)
|
||||
Creating filesystem with 156672 4k blocks and 39200 inodes
|
||||
Filesystem UUID: 0e4fdeef-684c-4941-9e2a-4ac78e10c040
|
||||
Superblock backups stored on blocks:
|
||||
32768, 98304
|
||||
|
||||
Allocating group tables: done
|
||||
Writing inode tables: done
|
||||
Creating journal (4096 blocks): done
|
||||
Writing superblocks and filesystem accounting information: done
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Примонтируем наши созданные разделы
|
||||
|
||||
|
||||
Создаем 3 каталога
|
||||
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mkdir /mnt/part1
|
||||
nimda@ubuntu:~$ sudo mkdir /mnt/part2
|
||||
nimda@ubuntu:~$ sudo mkdir /mnt/part3
|
||||
```
|
||||
|
||||
Монтируем разделы
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mount /dev/md10p1 /mnt/part1
|
||||
nimda@ubuntu:~$ sudo mount /dev/md10p2 /mnt/part2
|
||||
nimda@ubuntu:~$ sudo mount /dev/md10p3 /mnt/part3
|
||||
```
|
||||
|
||||
|
||||
С помощь утилиты df и ключа -T (который покажет файловую систему), выведим информацию о монтированных дисках
|
||||
```bash
|
||||
nimda@ubuntu:~$ df -hT
|
||||
Filesystem Type Size Used Avail Use% Mounted on
|
||||
tmpfs tmpfs 192M 1.3M 191M 1% /run
|
||||
/dev/mapper/ubuntu--vg-ubuntu--lv ext4 16G 5.1G 9.7G 35% /
|
||||
tmpfs tmpfs 960M 0 960M 0% /dev/shm
|
||||
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
|
||||
/dev/sda2 ext4 1.8G 199M 1.5G 13% /boot
|
||||
tmpfs tmpfs 192M 12K 192M 1% /run/user/1000
|
||||
/dev/md10p1 ext4 586M 24K 543M 1% /mnt/part1
|
||||
/dev/md10p2 ext4 788M 24K 731M 1% /mnt/part2
|
||||
/dev/md10p3 ext4 586M 24K 543M 1% /mnt/part3
|
||||
```
|
||||
|
||||
|
||||
### Ломаем и чиним RAID
|
||||
|
||||
|
||||
Перед тем как начнем ломать raid, создим по 1 файлу на каждом из разделов
|
||||
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ echo "Файл на part 1" | sudo tee /mnt/part1/file_part1.txt
|
||||
Файл на part 1
|
||||
nimda@ubuntu:~$ echo "Файл на part 2" | sudo tee /mnt/part2/file_part2.txt
|
||||
Файл на part 2
|
||||
nimda@ubuntu:~$ echo "Файл на part 3" | sudo tee /mnt/part3/file_part3.txt
|
||||
Файл на part 3
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Удаляем диск /dev/sdb из виртуальной машины перезагржаемся, и смотрим что происходит с raid массивом.
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm -D /dev/md10
|
||||
mdadm: cannot open /dev/md10: No such file or directory
|
||||
```
|
||||
|
||||
|
||||
После перезагрузки, mdadm не видит наш raid массив. Смотрим что находиться в mdstat
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ cat /proc/mdstat
|
||||
Personalities : [raid0] [raid1] [raid4] [raid5] [raid6] [raid10] [linear]
|
||||
md127 : active (auto-read-only) raid10 sdb[1] sdd[2] sdc[3]
|
||||
2093056 blocks super 1.2 512K chunks 2 near-copies [4/3] [_UUU]
|
||||
|
||||
unused devices: <none>
|
||||
|
||||
```
|
||||
|
||||
После удаление диска имя нашего raid поменялось на md127. Так же диски сменили имена, тот что был /dev/sdc стал /dev/sdb и т.д.
|
||||
|
||||
|
||||
**Вопрос проверяющему: А почему так происходит?**
|
||||
|
||||
|
||||
Ну ладно, продолжим работать с md127. Посмотрим состояние массива
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm -D /dev/md127
|
||||
/dev/md127:
|
||||
Version : 1.2
|
||||
Creation Time : Sat Nov 8 10:04:56 2025
|
||||
Raid Level : raid10
|
||||
Array Size : 2093056 (2044.00 MiB 2143.29 MB)
|
||||
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
|
||||
Raid Devices : 4
|
||||
Total Devices : 3
|
||||
Persistence : Superblock is persistent
|
||||
|
||||
Update Time : Sat Nov 8 11:07:08 2025
|
||||
State : clean, degraded
|
||||
Active Devices : 3
|
||||
Working Devices : 3
|
||||
Failed Devices : 0
|
||||
Spare Devices : 0
|
||||
|
||||
Layout : near=2
|
||||
Chunk Size : 512K
|
||||
|
||||
Consistency Policy : resync
|
||||
|
||||
Name : ubuntu:10 (local to host ubuntu)
|
||||
UUID : 324f837b:c5d3c762:18b2b81c:4821f1bd
|
||||
Events : 22
|
||||
|
||||
Number Major Minor RaidDevice State
|
||||
- 0 0 0 removed
|
||||
1 8 16 1 active sync set-B /dev/sdb
|
||||
2 8 48 2 active sync set-A /dev/sdd
|
||||
3 8 32 3 active sync set-B /dev/sdc
|
||||
|
||||
```
|
||||
|
||||
Статум нашего массива degraded, и так же отсутсвеет 1 диск в массиве
|
||||
|
||||
|
||||
Примонтируем наши разделы
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mount /dev/md127p1 /mnt/part1
|
||||
nimda@ubuntu:~$ sudo mount /dev/md127p2 /mnt/part2
|
||||
nimda@ubuntu:~$ sudo mount /dev/md127p3 /mnt/part3
|
||||
```
|
||||
|
||||
|
||||
Убедимся, что созданные файлы присутствуют на месте, даже на поломаном разделе
|
||||
|
||||
```bash
|
||||
nimda@ubuntu:~$ ls /mnt/part1 /mnt/part2 /mnt/part3
|
||||
/mnt/part1:
|
||||
file_part1.txt lost+found
|
||||
|
||||
/mnt/part2:
|
||||
file_part2.txt lost+found
|
||||
|
||||
/mnt/part3:
|
||||
file_part3.txt lost+found
|
||||
nimda@ubuntu:~$
|
||||
|
||||
```
|
||||
|
||||
|
||||
Добавляем в наш reid диск /dev/sde (при начале выполнения задания он был /dev/sdf)
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm /dev/md127 --add /dev/sde
|
||||
mdadm: added /dev/sde
|
||||
```
|
||||
|
||||
|
||||
И смотрим состояние массива
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm -D /dev/md127
|
||||
/dev/md127:
|
||||
Version : 1.2
|
||||
Creation Time : Sat Nov 8 10:04:56 2025
|
||||
Raid Level : raid10
|
||||
Array Size : 2093056 (2044.00 MiB 2143.29 MB)
|
||||
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
|
||||
Raid Devices : 4
|
||||
Total Devices : 4
|
||||
Persistence : Superblock is persistent
|
||||
|
||||
Update Time : Sat Nov 8 11:32:33 2025
|
||||
State : clean, degraded, recovering
|
||||
Active Devices : 3
|
||||
Working Devices : 4
|
||||
Failed Devices : 0
|
||||
Spare Devices : 1
|
||||
|
||||
Layout : near=2
|
||||
Chunk Size : 512K
|
||||
|
||||
Consistency Policy : resync
|
||||
|
||||
Rebuild Status : 19% complete
|
||||
|
||||
Name : ubuntu:10 (local to host ubuntu)
|
||||
UUID : 324f837b:c5d3c762:18b2b81c:4821f1bd
|
||||
Events : 60
|
||||
|
||||
Number Major Minor RaidDevice State
|
||||
4 8 64 0 spare rebuilding /dev/sde
|
||||
1 8 16 1 active sync set-B /dev/sdb
|
||||
2 8 48 2 active sync set-A /dev/sdd
|
||||
3 8 32 3 active sync set-B /dev/sdc
|
||||
|
||||
```
|
||||
|
||||
Видим, что диск встал на место удаленного, и происходит ребилд raid массива.
|
||||
|
||||
|
||||
Через некоторое время, как пройдет ребилд, вновь смотрим состояние массива и убеждаемся, что с рейдом все впорядке
|
||||
```bash
|
||||
nimda@ubuntu:~$ sudo mdadm -D /dev/md127
|
||||
/dev/md127:
|
||||
Version : 1.2
|
||||
Creation Time : Sat Nov 8 10:04:56 2025
|
||||
Raid Level : raid10
|
||||
Array Size : 2093056 (2044.00 MiB 2143.29 MB)
|
||||
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
|
||||
Raid Devices : 4
|
||||
Total Devices : 4
|
||||
Persistence : Superblock is persistent
|
||||
|
||||
Update Time : Sat Nov 8 11:32:38 2025
|
||||
State : clean
|
||||
Active Devices : 4
|
||||
Working Devices : 4
|
||||
Failed Devices : 0
|
||||
Spare Devices : 0
|
||||
|
||||
Layout : near=2
|
||||
Chunk Size : 512K
|
||||
|
||||
Consistency Policy : resync
|
||||
|
||||
Name : ubuntu:10 (local to host ubuntu)
|
||||
UUID : 324f837b:c5d3c762:18b2b81c:4821f1bd
|
||||
Events : 74
|
||||
|
||||
Number Major Minor RaidDevice State
|
||||
4 8 64 0 active sync set-A /dev/sde
|
||||
1 8 16 1 active sync set-B /dev/sdb
|
||||
2 8 48 2 active sync set-A /dev/sdd
|
||||
3 8 32 3 active sync set-B /dev/sdc
|
||||
```
|
||||
|
||||
|
||||
Вопрос про смену названия с md10 на md127, а так же смена наздвание дисков, остается открытым.
|
||||
Reference in New Issue
Block a user