Вступление

Вы можете использовать облачное хранилище для локального резервного копирования данных, чтобы сократить расходы на инфраструктуру и администрирование. Есть несколько способов резервного копирования вашей локальной инфраструктуры в облако, здесь я воспользуюсь гибридным облаком (часть вашей инфраструктуры находится в облаке, а часть вашей инфраструктуры находится в локальной среде) для этого. В этом посте я покажу решения AWS Storage Gateway для моста между локальными данными и облаком. Обычный вариант использования - это аварийное восстановление, резервное копирование и восстановление, а также многоуровневое хранилище.

Существует 3 типа Storage Gateway:

Шлюзы хранения

Прежде чем показать, как я это реализовал, я покажу краткий обзор каждого из них.

Файловый шлюз

Базы данных и приложения часто копируются непосредственно на локальный файловый сервер. Теперь вы можете просто направить эти резервные копии на файловый шлюз, который копирует данные в Amazon S3. Поддерживает стандарт S3, S3 IA, S3 One Zone IA, поэтому вы можете настроить политику корзины для перемещения этих данных в любой класс хранилища в Amazon S3 в зависимости от ваших потребностей.

Функции:

  • Протокол NFS / SMB поддерживает
  • Политики жизненного цикла в Amazon S3
  • Windows ACL
  • Последние использованные данные кэшируются в файловом шлюзе.
  • Поддержка S3 Object Lock
  • Оптимизированная пропускная способность
  • Может быть установлен на многих серверах

Объемный шлюз

Шлюз томов предоставляет либо локальный кеш, либо полные тома локально, а также сохраняет полные копии ваших томов в облаке AWS. Volume Gateway также предоставляет Amazon EBS моментальные снимки ваших данных для резервного копирования или аварийного восстановления.

Функции:

  • Блочное хранилище с использованием протокола iSCSI с поддержкой S3
  • При поддержке моментальных снимков EBS, которые могут помочь восстановить локальные тома
  • Локальный кеш недавно использованных данных
  • Два типа шлюза томов хранилища: * Кэшированные тома: доступ с малой задержкой к последним данным * Хранимые тома: весь набор данных находится на месте, резервное копирование на S3 по расписанию

Ленточный шлюз

Вы можете использовать Tape Gateway для замены физических лент виртуальными в AWS. Ленточный шлюз действует как незаменимая замена ленточным библиотекам, ленточным носителям и службам архивирования, не требуя изменений в существующем программном обеспечении или рабочих процессов архивирования. Чаще всего используется для резервного копирования на предприятии.

Функции:

  • Библиотека VirtualTape (VTL) при поддержке Amazon S3 и Glacier
  • Резервное копирование данных с использованием существующих процессов на магнитной ленте (и интерфейса iSCSI)
  • Работает с ведущими поставщиками программного обеспечения для резервного копирования.

В итоге, если вы используете: Файловый шлюз = ›Доступ к файлам / NFS (при поддержке S3), Шлюз томов =› Тома / Блочное хранилище / iSCSI (при поддержке S3 с EBS снимки) Ленточный шлюз = ›Решение VTLTape / Резервное копирование с помощью iSCS (при поддержке S3 и Glacier)

Типы шлюзов хранения

Реализация шлюза томов

Как я уже говорил, есть много способов выбрать свою стратегию, каждая компания имеет индивидуальные потребности. Volume Gateway хранит и управляет локальными данными в Amazon S3 от вашего имени и работает либо в режиме кеширования, либо в режиме хранения. В моем случае, несмотря на то, что резервный раздел является общим файловым ресурсом, я выбрал тип Volume Gateway из-за следующих особенностей:

  • Мне нужен локальный кеш недавно использованных данных для доступа по мере необходимости (обеспечивает доступ с низкой задержкой к облачному хранилищу)
  • Мне нужны моментальные снимки EBS, которые при необходимости восстанавливают локальные тома (я использовал Volume Gateway в сочетании с локальными файловыми серверами Linux, чтобы обеспечить масштабируемое хранилище для локальных файловых приложений с опциями облачного восстановления. Я использовал архитектура хранимых томов для локального хранения всех данных и асинхронного резервного копирования моментальных снимков на определенный момент времени в AWS.)

