Поиск по сайту:

Доступ к облачным файлам в Windows с помощью ownCloud


ownCloud VFS использует API облачных файлов Microsoft, чтобы упростить открытие, изменение и сохранение онлайн-файлов.

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

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

Смартфоны — отличный пример преимуществ облачного хранилища; клиенты, включая Dropbox, Google Drive и iCloud, глубоко интегрированы в мобильные операционные системы и могут использоваться в приложениях так же, как локальное хранилище.

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

Дело протокола

Многие причины сводятся к протоколу. Методы и протоколы доступа к онлайн-хранилищу часто менялись, и ни один протокол не зарекомендовал себя как стандарт де-факто. Службы онлайн-хранилищ, такие как Dropbox, S3 и iCloud, используют собственные протоколы (частично основанные на открытых протоколах, таких как WebDAV), которые нелегко реализовать в операционных системах настольных компьютеров. В результате пользователи настольных компьютеров часто сталкиваются с утомительным пользовательским интерфейсом (UI), пониженным комфортом и плохим пользовательским интерфейсом (UX) при онлайн-хранилище файлов.

Это помогает заглянуть немного глубже, чтобы понять проблему и найти возможные решения. Начнем с того, что все современные операционные системы, особенно Windows, macOS и Linux (а также их многочисленные производные), предполагают, что они исключительно отвечают за файлы пользователя. Это исходит из старомодного предположения, что файлы пользователя будут храниться на одном устройстве. Если все файлы пользователя хранятся на одном устройстве, их легко поместить в древовидную структуру (как это делали на протяжении веков настольные операционные системы) и представить пользователю уникальное представление.

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

Некоторые поставщики онлайн-хранилищ пытаются обойти эту проблему с помощью клиентов, которые синхронизируют содержимое между облаком и локальным компьютером. Это некрасивый обходной путь. Например, вы можете не захотеть, чтобы десятки гигабайт данных, хранящихся в вашем облаке, также находились на вашем небольшом локальном устройстве. Чтобы решить эту проблему, некоторые инструменты позволяют выбрать подмножество данных для синхронизации между клиентом и онлайн-сервисом; это немного сдвигает проблему в сторону, но уж точно не решает ее.

Как WebDAV подвел отрасль

Многие ИТ-специалисты, вероятно, яростно качают головами, зная, что для подобных задач существует протокол, который можно использовать. И они не совсем неправы. WebDAV был определен IETF еще в июне 2007 года для расширения протокола HTTP для распределенной веб-авторизации и управления версиями (сокращенно WebDAV). Единственная цель WebDAV заключалась в том, чтобы предоставить интерфейс, который позволяет получать доступ к файлам в удаленном месте, например в облачном онлайн-хранилище, и редактировать их так же, как и локальные файлы. С тех пор WebDAV набрал популярность: такие частные облачные решения, как ownCloud и NextCloud, поддерживаются, и через него можно получить доступ.

Однако назвать WebDAV успешным было бы нереально, поскольку ни серверная, ни клиентская сторона не получили широкого распространения. Особенно плохо дела обстоят на серверной стороне: многие онлайн-хранилища, включая Dropbox, Google Drive и Microsoft OneDrive, не поддерживают расширение WebDAV для HTTP. Некоторые устанавливают прокси-сервисы. Например, Dropbox можно использовать с DAVbox для доступа к WebDAV. Другие службы предоставляют инструменты, позволяющие избежать отсутствия работающего сервера WebDAV. Однако в целом поддержка WebDAV не получила широкого распространения в отрасли, и, вероятно, в ближайшее время ситуация не изменится.

Плохая поддержка WebDAV операционной системой.

Это ведет прямо ко второму аспекту катастрофической истории WebDAV: клиентской стороне. В настоящее время только одна операционная система имеет достаточно полную поддержку клиентов во всех соответствующих инструментах своего пользовательского пространства, и это Linux. Стандартные среды рабочего стола, такие как KDE, GNOME и Xfce, могут подключаться к дискам WebDAV с рабочего стола. Они также интегрируют диски WebDAV, как если бы они были обычными локальными дисками, эффективно позволяя пользователям перемещать данные туда и обратно между удаленным сайтом и локальным компьютером. И последнее, но не менее важное: они могут загружать файлы с устройств WebDAV по требованию вместо постоянной синхронизации файлов между удаленным сайтом и локальным диском. В Linux жизнь с WebDAV в основном хороша — главным образом потому, что WebDAV не имеет встроенного кэширования.

