fix all homeworks in 03-sysadmin

This commit is contained in:
2022-05-06 11:28:52 +07:00
parent 6867d8f214
commit dd9731b3d5
8 changed files with 239 additions and 85 deletions

View File

@@ -3,7 +3,9 @@
## Q/A
1. Разряженные файлы
### Задача 1
> Разряженные файлы
Суть таких файлов в том, чтобы разделить реальные данные последовательностью нуль-символов (`\x00`), которые не занимают реального места на физическом носителе.
При этом сами данные записываются на разных фрагментах на физическом диске.
@@ -12,12 +14,16 @@
Это позволяет сделать запись туда, где доступно 1-2KB (например, после удаления другого файла),
но куда оригинальный файл целиком не поместится.
2. Могут ли файлы, являющиеся жесткой ссылкой на один объект, иметь разные права доступа и владельца? Почему?
### Задача 2
> Могут ли файлы, являющиеся жесткой ссылкой на один объект, иметь разные права доступа и владельца? Почему?
Не могут. Причина в том, что жёсткие ссылки всегда ссылаются на одну `Inode` (идентификатор объекта файла внутри ОС).
То есть, все файлы, которые имеют одну `Inode` будут синхронизированы по: содержимому, правам доступа и другим мета-данным.
3. Реконфигурация виртуальной машины
### Задача 3
> Реконфигурация виртуальной машины
В текущую конфигурацию [`vagrant`](/src/vagrant/Vagrantfile) добавлена конфигурация дисков:
@@ -40,7 +46,9 @@ lvm_experiments_disk0.vmdk
lvm_experiments_disk1.vmdk
```
4. Используя `fdisk`, разбейте первый диск на 2 раздела: 2 Гб, оставшееся пространство.
### Задача 4
> Используя `fdisk`, разбейте первый диск на 2 раздела: 2 Гб, оставшееся пространство.
Найдём диски, которые были подключены на предыдущем шаге
@@ -116,7 +124,9 @@ Device Start End Sectors Size Type
/dev/sdb2 4196352 5242846 1046495 511M Linux filesystem
```
5. Используя `sfdisk`, перенесите данную таблицу разделов на второй диск.
### Задача 5
> Используя `sfdisk`, перенесите данную таблицу разделов на второй диск.
Перенесём таблицу разделов с `/dev/sdb` на `/dev/sdc`.
@@ -174,7 +184,9 @@ Device Start End Sectors Size Type
/dev/sdc2 4196352 5242846 1046495 511M Linux filesystem
```
6. Соберите `mdadm` `RAID1` на паре разделов 2 Гб.
### Задача 6
> Соберите `mdadm` `RAID1` на паре разделов 2 Гб.
Разделы, которые необходимо объединить в `RAID1`: `/dev/sdb1` и `/dev/sdc1`.
@@ -184,7 +196,9 @@ mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
```
7. Соберите `mdadm` `RAID0` на второй паре маленьких разделов
### Задача 7
> Соберите `mdadm` `RAID0` на второй паре маленьких разделов
Разделы, которые необходимо объединить в `RAID0`: `/dev/sdb2` и `/dev/sdc2`.
@@ -194,7 +208,9 @@ mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
```
8. Создайте 2 независимых PV на получившихся md-устройствах
### Задача 8
> Создайте 2 независимых PV на получившихся md-устройствах
```shell
sudo pvcreate /dev/md0
@@ -228,7 +244,9 @@ sudo pvdisplay
PV UUID PB8hEQ-bZGA-M6Xe-tOQV-1CAb-DRSf-syoUSA
```
9. Создайте общую volume-group на этих двух PV.
### Задача 9
> Создайте общую volume-group на этих двух PV.
```shell
sudo vgcreate test_vg /dev/md0 /dev/md1
@@ -257,7 +275,9 @@ sudo vgdisplay
VG UUID 7xcN3Z-o9Ca-iXl2-5eao-iA4e-cEVJ-YgSajr
```
10. Создайте LV размером 100 Мб, указав его расположение на PV с `RAID0`.
### Задача 10
> Создайте LV размером 100 Мб, указав его расположение на PV с `RAID0`.
```shell
sudo lvcreate --size=100MB test_vg /dev/md1
@@ -282,7 +302,9 @@ sudo lvdisplay
Block device 253:1
```
11. Создайте `mkfs.ext4` ФС на получившемся `LV`
### Задача 11
> Создайте `mkfs.ext4` ФС на получившемся `LV`
```shell
sudo mkfs.ext4 /dev/test_vg/lvol0
@@ -295,14 +317,18 @@ Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
```
12. Смонтируйте этот раздел в любую директорию.
### Задача 12
> Смонтируйте этот раздел в любую директорию.
```shell
mkdir /tmp/new
sudo mount /dev/test_vg/lvol0 /tmp/new
```
13. Поместите туда тестовый файл.
### Задача 13
> Поместите туда тестовый файл.
```shell
sudo wget https://mirror.yandex.ru/ubuntu/ls-lR.gz -O /tmp/new/test.gz
@@ -317,7 +343,9 @@ Saving to: /tmp/new/test.gz
2022-03-02 03:04:09 (9.33 MB/s) - /tmp/new/test.gz saved [22388361/22388361]
```
14. Прикрепите вывод `lsblk`.
### Задача 14
> Прикрепите вывод `lsblk`.
```shell
sudo lsblk
@@ -347,7 +375,9 @@ sdc 8:32 0 2.5G 0 disk
└─test_vg-lvol0 253:1 0 100M 0 lvm /tmp/new
```
15. Протестируйте целостность файла
### Задача 15
> Протестируйте целостность файла
```shell
sudo gzip -t /tmp/new/test.gz
@@ -356,7 +386,9 @@ echo $?
0
```
16. Используя `pvmove`, переместите содержимое PV с `RAID0` на `RAID1`.
### Задача 16
> Используя `pvmove`, переместите содержимое PV с `RAID0` на `RAID1`.
```shell
sudo pvmove /dev/md1 /dev/md0
@@ -364,14 +396,18 @@ sudo pvmove /dev/md1 /dev/md0
/dev/md1: Moved: 100.00%
```
17. Сделайте `--fail` на устройство в вашем `RAID1` md.
### Задача 17
> Сделайте `--fail` на устройство в вашем `RAID1` md.
```shell
sudo mdadm --fail /dev/md0 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0
```
18. Подтвердите выводом `dmesg`, что `RAID1` работает в деградированном состоянии
### Задача 18
> Подтвердите выводом `dmesg`, что `RAID1` работает в деградированном состоянии
```shell
sudo dmesg | tail -n 5
@@ -382,7 +418,9 @@ sudo dmesg | tail -n 5
md/raid1:md0: Operation continuing on 1 devices.
```
19. Протестируйте целостность файла, несмотря на "сбойный" диск он должен продолжать быть доступен
### Задача 19
> Протестируйте целостность файла, несмотря на "сбойный" диск он должен продолжать быть доступен
```shell
sudo gzip -t /tmp/new/test.gz