Используя хранимые тома, вы можете хранить свои основные данные локально, одновременно выполняя асинхронное резервное копирование этих данных в AWS. Хранимые тома предоставляют вашим локальным приложениям доступ с малой задержкой ко всем их наборам данных. В то же время они обеспечивают надежное внешнее резервное копирование. Вы можете создавать тома хранения и монтировать их как устройства iSCSI со своих локальных серверов приложений. Данные, записанные на ваши хранимые тома, хранятся на вашем локальном хранилище. Для этих данных выполняется асинхронное резервное копирование в Amazon S3 в виде снимков состояния Amazon Elastic Block Store (Amazon EBS). Вы можете поддерживать объемное хранилище локально в центре обработки данных. То есть вы храните все данные своего приложения на своем локальном хранилище. Это решение идеально, если вы хотите хранить данные локально, потому что вам нужен доступ с малой задержкой ко всем вашим данным, а также для поддержки резервного копирования в AWS.

См. Следующую схему об архитектуре хранимых томов:

Архитектура томов хранения

Вы можете развернуть Volume Gateway как виртуальную машину или на экземпляре Ec2. В этом случае я использовал локальную инфраструктуру с архитектурой виртуальной машины, но вы можете использовать ее по своему усмотрению.

Создать тип шлюза

Прежде чем создавать том для хранения данных, необходимо создать шлюз и указать тип шлюза, который вы будете использовать.

Сначала откройте Консоль управления AWS по адресу https://console.aws.amazon.com/storagegateway/home и выберите регион AWS, в котором вы хотите создать шлюз.

Выберите шлюз

Теперь необходимо выбрать платформу хоста и загрузить виртуальную машину. Вы должны выбрать вариант гипервизора, развернуть загруженный образ на свой гипервизор. Добавьте по крайней мере один локальный диск для кэша и один локальный диск для буфера загрузки во время развертывания. См. Некоторые требования здесь:

Требования к оборудованию для локальных виртуальных машин

При развертывании шлюза локально необходимо убедиться, что базовое оборудование, на котором вы развертываете виртуальную машину шлюза, может выделить следующие минимальные ресурсы:

ВМ назначены четыре виртуальных процессора.

16 ГиБ зарезервированной оперативной памяти для файловых шлюзов

Для шлюзов томов и ленточных шлюзов ваше оборудование должно выделить следующие объемы ОЗУ:

16 ГиБ зарезервированной ОЗУ для шлюзов с размером кэша до 16 ТиБ

32 ГиБ зарезервированной ОЗУ для шлюзов с размером кэша от 16 до 32 ТиБ

48 ГиБ зарезервированной ОЗУ для шлюзов с размером кэша от 32 до 64 ТиБ

80 ГиБ дискового пространства для установки образа ВМ и системных данных.

Хост-шлюз

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

Установка VMware

Сохраните свой диск, используя параметр «Толстый предоставленный формат». Когда вы используете расширенное выделение ресурсов, дисковое хранилище выделяется немедленно, что приводит к повышению производительности. Напротив, тонкое выделение ресурсов выделяет хранилище по запросу. Распределение по требованию может повлиять на нормальное функционирование AWS Storage Gateway. Для правильной работы Storage Gateway диски виртуальных машин должны храниться в формате с расширенным резервированием.

Настройте виртуальную машину шлюза для использования паравиртуализированных контроллеров дисков.

Теперь вам нужно выбрать конечную точку службы. Это используется для того, как ваш шлюз будет связываться с сервисами хранения AWS через общедоступный Интернет. В моем случае я использовал конечную точку общедоступной службы.

