SMB 3.0

Для начала терминологическое вступление. Вокруг файлового протокола Microsoft довольно много путаницы, начнем с ее распутывания.

  • SMB“Server Message Block” – первоначальная версия протокола, разработанная еще во времена MS LAN manager 1.0(почти уже никто не застал те времена, и не помнит что это, совсем каменный век IT, середина 80-х). Некоторый отголосок этой аббревиатуры остался в названии опенсорсного продукта SAMBA, реализации файлового протокола SMB путем его реверс-инжиниринга.
  • CIFS – (он же SMB-“просто” или SMB 1.0) – “Common Internet File System” – название CIFS появилось, когда Microsoft в 1996 году начала процесс стандартизации уже существовавшего протокола, в качестве RFC в IETF. Процесс стандартизации этот застопорился где-то на начальном этапе, и MS решила не продолжать его, остановившись на проведении в RFC первой версии драфта (сегодня его статус уже expired). Тем не менее название CIFS в индустрии закрепилось, и постепенно почти вытеснило SMB.
  • SMB 2.0 – протокол, появившийся в Windows Server 2008, Vista, и поддерживающийся в более поздних OS. Microsoft осознала в какой-то момент, что файловый протокол, разработанный в середине 80-х, пусть и весьма совершенный на тот момент, и имеющий возможности постепенного расширения и добавления возможностей на уровне протокола, страшно отстал от современности (ситуация как примерно с Internet Explorer), страдает рядом существенных проблем, которые стали более заметны с годами. ?? вот в компании дошли руки до начала глубокой модернизации протокола SMB. Обратите внимание, что SMB 2.0 уже некорректно называть “CIFS”. CIFS это только SMB 1.0, поэтому постепенно название CIFS будет уходить. Я, в свою очередь, в этом блоге также буду постепенно избавляться от термина “CIFS”. Если мы говорим о новых версиях файлового протокола Microsoft, то мы будем называть его SMB (v2.0, v2.1, v2.2 AKA v3.0). В SMB 2.0 (и последующих его модификациях: 2.1, 2.2) были улучшены многие насущно важные аспекты, мешавшие SMB 1.0. Протокол был значительно упрощен, и, вместе с тем, улучшен. Появилась возможность кэширования и объединения нескольких команд в одну “цепочку”. Улучшилась работа по “длинным” сетям с большими уровнями задержек, что позволили использовать SMB 2.0 даже в географически распределенных локальных сетях, соединенных через WAN и VPN. Улучшилась реакция на кратковременные дисконнекты сети и масштабируемость.
    Но работы в группе разработки SMB не стояли на месте, и к выходу Server 2012 была готова новая, еще более глубоко переработанная версия:
  • SMB 3.0 – это самая новая на сегодня версия файлового протокола Microsoft, с которым компания готова побороться с некоторым вынужденным засилием NFS в файловых системах хранения (NAS). В ее разработке MS буквально скакнула через несколько ступенек, и подготовила крайне интересный и современный продукт, с множеством новинок и хорошим заделом на будущее. Продолжая развитие SMB 2.0, в Microsoft еще более значительно улучшили производительность работы протокола, реализовали такие интересные вещи, как SMBDirect, с использованием RDMA Transport Protocol (Remote DMA, технология, используемая в высокоскоростых сетях, таких как 10G Ethernet и Infiniband) и поддержку многоканального режима, возможность использовать Remote VSS, BranchCache v2, Transparent Failover, шифрования. Немалую роль в популяризации и распространении SMB 3.0 должен сыграть и MS Hyper-V, впервые поддерживающий в его лице файловые протоколы для подключения стораджа.

Официально о поддержке, кроме самой Microsoft, уже заявили EMC и NetApp, два крупнейших игрока рынка NAS, а также поддержка SMB 3.0 появится и в открытом проекте SAMBA. Есть надежда, что к этим игрокам, после выхода Server 2012 подтянутся и остальные, уж больно много полезного появилось в новом SMB.

Так, например, SMB 3.0 явственно нацелился не только на традиционный для SMB 1.0/CIFS/SMB 2.0 сегмент канала связи от сервера до конечной клиентской машины, но и на межсерверный коннект (как бы ни звучало это дико и невообразимо для Old Skool: “Между серверами по бэкбону гонять данные? MS SQL? Exchange? По CIFS SMB? Да вы шутите!”). Для этого в нем появились средства SMBDirect и multichannel, позволяющие полноценно использовать производительные возможности вплоть до все еще невообразимого многими 40G Ethernet. Например можно объединить на уровне протокола (а не EtherChannel) в мультилинковый “транк” четыре 10G-линка. А использование RDMA (наиболее известным пользователем технологий RDMA является протокол Infiniband, славящийся своей низкой латентностью) и iWARP (я рассказывал о них в давней заметке в этом блоге) позволит даже выйти по уровню латентности и полосе пропускания для файлового протокола на уровень FC, при этом сохранив все преимущества файлового, а не тупого блочного протокола.

SMB 2.0 поддерживается в системах NetApp уже довольно давно, и требует просто включения соответствующей опции в конфигурации (> options cifs.smb2.enable on и > options cifs.smb2.client.enable on), так что если вы используете в своей сети клиентов не ниже Windows Vista/7, и сервера не ниже Server 2008, то есть смысл включить на сторадже эти опции и перейти целиком на версию протокола SMB 2.0, вы можете получить довольно заметный прирост в производительности.

Поддержка SMB 3.0 в NetApp появится в версии Data ONTAP 8.2, планируемой к выпуску в RC осенью этого года.

