Введение в мир хранения (Часть 2)
В последней статье по основам хранения мы обсудили терминологию, которая используется при обсуждении хранилища. В этой статье мы немного углубимся и обсудим архитектуру. Большая часть этого будет с точки зрения EMC, поскольку это то, с чем я больше всего знаком. Однако общие концепции должны применяться ко всем поставщикам. По сути, нам нужны избыточные пути, идущие от наших массивов к нашим коммутаторам хранилища и к нашим серверам.
На следующей диаграмме показана задняя часть VNX Disk Processor Enclosure (DPE) с процессорами хранения, коммутатором Fibre Channel brocade и двумя серверами. Корпус дискового процессора — это мозг массива. Вот как выглядит очень простая SAN.
фигура 1
Обратите внимание, что SP A находится справа, а SP B — слева, и именно так это выглядело бы, если бы вы смотрели на заднюю часть массива. Это немного нелогично, однако, если бы вы смотрели на переднюю часть массива, это показалось бы правильным тем из нас, кто читает слева направо. Связи между каждым устройством представляют собой оптоволоконные кабели. Всегда может быть больше, но я сделал это простым для этого примера.
Процессоры хранения (SP A и SP B) — это механизмы, которые мы используем для передачи данных. Есть два, чтобы обеспечить высокую доступность. Если SP A выходит из строя по какой-либо причине, SP B должен иметь возможность обрабатывать все связи с хранилищем, если все настроено правильно. Как вы можете видеть, у нас есть один кабель, идущий от SP A к коммутатору FC, и один от SP B. Несмотря на то, что существуют разные методы многопутевого подключения, это должно предотвратить любые перебои в работе. Разные серверы могут использовать разные типы множественных путей для одного и того же массива. Если вы используете массивы EMC, рекомендуется использовать PowerPath, чтобы включить многопутевое подключение с серверов Windows и Linux. Вы можете использовать PowerPath с хостами VMware ESXi, но VMware довольно хорошо справляется с несколькими путями.
Распространенные методы многопутевого доступа:
- Активный/активный — позволяет обоим процессорам хранения быть активными одновременно. Они оба передают данные из массива на серверы.
- Активный/пассивный — это означает, что один процессор хранилища доставляет данные для определенного луна (логического блока) на определенный сервер. Если процессор активной системы хранения выйдет из строя, процессор пассивной системы хранения возьмет на себя резерв.
- Доступ к асимметричному логическому устройству (ALUA) — хост определяет лучший путь. Хост будет использовать некоторые пути как активные, а некоторые как второстепенные. В более новых версиях VMware ESXi это предпочтительнее использовать несколько путей. Вероятно, это чрезмерное упрощение. В ALUA обычно существует один оптимизированный путь, при котором один процессор хранения владеет луной и будет обмениваться данными с конкретным сервером. Однако он будет использовать неоптимизированный путь, если хост сочтет это необходимым.
Эти методы назначаются в массиве, хотя вы можете сделать несколько вещей на хосте, чтобы максимизировать ввод-вывод хранилища, используя либо PowerPath, либо встроенные функции в VMware.
Теперь понятно, почему у нас есть два процессора и как минимум одно соединение от каждого процессора к коммутатору. Я должен отметить, что нет абсолютной необходимости использовать коммутатор, но, как и в случае с сетевым коммутатором, вы используете его, чтобы вы могли подключить несколько серверов к массиву. Если у вас недостаточно портов на процессорах хранения, потребуется коммутатор.
Подобно созданию VLAN на сетевом коммутаторе, чтобы позволить определенным частям инфраструктуры обмениваться данными, нам необходимо создать зоны на коммутаторе Fibre Channel, чтобы серверы могли обмениваться данными с массивом. Как показано на рисунке выше, у нас также есть два сервера, которые подключаются к коммутатору. На каждом сервере есть два HBA (адаптера главной шины). Это опять-таки допускает многоканальность и избыточность. На коммутаторе мы хотим поместить каждый сервер HBA в зону с каждым процессором хранилища. Таким образом, мы можем потерять не только процессор хранилища, но и HBA или даже порт на коммутаторе. Если бы мы хотели сделать его еще более избыточным, мы бы использовали следующую конфигурацию.
фигура 2
В этой конфигурации я добавил еще один переключатель, который допускает отказ одного из переключателей. У каждого сервера есть один HBA, который подключается к первому коммутатору, и один, который подключается ко второму коммутатору. В массиве мы добавили еще один порт для каждого процесса хранения, который идет ко второму коммутатору. Теперь у нас есть так называемые ткани для хранения. Несколько фабрик означает, что вы можете отключить одну фабрику для обслуживания или из-за проблемы, и ваши производственные системы будут продолжать работать. Например, вы можете обновить свой массив, по одному процессору хранения за раз, или обновить свои коммутаторы по одному коммутатору за раз, и теоретически ваша производственная инфраструктура продолжит работу.
Хотя мы используем WWN или глобальные имена для зонирования волоконно-оптических каналов и для регистрации инициатора хоста в массиве, мы используем IQN (полные имена iSCSI) при работе с iSCSI. Нам по-прежнему нужна избыточность, как показано на диаграммах выше, но для этого мы будем использовать сетевые коммутаторы и сетевые кабели. Скорее всего у нас на хостах будет программный инициатор iSCSI.
Мы также можем использовать файловые системы в наших центрах обработки данных, особенно с vSphere. NFS поддерживается в последних версиях vSphere. Пока у нас есть IP-адрес VMkernel для нашего хранилища, который должен находиться в другой VLAN, а также IP-адрес, указанный в нашей файловой системе в той же VLAN, мы можем добавлять хранилища данных с помощью NFS. Хранилище NFS не будет отформатировано как хранилище VMFS (VMware File System), поэтому вы не получите некоторых функций, которые сопровождают VMFS. Начиная с vSpehre 5.x мы также можем делать несколько ссылок на хранилище NFS. Нам нужно иметь пару выделенных портов для нашего хранилища. Затем мы создаем два vSwitch с одним активным портом и другим резервным портом. На втором vSwitch мы будем использовать те же порты, но резервный будет активным, а активный будет резервным на втором vSwitch.
В настоящее время в большинстве центров обработки данных среднего уровня для создания архитектуры хранения обычно используется блочное хранилище (SAN). Однако многие малые предприятия будут использовать хранилище на уровне файлов, особенно с VMware. За последние несколько лет хранилище сильно изменилось, поэтому полезно следить за тем, что происходит. Лучшее, что вы можете сделать, это поговорить со многими поставщиками, чтобы узнать, что лучше всего подходит для вашей конкретной среды. SAN может быть очень дорогим и, возможно, сложным в реализации, но NAS может не дать вам всего, что вам нужно в плане производительности и гибкости.
Как упоминалось в предыдущей части этой серии статей, на рынок также выходит программно-определяемое хранилище (SDS). Некоторыми примерами поставщиков, использующих программный подход к хранению, являются VMware (VSAN), Maxta, Nexenta, Nutanix, SimpliVIty и Scale Computing. Во всех этих случаях хранилище абстрагируется и управляется комплексным программным уровнем, который добавляет функции хранения, которые мы знаем и любим, такие как дедупликация, сжатие и многое другое.
Исследуя мир систем хранения данных, не упускайте из виду этот растущий сегмент рынка.