Следующим шагом будет подключение вашего шлюза. Для этого необходимо получить IP-адрес или ключ активации вашей шлюзовой виртуальной машины. Итак, в моей среде VMware я подключился через консоль и установил IP-адрес. Итак, чтобы подключить шлюз, убедитесь, что виртуальная машина вашего шлюза запущена для успешной активации и есть ли у вас доступ к IP-адресу, который вы настроили ранее.

Теперь вам нужно настроить свой шлюз для использования дисков, которые вы создали при развертывании устройства, и в соответствии с требованиями типа шлюза. Поскольку я использовал для хранения тома, мне пришлось настроить буфер загрузки в соответствии с требованиями. Сильфон - это таблица с различными требованиями к размеру в зависимости от типа, который вы будете использовать.

Рекомендуемый размер

Создать том

После создания шлюза пора создать том хранилища, на которое ваши приложения читают и записывают данные. Ранее вы выделили диски для буфера загрузки в случае сохраненного тома - Volume Gateway.

Шлюз

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

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

Вам также необходимо указать целевой том ISCSI.

Создать том

Вам будет предложено настроить аутентификацию главы, защиту провайдера от атак воспроизведения, требуя аутентификации для доступа к целевым объемам хранилища. Если вы его не примете, том будет принимать соединения от любого инициатора ISCSI.

После создания тома вы увидите, какие тома можно смонтировать на вашем инициаторе.

Доступные объемы

Использование тома

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

В зависимости от того, какой дистрибутив операционной системы Linux вы используете, необходимо установить упаковщик для управления ISCSI (iscsi-initiator-utils - Red Hat Enterprise Linux Client)

После установки найдите целевые устройства тома или VTL, определенные для шлюза. Используйте следующую команду обнаружения.

iscsiadm --mode discovery --type sendtargets --portal [GATEWAY_IP]:3260

Результат команды обнаружения должен быть таким:

[GATEWAY_IP]:3260,1 iqn.1997-05.com.amazon:part-home
[GATEWAY_IP]:3260,1 iqn.1997-05.com.amazon:disk-test-purpose

Теперь необходимо подключиться к цели.

iscsiadm --mode node --targetname iqn.1997-05.com.amazon:[ISCSI_TARGET_NAME] --portal [GATEWAY_IP]:3260,1 --login

Обязательно замените [ISCSI_TARGET_NAME] на значение, которое вы установили ранее и, очевидно, IP-адрес шлюза, команда должна быть такой:

iscsiadm --mode node --targetname iqn.1997-05.com.amazon:disk-test-purpose --portal [GATEWAY_IP]:3260,1 --login

Успешный вывод должен быть таким:

Logging in to [iface: default, target: iqn.1997-05.com.amazon:disk-test-purpose, portal: [GATEWAY_IP],3260] (multiple)
Login to [iface: default, target: iqn.1997-05.com.amazon:disk-test-purpose, portal: [GATEWAY_IP],3260] successful.

Убедитесь, что том подключен к клиентскому компьютеру (инициатору). Для этого используйте следующую команду.

ls -l /dev/disk/by-path
total 0
lrwxrwxrwx 1 root root  9 abr  7 09:59 ip-[GATEWAY_IP]:3260-iscsi-iqn.1997-05.com.amazon:disk-test-purpose-lun-0 -> ../../sdd

Убедитесь, что прикрепленный том в нашем случае - / dev / sdd, поэтому мы отформатируем его для использования этого устройства.

Форматирование тома с использованием логических томов

Теперь давайте воспользуемся LVM, чтобы обеспечить большую гибкость, а также возможность динамического изменения размера при необходимости без перезапуска.

Первое, что нужно сделать, - это создать физический диск на устройстве, созданный ранее на шлюзе хранилища и инициированный ISCSI.

pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.

Убедитесь, что физический том был создан.