Ситуация немного меняется, если взглянуть на macOS. Некоторое время назад Apple оснастила macOS клиентом WebDAV, и в основном он работает нормально. Однако для менее опытных пользователей настройка утомительна. А клиент WebDAV в macOS имеет тенденцию плохо себя вести, когда соединение между клиентом и сервером нестабильно — как это было бы для пользователей в Германии, использующих соединение LTE. В таких настройках пользователям приходится регулярно очищать свои каталоги WebDAV, чтобы иметь возможность их использовать.

Самая распространенная операционная система Windows также демонстрирует наиболее серьезные неудачи с точки зрения интеграции WebDAV. Чтобы даже настроить накопитель на основе WebDAV, вам придется отредактировать реестр Windows — задача, которая легко превосходит знания среднего пользователя компьютера. Если бы это было не так уж плохо, даже после изменения реестра клиент Windows для протокола WebDAV больше похож на заглушку, чем на полезную функцию. Вскоре вы столкнетесь с проблемами, подобными тем, которые наблюдаются при реализации macOS WebDAV, и опыт использования протокола будет ужасным.

Альтернатива VFS ownCloud

ownCloud — это частное облачное решение, которое позволяет пользователям хранить, синхронизировать и обмениваться данными на своих условиях, в том числе на Raspberry Pi, в частном облаке или в гибридной установке. ownCloud предлагает клиент для самой распространенной в мире операционной системы. Но в течение многих лет он полагался на обходные пути, например, требовал от пользователей явного выбора файлов для синхронизации.

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

Как работает ВФС

Функциональность ownCloud VFS для Windows во многом зависит от функции Microsoft, называемой API облачных файлов. Он был официально представлен в Windows 10 версии 1809 в 2017 году. Microsoft разработала его для синхронизации файлов с OneDrive, но другие службы могут бесплатно использовать API, который теперь является частью ядра Windows 10. API облачных файлов — это своего рода разграничительная линия для синхронизации данных из облака на локальную машину и наоборот. Он разделен на две части:

  • API предоставляет функции на уровне API для выполнения таких задач, как открытие, сохранение и загрузка файлов на удаленный хост после того, как пользователь фиксирует изменения. API облачных файлов обрабатывает множество вещей, невидимых для пользователя; например, клиент, использующий API, будет отображать все удаленные файлы как «присутствующие» в локальном представлении, не загружая их. API облачных файлов загрузит файл только после того, как пользователь явно попросит открыть его с удаленного диска.
  • Пространство имен Windows.Storage.Provider позволяет приложениям в пользовательской области настраивать клиент для доступа к удаленной службе через API облачных файлов.

Что видит пользователь

Революционный способ работы API облачных файлов с файлами в удаленном хранилище под Windows становится понятен, когда вы видите ownCloud VFS в действии.

Сначала настройте подключение к дискам ownCloud из клиента ownCloud для Windows. Убедитесь, что поддержка виртуальных файлов включена; это делает каталоги на вашем собственном облачном диске сразу видимыми и доступными для выбора в инструментах Windows, таких как Проводник. Вы не сможете отличить их от файлов на ваших локальных устройствах хранения, и когда вы откроете файл, хранящийся в ownCloud, он будет выглядеть так, как будто он присутствует локально. Для файлов, не синхронизированных с локальным хостом, API облачных файлов создает заполнитель, который заменяется реальным файлом при его открытии. Это обеспечивает бесперебойную работу пользователя, сохраняя при этом пропускную способность интернет-каналов клиента и сервера.

Настройка диска VFS в Windows не требует прав администратора, поскольку требуется редактирование реестра Windows для подключения WebDAV. Это означает, что ownCloud VFS можно использовать на таких устройствах, как бизнес-ноутбуки, где учетная запись администратора обычно недоступна пользователю. Однако политики соответствия могут по-прежнему запрещать использование ownCloud, если экземпляр не управляется компанией в соответствии с ее режимом соответствия.

Основные отличия от WebDAV

VFS не только значительно лучше работает в операционных системах Windows 10, но и предлагает несколько функций, недоступных в таких протоколах, как WebDAV. Одним из них является неявное кэширование. Во время обычных операций VFS будет синхронизировать файлы при их открытии до тех пор, пока локально определенный кэш не заполнится; если пользователь запрашивает дополнительные файлы, VFS удалит самые старые файлы из кэша.