Комментарии (18)

  1. navion:

    А правда, что NetApp не дружит с клиентами Samba?

  2. navion:

    В данном случае надо скорее говорить о том, что _клиент SAMBA_ не дружит с NetApp, так как SAMBA это reverse engineering, а NetApp - официальный, лицензированный протокол.

    Про “не дружит” же - ну, SAMBA такой странный предмет… что там происходит в нем мало кто знает в полной мере. Наверное можно сконфигурировать такое, что оно перестанет дружить, бесспорно.

  3. Pavel Kosachev:

    А правда, что при включенном smb2 на netapp вы не сможете получить доступ к SMB-папкам на netapp c Windows 8 и Windows 2012, хотя это обходится , включением smb v1, которая была включена по умолчанию?

  4. Правда состоит в том, что сдуру сломать можно даже нефритовый жезл :) а не только доступ по SMB.
    Владение нетаппом не делает сисадмина мистическим образом мастером в настройке оборудования и софта.

  5. Pavel Kosachev:

    Отвечая не по существу вопроса вы тоже ставите под сомнение свой статус “придворного” гуру.

  6. Pavel Kosachev:

    Я не увидел тут “вопроса по существу”. Выше вы привели утверждение вида: “А правда, что у автомобиля стучит двигатель?”

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

    Во-вторых это “вопрос не по адресу”. Это скорее к Release Notes соответствующего релиза Data ONTAP и Windows, а также в Bugs Online NetApp и в поддержку обоих вендоров. Но уж точно не в комментарии к записи в блоге.

    Нет, то есть вы можете, конечно, и хотя результат будет нулевой, но если вас в принципе не интересует ответ - то пожалуйста, можете здесь. :)

    > статус “придворного” гуру

    Какого гуру? При- какого? ;)

  7. navion:

    > А правда, что NetApp не дружит с клиентами Samba?

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

  8. navion:

    > Так что ответ на ваш вопрос - нет, неправда, дружит, в той мере, в какой Samba корректно поддерживает реализацию спецификации SMB.
    Лучше посмотрите в базе поддержки. Вот тут (http://www.radio-t.com/) рассказывали про проблемы у RHEL с NetApp и про отказ от поддержки такой конфигурации.

  9. navion:

    > Лучше посмотрите в базе поддержки. Вот тут (http://www.radio-t.com/) рассказывали про проблемы

    ;) Так все же “в базе поддержки” или ” вот тут radio-t.com/”? ;)
    Мне кажется это все же разные веши, не так ли?

  10. navion:

    > Мне кажется это все же разные веши, не так ли?
    Там говорили, а база поддержки намного лучше подходит для поиска проблем, чем Гугл :)

  11. navion:

    1. Ну мало ли что на каком заборе говорили писали? В мире столько криворуких сисадминов, что реагировать на каждый “а у меня не заработало” - никакого рабочего времени не хватит.

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

    2. Повторюсь тут еще раз: Я считаю, что в ситуации, когда есть официальная поддерживаемая реализация версии протокола (NetApp), с которой (иногда, возможно, в отдельных частных случаях) не работает неофициальная, сделанная с помошью реверс-инжиниринга протокола, реализация (SAMBA), я бы предположил, что проблема не в NetApp, а в SAMBA. Я где-то неправ?

  12. Odna Ptichka:

    Официальная - позиция есть матрица совместимости в ней есть разные версии Win и MacOS клиентов. Поддержка означает, что NetApp тратит свои деньги и свои ресурсы. C другой стороны NetApp не запрещает использовать другие клиенты, например, Samba. Если проблема с клиентом Samba воспроизводится и с официально поддерживаемыми, то NetApp будет ее решать.

    Если проблема связана только с особенностями SAMBA, то есть скорее надежда на сообщество разработчиков.

    ??МХО, логично…..

    ——-

    Does Data ONTAP support Samba clients or domain controllers?
    KB ID: 3010138

    Answer

    NetApp does not perform full interoperability testing between the Samba client and Data ONTAP. Should an issue arise, using the resources provided by Samba (documentation, forums, etc.) is recommended as a first step. NetApp support personnel will assist on a best effort basis.

    NetApp does not currently support Samba domain controllers in any capacity.

  13. Andrey:

    С включенным SMB2.0 — не работают Previous Versions. Отключаешь SMB 2.0 — работает.

    Кто-нибудь знает, когда SnapDrive 6.5 GA/release появится с поддержкой Windows Server 2012 ?

  14. Andrey:
    Email : xxx@xxx.com

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

    > С включенным SMB2.0 — не работают Previous Versions. Отключаешь SMB 2.0 — работает.

    Работают и с SMB2.0 и без. Строго говоря они вообще никак не связаны с SMB. Это функция VSS.

  15. Антон:

    Добрый день.

    Скажите, пожалуйста, не слышно ли чего-нибудь о сроках релиза Data ONTAP 8.2? На носу строительство небольшого “облака” на 2012 сервере, и уж очень хочется его с использованием SMB 3.0 построить :)

    Заранее спасибо за любую информацию.

    С уважением,
    Антон.

  16. Антон:
    Ждем уж, ждем… в мае 2012 года обещали еще в 2012 году выпустить, в августе была создана закрытая группа https://communities.netapp.com/groups/ontap-82-beta-program по обкатке беты, так что по всем признакам должна быть уже вот-вот. Но там довольно много существенных изменений в коде напланировано, так что, подозреваю, вылизывание еще идет.

  17. Василий:

    Добрый день! расскажите плз про SMB 3.0 в вышедшей Data ONTAP 8.2. Как она реализуется на разных линейках, в 7-mode и cluster. спасибо

  18. Василий:

    SMB 3.0 в Data ONTAP сейчас есть только в Cluster-mode, к сожалению, в 7-mode его все еще нет (только 2.1).

Оставить комментарий