pvdisplay /dev/sdd
  "/dev/sdd" is a new physical volume of "20,00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd
  VG Name               
  PV Size               20,00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Vy51TU-sSDDF-SSDFD-Hnzz-a0uP-u3WP-gI0E7C

Теперь вам нужно создать группу томов или добавить уже существующую. Например, у меня уже был диск с выделенными 500 ГБ, если мне нужно его расширить, мне нужно только добавить диск в существующую группу томов и расширить существующий логический том. Но пока мы создадим группу томов и создадим логический том. Теперь давайте создадим группу томов и добавим созданный физический том.

vgcreate stg_gtw /dev/sdd
Volume group "stg_gtw" successfully created
vgdisplay stg_gtw
  --- Volume group ---
  VG Name               stg_gtw
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <20,00 GiB
  PE Size               4,00 MiB
  Total PE              5119
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5119 / <20,00 GiB
  VG UUID               ZYAOrS-zgsdd-To9k-SDDS-gwpn-xPzo-DEdFDF

Итак, давайте создадим логический том со 100% размером группы томов (в данном случае 20 ГБ):

lvcreate -l 100%FREE -n lv_disk_teste stg_gtw
Logical volume "lv_disk_teste" created.
lvdisplay /dev/stg_gtw/lv_disk_teste
  --- Logical volume ---
  LV Path                /dev/stg_gtw/lv_disk_teste
  LV Name                lv_disk_teste
  VG Name                stg_gtw
  LV UUID                EqsSDDe-OsGG4-a0Tr-djFFGX-fKSy-Enu6-jCDF1QV
  LV Write Access        read/write
  LV Creation host, time .local, 2021-04-07 10:36:17 -0300
  LV Status              available
  # open                 0
  LV Size                <20,00 GiB
  Current LE             5119
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:4

После создания давайте отформатируем раздел для хранения данных.

> mkfs.ext4 /dev/stg_gtw/lv_disk_teste
mke2fs 1.44.5 (15-Dec-2018)
Creating filesystem with 5241856 4k blocks and 1310720 inodes
Filesystem UUID: s23e234-569c-4fdf-a4b2-5856e790e3fa
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   
> mkdir /mnt/disk-teste-purpose
> mount /dev/stg_gtw/lv_disk_teste /mnt/disk-teste-purpose
> df -h
Sist. Arq.                          Tam. Usado Disp. Uso% Montado em
udev                                2,0G     0  2,0G   0% /dev
tmpfs                               393M   26M  368M   7% /run
/dev/mapper/vg--root-lv--root        14G  2,9G   11G  22% /
tmpfs                               2,0G     0  2,0G   0% /dev/shm
tmpfs                               5,0M     0  5,0M   0% /run/lock
tmpfs                               2,0G     0  2,0G   0% /sys/fs/cgroup
/dev/mapper/storageGW-lv_volHomeGW  493G  398G   70G  86% /mnt/storageGW
tmpfs                               393M     0  393M   0% /run/user/0
/dev/mapper/stg_gtw-lv_disk_teste    20G   45M   19G   1% /mnt/disk-teste-purpose

Наконец-то готово !! Теперь вы можете хранить свои файлы или любые данные (любую базу данных и т. Д.) В созданном разделе, который был автоматически скопирован в Amazon AWS с помощью снимков состояния EBS.

Последний совет, если вы хотите запускать инициатор при загрузке, вам нужно запустить узел автоматически, редактируя следующий файл:

vim /etc/iscsi/nodes/iqn.1997-05.com.amazon:disk-test-purpose/[GATEWAY_IP],3260,1/default

установите для параметра node.startup автоматический режим.

...
node.startup = automatic
...

Очевидно, вам нужно настроить fstab для монтирования файловой системы при загрузке, а также для запуска службы scsci при загрузке.

Теперь вы можете создать план для моментального снимка EBS, чтобы вы могли запланировать автоматическое создание моментальных снимков, указав период и срок хранения.

Надеюсь, этот пост был для вас полезен.

Больше контента на plainenglish.io