# 2024 Модуль Б: 6. Настройка дисковой подсистемы

#### Задание:

2\. Настройка дисковой подсистемы

* a) На SRV-HQ настройте зеркалируемый LVM том
  * a. Используйте два неразмеченных жестких диска.
  * b. Настройте автоматическое монтирование логического тома.
  * c. Точка монтирования /opt/data.
* b) На SRV-BR сконфигурируйте stripped LVM том.
  * a. Используйте два неразмеченных жестких диска.
  * b. Настройте автоматическое монтирование тома.
  * c. Обеспечьте шифрование тома средствами dm-crypt. Диск должен монтироваться при загрузке ОС без запроса пароля.
  * d. Точка монтирования /opt/data.

#### Выполнение:

**SRV-HQ:**

* Используем два неразмеченных жёстких диска: **sdb** и **sdc:**

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image.png)

* создаём раздел на диске **sdb:**

```
gdisk /dev/sdb
```

* 1 - Создаём пустую **GUID partition table** - нажимаем "**o**" -> "**y**", чтобы удалить все разделы и создать **GPT запись**;
* 2 - Создаём первый и единственный раздел на весь диск. Нажимаем "**n**" -> 1 -> '**enter**' -> '**enter**' -> "**8e00**" - указываем, что данный раздел относится к **LVM**;
* 3 - "**p**" - Теперь можно просмотреть то, что получилось.

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%281%29.png)

* после чего нажимаем "**w**" -> "**Y**" - подтверждаем и записываем изменения на диск:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%282%29.png)

* аналогичным образом создаём раздел на диске **sdc,** результат:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%283%29.png)

* Инициализируем диски для работы с **LVM**:

```
pvcreate /dev/sd{b,c}1
```

где:

**/dev/sd{b,c}1** - это разделы блочных устройств: **sdb** и **sdc**;

* Создаём и добавляем диски в группу **vg01**:

```
vgcreate vg01 /dev/sd{b,c}1
```

где:

**vg01** - имя группы;

**/dev/sd{b,c}1** - это разделы блочных устройств: sdb и sdc, ранее проинициализированные для работы с LVM;

* Создаём логический том в режиме **зеркалирования** (raid1):

```
lvcreate -l 100%FREE -n lvmirror -m1 vg01
```

где:

**-l 100%FREE** - используется все свободное пространство группы **vg01**;

**-n lvmirror** - задаётся имя логическому тому "**lvmirror**";

**-m1** - создает зеркальный логический том с "**зеркальными**" копиями;

**vg01** - имя группы созданной ранее, в которой создаётся логический том с именем **lvmirror**.

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%284%29.png)

* создаём файловую систему на логическом томе **lvmirror**:

```
mkfs.ext4 /dev/vg01/lvmirror
```

* Монтируем логический диск в "**/opt/data**":
  * создаём директорию для монтирования:

```
mkdir /opt/data
```

* * добавляем запись в файл **/etc/fstab** для автоматического монтирования логического тома:

```
echo "UUID=$(blkid -s UUID -o value /dev/vg01/lvmirror) /opt/data ext4 defaults 1 2" | tee -a /etc/fstab
```

* выполняем монтирование:

```
mount -av
```

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%285%29.png)

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%286%29.png)

**SRV-BR:**

* Используем два неразмеченных жёстких диска: **sdb** и **sdc**
* Создаём разделы на двух подключённых дисках "**sdb** и **sdc**" аналогично как и на **SRV-HQ** - через **gdisk,** результат:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%287%29.png)

* Аналогично **SRV-HQ** добавляем диски в **LVM** и создаём группу из двух дисков:

```
pvcreate /dev/sd{b,c}1
```

```
vgcreate vg01 /dev/sd{b,c}1
```

* Создаём **striped LVM** том с именем "**lvstriped**":

```
lvcreate -i2 -l 100%FREE -n lvstreped vg01
```

где:

**-i2** - количество полосок (для полосок необходимо использовать диск);

**-l 100%FREE** - используется все свободное пространство группы **vg01**;

**-n lvstreped** - задаётся имя логическому тому "**lvstreped**";

**vg01** - имя группы созданной ранее, в которой создаётся логический том с именем **lvstreped**.

* Проверяем:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%288%29.png)

* создаём файловую систему на логическом томе **lvstreped**:

```
mkfs.ext4 /dev/vg01/lvstreped
```

* Обеспечиваем шифрование тома средствами **dm-crypt**:
  * Создаём ключевой файл:

```
dd if=/dev/urandom of=/etc/keys/enc.key bs=1 count=4096
```

* * Выполняем шифрование тома "**lvstreped**" с использованием **ключевого файла** вместо пароля, указывая путь до логического тома и путь до созданного ключа:

```
cryptsetup luksFormat /dev/vg01/lvstreped /etc/keys/enc.key
```

* * * после ввода данной команды необходимо подтверждение - "**YES**":

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%289%29.png)

* * Далее необходимо открыть только что зашифрованный логический том при помощи созданного ключа, чтобы он появился в списке блочных устройств в выводе команды "**lsblk**":

```
cryptsetup luksOpen -d /etc/keys/enc.key /dev/vg01/lvstreped lvstreped
```

где:

**-d /etc/keys/enc.key** - путь до ключа, которым был зашифрован логический том **lvstreped;**

**/dev/vg01/lvstreped** - путь до логического тома, с которого необходимо снять шифрование;

**lvstreped** - произвольное имя, которое будет назначено для разшифрованного тома, и должно появиться в выводе команды **lsblk**.

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%2810%29.png)

* * Задаём файловую систему на только расшифрованном томе который находится в директории **/dev/mapper/**:

```
mkfs.ext4 /dev/mapper/lvstreped
```

* * Монтируем логический том в "**/opt/data**":
    * создаём директорию для монтирования:

```
mkdir /opt/data
```

* * * добавляем запись в файл **/etc/fstab** для автоматического монтирования логического тома:

```
echo "UUID=$(blkid -s UUID -o value /dev/mapper/lvstreped) /opt/data ext4 defaults 0 0" | tee -a /etc/fstab
```

*P.S: **UUID** указывается **расшифрованного (открытого)** логического тома.*

* * выполняем монтирование:

```
mount -av
```

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%2811%29.png)

* Обеспечиваем монтирование логического тома при загрузке ОС без ввода пароля:

```
echo "lvstreped UUID=$(blkid -s UUID -o value /dev/vg01/lvstreped) /etc/keys/enc.key luks" | tee -a /etc/crypttab
```

*P.S: UUID указывается **зашифрованного (закрытого)** логического тома, чтобы во время загрузки ОС до монтирования выполнялось его открытие при помощи ключа.*

* Проверяем:
  * выполнить перезагрузку **reboot**, запуск ОС должен произости без какой либо ошибки на стадии загрузки, после чего проверить примонтированные устройства:

![](https://sysahelper.ru/pluginfile.php/224/mod_page/content/1/image%20%2812%29.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seraphim.gitbook.io/volodyazetkin2024gitbook/2024-modul-b-1.-bazovaya-nastroika/2024-modul-b-6.-nastroika-diskovoi-podsistemy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