Более того, VFS позволяет вам указать «любимые» файлы, которые всегда будут автоматически синхронизироваться с удаленным диском, независимо от того, пытаетесь ли вы получить к ним доступ. Это сокращает начальное время доступа к часто используемым файлам, особенно если файлы большие.

Storage Sense имеет смысл

Еще одной полезной функцией API облачных файлов Windows является функция «Storage Sense», добавленная в Windows 1809. Хотя Storage Sense в первую очередь предназначена для пользователей OneDrive, ее можно использовать в фоновом режиме с онлайн-хранилищем ownCloud благодаря поддержке API облачных файлов. Контроль памяти регулярно сканирует диск C: Windows на наличие файлов, которые не использовались в течение длительного времени. Он синхронизирует эти файлы с удаленным облачным хранилищем и удаляет их с локального устройства, освобождая место для часто используемых данных.

Пользователь может определить интервалы использования Storage Sense и время, когда Windows будет запускать сканирование. Последний фактор больше не имеет большого значения, поскольку поиск устройства SSD или NVMe выполняется очень быстро по сравнению с поиском вращающихся дисков в старые времена. Storage Sense направлен на увеличение доступного дискового пространства в системах, а диски ownCloud могут использоваться для выгрузки неиспользуемых файлов.

VFS в других операционных системах

Создавая виртуальную файловую систему на основе API облачных файлов, ownCloud улучшает возможности использования онлайн-хранилища ownCloud в качестве веб-диска в Microsoft Windows 10. ownCloud — один из немногих проектов бесплатного программного обеспечения с открытым исходным кодом, использующих этот API. все - даже коммерческая поддержка других производителей довольно слаба. Клиент Apple iCloud для Windows использует API облачных файлов, но список короткий.

Как ownCloud использует VFS в других операционных системах? Это не так просто, как перенос функций Windows на другие операционные системы, поскольку API облачных файлов отсутствует на компьютерах, отличных от Windows.

ownCloud по-прежнему реализует аналогичную функциональность. Клиенты ownCloud для macOS и Linux ведут себя так, как если бы API облачных файлов был доступен даже в системах, отличных от Windows. Некоторые функции Windows в фоновом режиме заменены заглушками для соответствующей системы. Есть несколько заметных различий между клиентом Windows и представлением в Linux или macOS. Например, Windows показывает правильный размер файла даже для удаленных файлов, представленных локально заполнителем. В Linux и macOS все файлы отображаются размером 1 байт и с локальным расширением .owncloud. Это ясно дает понять, что файлы не существуют локально — по крайней мере, до тех пор, пока пользователь не попросит их открыть и ownCloud не инициирует загрузку.

Однако это правда, что работа с VFS в macOS и Linux не такая гладкая, как в Windows 10.

Краткое содержание

VFS ownCloud значительно улучшает интеграцию облачных накопителей ownCloud в Windows 10. В отличие от WebDAV и связанных с ним протоколов, API облачных файлов является собственным API в Windows, легко интегрируемым с операционной системой. Это устраняет уродливые хакерские действия, необходимые для включения доступа к WebDAV в Windows 10, не говоря уже об искажениях, необходимых для его эффективного использования. Старые клиенты Windows не получают преимуществ от API, и его преимущества могут создать стимул для обновления старых версий Windows в средах, где ownCloud активно используется.

Пользователи macOS и Linux не получают такой большой выгоды от поддержки VFS ownCloud. В Linux такие хобби-проекты, как elokab-files-manager, обеспечивают лучшую поддержку ownCloud VFS. Но это определенно не то, на что вы хотели бы делать ставку в качестве ежедневного водителя. Ситуация с macOS еще хуже: хотя Apple уже давно обещала добавить аналогичную функциональность API в macOS, похоже, что только Big Sur имеет необходимый набор функций. На момент написания этой статьи разработчики ownCloud еще не адаптировали клиент ownCloud для macOS к новым функциям Big Sur. Следовательно, пользователи Linux и macOS могут использовать VFS на своих платформах с небольшими ограничениями. Однако пользователи Windows 10 получают наибольшую отдачу от вложенных средств.

Статьи по данной тематике: