Андрей Кучинский, генеральный директор ARGO.TECH, - об истории NFS, нативной интеграции в ядро и о том, почему «крепость в горе» надёжнее «крепости рядом с горой».
NFS - не просто протокол. Это двигатель, который 40 лет назад позволил компьютерам перестать быть одиночками и начать работать как единая система. Мы работаем с этой технологией на уровне ядра: там, где она родилась.
- Андрей, как развивалось хранение данных и какую задачу решал NFS?
Андрей Кучинский: История хранения делится на три эпохи. Первая - мейнфреймы. Один огромный компьютер, все пользователи подключены через терминалы, данные лежат в одном месте.
Вторая эпоха - персональные рабочие станции. В начале 80-х компьютеры подешевели, и у каждого инженера появилась своя машина. Возникла фундаментальная проблема: данные разбежались. Раньше ты заходил на терминал и видел все файлы. Теперь у тебя свой компьютер, у коллеги свой - чтобы поделиться файлом, нужно было копировать его на дискету и идти к соседу.
Именно эту задачу - вернуть прозрачность доступа к данным в распределённой среде - и решал NFS. Sun Microsystems разработала его в 1984 году для операционной системы SunOS.
Андрей Кучинский: Перед разработчиками стояло четыре ключевых требования.
Именно эти четыре цели определили архитектуру NFS.
Андрей Кучинский: Первое решение - протокол без сохранения состояния (stateless). Каждый запрос к серверу содержит всю информацию для его выполнения. Сервер не помнит, что было раньше. Если сервер упал и перезагрузился - клиент просто повторяет запрос, и всё работает.
Второе - уровень VFS (Virtual File System). Sun реализовала в 4.2BSD UNIX специальный слой абстракции, который скрывал от приложений разницу между локальными и удалёнными файлами. Приложение работает с файлом через VFS, а VFS решает, куда направить запрос - на локальный диск или по сети на NFS-сервер.
Именно VFS стал тем «клеем», который позволил NFS стать прозрачным для пользователя.
- То есть NFS решил проблему «разбежавшихся данных»?
Андрей Кучинский: Да, и не только. Он решил экономическую задачу. Представьте университет или корпорацию с сотнями рабочих станций. Если у каждой свой диск - нужно бэкапить каждую, обслуживать, менять диски, когда они умирают.
С NFS вы храните данные централизованно на одном сервере. Рабочие станции могут быть даже бездисковыми - они загружаются по сети и монтируют свои файловые системы с NFS-сервера.
Это была революция. Компания могла купить один мощный сервер хранения и десятки дешёвых рабочих станций. Данные централизованы, бэкап один, администрирование одно.
Андрей Кучинский: Везде, где нужно разделить файлы между машинами. Основная задача не изменилась - дать нескольким машинам доступ к одному набору файлов. Но масштаб и контекст другие.
В современной инфраструктуре NFS - это:
- Ходят разговоры о «нативности». Что это значит?
Андрей Кучинский: Это ключевой момент. NFS бывает разным. Есть пользовательские реализации - когда сервер NFS работает как приложение в пространстве пользователя. Есть ядерные - когда код NFS встроен в ядро операционной системы.
Разница фундаментальная. Когда NFS работает в пространстве пользователя, каждый запрос проходит через системные вызовы, переключения контекста, копирование данных между ядром и пользовательским процессом. Это оверхед. Для высоконагруженных сред это критично.
Когда NFS нативен на уровне ядра - операции с файлами обрабатываются напрямую. Нет переключений контекста. Нет лишнего копирования. Ядро «знает» о NFS так же, как о локальной файловой системе.
Это особенно важно в связке с ZFS. В наших системах NFS - не отдельный сервис, а часть файловой системы. Вы настраиваете шару одной командой, и она становится доступна по сети. Это нативная интеграция, а не надстройка.
Андрей Кучинский: Вспомните «Властелин колец». Хельмова Падь - не просто крепость. Это гора, в которой вырублены залы, стены и башни. Она стоит на монолитной скале, которую невозможно подкопать, сдвинуть или обойти. Стены - продолжение скалы, а не отдельная постройка.
NFS в пользовательском пространстве - это как построить крепость рядом с горой, а не внутри неё. Стены стоят, но они не часть скалы. Их можно обойти, подкопнуть, отрезать от источника.
Хельмова Падь держится не благодаря тому, что помнит атаки. Она держится архитектурно - скала, стены, врата. Даже если защитники устали, крепость стоит.
- Интересное сравнение, неожиданное.
Андрей Кучинский: Главное - в точку! Для нашего решения NFS - это крепость в горе. Её нельзя отрезать от фундамента, потому что фундамент - это она сама.
Андрей Кучинский, генеральный директор ARGO.TECH. Более 20 лет в ИТ-проектах, эксперт в управлении крупными проектами и сделками. Работал с Dell EMC,…
Читать далее→Почему ARGO.TECH сделала ставку на «редкую» технологию, как Oracle повлиял на судьбу этого кода и что значит быть частью мирового сообщества…
Читать далее→Андрей Кучинский, генеральный директор ARGO.TECH, о том, как изменится технологический ландшафт в области СХД. К началу 2026 года рынок уже прошёл фазу…
Читать далее→