NAS

Конспект вебинара HonorCup E=DC2 для сдачи HCNA Storage.

NAS (Network Attached Storage) – сетевая система хранения данных или сетевое хранилище. NAS, в отличии от SAN, имеет специальную надстройку в виде файловой системы над блочным хранилищем с LUN’ами (по сути, SAN + файловая система).

NAS, используя NIC, может подключаться к обычной ip/ethernet сети. Взаимодействие между клиентами/серверами и NAS осуществляется через CIFS/SMB/NFS протоколы.

Эволюция систем хранения – DAS -> SAN -> NAS (подробнее о других тут).

Какие недостатки есть у традиционного NAS (точнее low-cost NAS):

  • не реализована отказоустойчивость на уровне контроллера
  • не реализован балансинг на уровне контроллера (без взаимодействия контроллеров может произойти дублирование информации)
  • плохая масштабируемость
  • плохая управляемость

Поэтому в рамках крупных систем используется кластерный NAS – кластера из нескольких NAS контроллеров, которые осуществляют балансинг нагрузки (active-active) и обеспечивают отказоустойчивость (active-passive). Для внешних потребителей это выглядит как единая система. Обращение идет по общему имени (подробнее о варианте балансировки/отказоустойчивости на базе DNS в OceanStor 9000).

В кластерных системах устранены недостатки классических NAS: надежность, производительность, масштабирование, управление.

 

Архитектура NAS

У NAS систем три основных компонента:

  • NAS engine – аппаратная платформа поверх которой запускается ОС. NAS engine реализует интерфейсы для доступа к файлам системы хранения, по сути работая как шлюз (NAS gateway) между клиентами и СХД. Состоит из ОС (обычно Linux), файловой системы и протоколов доступа клиентов к NAS (CIFS/NFS/SMB).
  • Система хранения – классическая блочная система. Состоит из блоков + LUN, дисковые полки, мониторинг дисков, RAID. После обработки данных NAS engine данные сохраняются на полке.
  • Мониторинг и управление NAS – GUI/console.

Причем связь между NAS и СХД может быть на базе FibreChannel, а не IP – в таком случае NAS одной сетевой смотрит в IP сеть для получения запросов клиентов, а второй (HBA) в FC SAN.

 

Протоколы доступа к NAS

CIFS/SMB/NFS и HTTP/FTP – без них не было бы NAS т.к. это основные протоколы для взаимодействия с NAS. И CIFS и NFS позволяют ‘примонтировать’ удаленную систему к локальному компьютеру и работать с ним как с обычным диском (так можно сделать и используя и FTP).

У SMB есть крутые фишки вроде возможности хранения файлов виртуальных машин Hyper-V или файлов баз данных MS SQL Server в SMB файловой шаре. Так же в доке описаны и другие серверные возможности – повышение производительности (кластеризация), шифрование данных и прочие вещи.

* Для обмена файлами между Linux и Windows есть Samba.

CIFS – Common Internet File System – создан объединением вендоров (Microsoft/IBM/Intel) в середине 80х годов, ему на смену планомерно приходит SMB (Server Message Block, который по сути CIFSv2, его развивает Microsoft). Позволяет приложениям получить доступ к файлам на удаленных системах (NAS) используя в качестве транспорта сети TCP/IP. При использовании протокола клиент может видеть файлы удаленных систем как локальные. CIFS может быть использован для подключения к сетевым принтерам и другим сетевым ресурсам.

NFS – Network File System – аналог SMB в Unix/Linux системах. Придуман так же в середине 80х компанией SUN. Технология позволяет расшаривать файлы между Unix системами и получить доступ к файлам на удаленных системах (NAS) используя в качестве транспорта сети TCP/IP. При использовании протокола клиент может видеть файлы удаленных систем как локальные.

Сравнение CIFS (SMB) и NFS. CIFS работает только используя TCP, NFS может использовать и UDP (изначально) и TCP (добавили). CIFS не требует дополнительного софта для установки, в отличии от NFS. Эффективность CIFS выше, но чувствительность к сбоям хуже (больше влияния при сбое). Судя по первым строкам можно задать только один из протоколов (CIFS или NFS) для изменения одного файла в шаре, второй протокол (вторая шара) в таком случае будет иметь права read-only.

Пример взаимодействия приложения хоста с NAS через сеть: на хосте приложение формирует запрос и отправляет в сетевой стек, NAS обрабатывает  NAS engine принятый запрос и обращается к системе хранения (полке).

На производительность NAS может влиять как сеть, так и операции внутри NAS.

  • Сеть: задержки/ретрансмиты в сети (вследствие ошибок, плохой полосы, радио канала, высокой загрузки каналов или оборудования и прочих факторов) приводят к падению производительности NAS и задержке обработки клиентских запросов.
  • Операции в NAS: search for file directories (нагрузка на корень), device overload (нагрузка на NAS), деградация и низкая производительность RAID.

 

Сравнение File server и NAS

  • File server – огромное количество сервисов, простой в обслуживании. Недостатки: хуже надежность, хуже реализовано ограничение доступа к файлам.
  • NAS – высокая стабильность и надежность, большой объем данных, расширенное управление backup и хорошее управление доступа к данным. Недостаток: меньше сервисов.

Сравнение NAS и SAN

см. тут

 

Вопросы

все вопросы/ответы по теме тут

Leave a Reply