Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Управление многоуровневым хранилищем с помощью Stratis

В этом упражнении вы будете использовать Stratis для создания файловых систем из пулов хранилищ, предоставляемых физическими запоминающими устройствами.

Результаты

Вы сможете:

  • создать файловую систему с динамическим выделением места (тонкой подготовкой), используя систему управления хранилищем Stratis;

  • убедиться, что тома Stratis увеличиваются динамически в соответствии с ростом объема данных;

  • обратиться к данным из моментального снимка файловой системы с динамическим выделением места.

Войдите на workstation как пользователь student с паролем student.

На workstation запустите сценарий lab advstorage-stratis start, чтобы начать упражнение. Этот сценарий подготавливает среду и обеспечивает очистку дополнительных дисков на servera.

[student@workstation ~]$ lab advstorage-stratis start
  1. На workstation установите SSH-подключение к servera как пользователь student.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
  2. Переключитесь на пользователя root.

    [student@servera ~]$ sudo -i
    [sudo] password for student: student
    [root@servera ~]# 
  3. С помощью команды yum установите пакеты stratisd и stratis-cli.

    [root@servera ~]# yum install stratisd stratis-cli
    ...output omitted...
    Is this ok [y/N]: y
    ...output omitted...
    Complete!
  4. С помощью команды systemctl активируйте службу stratisd.

    [root@servera ~]# systemctl enable --now stratisd
  5. Убедитесь в наличии пула Stratis stratispool1 с блочным устройством /dev/vdb.

    1. С помощью команды stratis pool create создайте пул Stratis с именем stratispool1.

      [root@servera ~]# stratis pool create stratispool1 /dev/vdb
    2. С помощью команды stratis pool list проверьте доступность пула stratispool1.

      [root@servera ~]# stratis pool list
      Name                        Total Physical
      stratispool1  5 GiB / 37.63 MiB / 4.96 GiB

      Обратите внимание на размер пула в выводе.

  6. Расширьте пул stratispool1 с помощью блочного устройства /dev/vdc.

    1. С помощью команды stratis pool add-data добавьте блочное устройство /dev/vdc в пул stratispool1.

      [root@servera ~]# stratis pool add-data stratispool1 /dev/vdc
    2. С помощью команды stratis pool list проверьте размер пула stratispool1.

      [root@servera ~]# stratis pool list
      Name                         Total Physical
      stratispool1  10 GiB / 41.63 MiB / 9.96 GiB

      Как видно выше, размер пула stratispool1 увеличился, когда вы добавили блочное устройство.

    3. С помощью команды stratis blockdev list проверьте, какие блочные устройства входят в пул stratispool1.

      [root@servera ~]# stratis blockdev list stratispool1
      Pool Name     Device Node  Physical Size  Tier
      stratispool1  /dev/vdb             5 GiB  Data
      stratispool1  /dev/vdc             5 GiB  Data
  7. Добавьте файловую систему stratis-filesystem1 с динамическим выделением места в пул stratispool1. Смонтируйте файловую систему в /stratisvol. Создайте в файловой системе stratis-filesystem1 файл file1 с текстом Hello World!.

    1. С помощью команды stratis filesystem create создайте в пуле stratispool1 файловую систему stratis-filesystem1 с динамическим выделением места. Выполнение команды может занять около минуты.

      [root@servera ~]# stratis filesystem create stratispool1 stratis-filesystem1
    2. С помощью команды stratis filesystem list проверьте доступность файловой системы stratis-filesystem1.

      [root@servera ~]# stratis filesystem list
      Pool Name     Name                 Used     Created            Device                                                  UUID
      stratispool1  stratis-filesystem1  546 MiB  Mar 29 2019 07:48  /stratis/stratispool1/stratis-filesystem1  8714...e7db

      Обратите внимание на использование stratis-filesystem1. Такое использование файловой системы увеличивает текущую нагрузку на следующих шагах.

    3. С помощью команды mkdir создайте каталог с именем /stratisvol.

      [root@servera ~]# mkdir /stratisvol
    4. С помощью команды mount смонтируйте файловую систему stratis-filesystem1 в /stratisvol.

      [root@servera ~]# mount /stratis/stratispool1/stratis-filesystem1 /stratisvol
    5. С помощью команды mount убедитесь, что том stratis-filesystem1 смонтирован в /stratisvol.

      [root@servera ~]# mount
      ...output omitted...
      /dev/mapper/stratis-1-5c0e...12b9-thin-fs-8714...e7db on /stratisvol type xfs (rw,relatime,seclabel,attr2,inode64,sunit=2048,swidth=2048,noquota)
    6. С помощью команды echo создайте текстовый файл /stratisvol/file1.

      [root@servera ~]# echo "Hello World!" > /stratisvol/file1
  8. Убедитесь, что файловая система stratis-filesystem1 с динамическим выделением места увеличивается по мере увеличения объема данных в файловой системе.

    1. С помощью команды stratis filesystem list проверьте текущее использование файловой системы stratis-filesystem1.

      [root@servera ~]# stratis filesystem list
      Pool Name     Name                 Used     Created            Device                                     UUID
      stratispool1  stratis-filesystem1  546 MiB  Mar 29 2019 07:48  /stratis/stratispool1/stratis-filesystem1  8714...e7db
    2. С помощью команды dd создайте файл размером 2 ГиБ в файловой системе stratis-filesystem1. Выполнение команды может занять около минуты.

      [root@servera ~]# dd if=/dev/urandom of=/stratisvol/file2 bs=1M count=2048
    3. С помощью команды stratis filesystem list проверьте использование файловой системы stratis-filesystem1.

      [root@servera ~]# stratis filesystem list
      Pool Name     Name                 Used      Created            Device                                     UUID
      stratispool1  stratis-filesystem1  2.53 GiB  Mar 29 2019 07:48  /stratis/stratispool1/stratis-filesystem1  8714...e7db
                  

      Из вывода следует, что нагрузка на stratis-filesystem1 увеличилась. Увеличение нагрузки подтверждает, что файловая система динамически расширяется в соответствии с увеличением объема данных в результате создания файла /stratisvol/file2.

  9. Создайте моментальный снимок файловой системы stratis-filesystem1. Назовите его stratis-filesystem1-snap. Моментальный снимок предоставит доступ к любому файлу, который будет удален из stratis-filesystem1.

    1. С помощью команды stratis filesystem snapshot создайте моментальный снимок файловой системы stratis-filesystem1. Выполнение команды может занять около минуты.

      Следующая команда длинная, и ее необходимо вводить в одной строке.

      [root@servera ~]# stratis filesystem snapshot stratispool1 stratis-filesystem1 stratis-filesystem1-snap
    2. С помощью команды stratis filesystem list проверьте доступность моментального снимка.

      [root@servera ~]# stratis filesystem list
      ...output omitted...
      stratispool1  stratis-filesystem1-snap  2.53 GiB  Mar 29 2019 10:28  /stratis/stratispool1/stratis-filesystem1-snap  291d...8a16
    3. Удалите файл /stratisvol/file1.

      [root@servera ~]# rm /stratisvol/file1
      rm: remove regular file '/stratisvol/file1'? y
    4. С помощью команды mkdir создайте каталог с именем /stratisvol-snap.

      [root@servera ~]# mkdir /stratisvol-snap
    5. С помощью команды mount смонтируйте моментальный снимок stratis-filesystem1-snap в stratisvol-snap.

      Следующая команда длинная, и ее необходимо вводить в одной строке.

      [root@servera ~]# mount /stratis/stratispool1/stratis-filesystem1-snap /stratisvol-snap
    6. Убедитесь, что у вас по-прежнему есть доступ к файлу, удаленному из stratis-filesystem1, через моментальный снимок stratis-filesystem1-snap.

      [root@servera ~]# cat /stratisvol-snap/file1
      Hello World!
  10. С помощью команды umount размонтируйте /stratisvol и /stratisvol-snap.

    [root@servera ~]# umount /stratisvol-snap
    [root@servera ~]# umount /stratisvol
  11. Удалите из системы файловую систему stratis-filesystem1 и ее моментальный снимок stratis-filesystem1-snap.

    1. С помощью команды stratis filesystem destroy удалите снимок stratis-filesystem1-snap.

      [root@servera ~]# stratis filesystem destroy stratispool1 stratis-filesystem1-snap
    2. С помощью команды stratis filesystem destroy удалите файловую систему stratis-filesystem1.

      [root@servera ~]# stratis filesystem destroy stratispool1 stratis-filesystem1
    3. Выйдите из командной оболочки пользователя root и из системы servera.

      [root@servera ~]# exit
      logout
      [student@servera ~]$ exit
      logout
      Connection to servera closed.
      [student@workstation ~]$ 

Конец

На машине workstation выполните команду lab advstorage-stratis finish, чтобы закончить это упражнение. Сценарий удаляет разделы и файлы, созданные в ходе упражнения, для очистки среды.

[student@workstation ~]$ lab advstorage-stratis finish

Упражнение завершено.