Распределенные файловые системы: обзор
Антон Tюлькин,
ВМК МГУ, Институт системного программирования РАН,
mayem@list.ru
Распределенные файловые системы (РФС) являются большой, активно развивающейся и многообещающей частью мира управления данными. С их помощью создаются системы хранения огромных объемов данных, без которых современная наука (например, моделирование в физике, химии, науках о Земле), Веб (Google, YouTube) и другие области, работающие с терабайтами информации, не смогли бы эффективно функционировать.
В данном докладе мы попытаемся осветить проблемы, связанные с разработкой и использованием РФС. Для этого проанализируем путь эволюции РФС, связи с похожими средствами управления данными, некоторые задачи создания РФС и решения.
В распределенной компьютерной среде становится сложно обмениваться данными между пользователями. Например, если некоторый файл активно используется несколькими клиентами, то управлять обменом информацией становится неудобно. Данные могут мигрировать между компьютерами (например, при отсутствии свободного места), поэтому пользователям приходится быть в курсе физического размещения файла. Причем ситуация имеет тенденцию усложняться при росте количества компонентов (серверов, клиентов) распределенной среды, а также их географической разрозненности.
Попыткой решить эту проблему стало создание распределенных файловых систем. К примеру, в 1983 году в университете Carnegie Mellon началась разработка РФС Andrew. Она позволяла пользователям, находящимся на территории кампуса, работать с единым пространством данных, не задумываясь о реальном местонахождении файлов. Основными преимуществами стали: наличие единого хранилища данных, одновременный доступ для нескольких клиентов, эффективная масштабируемость. В процессе проектирования разработчикам приходилось принимать непростые решения. К примеру, было решено использовать кэширование открываемого файла на клиенте целиком (хотя практически во всех остальных существовавших РФС кэширование было организовано иначе) - выбор был сделан исключительно в целях масштабируемости, но при этом повлиял на обеспечение семантических обязательств.
Таким образом, в первой, вводной части доклада, будет рассмотрена история РФС, что они собой представляют, в чем основная сложность их разработки.
Вместе с ростом объемов цифровой информации и развитием сетевых технологий продолжали эволюционировать и РФС. Большое влияние на эту область оказало распространение распределенных вычислительных Grid-инфраструктур, связывающих разнообразные вычислительные ресурсы, данные, людей, и т.д. Основными клиентами таких структур стали научные сообщества, которым требуется возможность обмениваться большими объемами данных и выполнять массивные вычисления. Чтобы дать возможность пользователям эффективно общаться с такой системой, были созданы разнообразные среды управления, планирования и запуска заданий, а также управления данными. Как было сказано ранее, обмениваться информацией в такой среде, более того – ориентироваться в наборах данных, хранимых в такой большой системе, очень сложно. Еще одно препятствие эффективному обмену – это использование разнородных хранилищ данных среди участников грида (к примеру, у одних ФС, у других БД). Решением этих проблем стали системы типа Storage Resource Broker.
Важно отметить, что проблемы, стоящие перед разработчиками таких систем, часто совпадали с проблемами, возникающими в обычных (более локальных) РФС. К примеру, репликация данных. В РФС системах она используется как механизм защиты от сбоев и средство повышения эффективности параллельного доступа; в более распределенных инфраструктурах, наличие реплики, физически более близкой к клиенту, может заметно сократить время доступа.
Новый виток развития РФС получили с появлением так называемых кластерных РФС, которые позволили превратить кластер из обычных пользовательских машин (а не специальных серверов) в надежную систему хранения больших объемов данных. Одним из новаторов в этой области стала компания Google, создавшая Google File System (GFS). Такие системы стали очень популярными, появилось множество вариантов таких РФС, которые предоставляются и как отдельное ПО (чтобы создать хранилище на базе собственной инфраструктуры) и как часть физического хранилища.
Таким образом, во второй части доклада, мы попытаемся показать взаимосвязи между РФС и другими похожими инфраструктурами. Будет рассмотрена часть проблем, которые встают перед разработчиками этих систем, наряду с существующими решениями.
В настоящее время активно начала пропагандироваться парадигма вычислений в облаке (cloud computing). Основая идея заключается в том, что не нужно покупать/создавать новые ресурсы, а их можно просто арендовать из «облака» и использовать, когда это необходимо. Поэтому в заключительной части доклада мы рассмотрим тенденции развития РФС, как повлияли на мир РФС cloud-тенденции. Кроме того, обсудим, какой урок получил Google из опыта эксплуатации GFS.
Слайды к докладу в формате PPT: tyulkin20091126.ppt
Литература:
- Sage A. Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, Carlos Maltzahn, Ceph: A Scalable, High-Performance Distributed File System. In Proc. of OSDI, 2006
- Fay Change, Jeffrey Dean, Sanjay Ghemawat, et al, Bigtable: A Distributed Storage System for Structured Data, In Proc. of OSDI, 2006
- A. Teperman, A. Weit, Improving Performance of a Distributed File System Using OSDs and Cooperative Cache, In Proc. of PDCS, 2005
- Jeremy Stribling, Irene Zhang, et al. Flexible, Wide-Area Storage for Distributed Systems with WheelFS, In Proc. of NSDI, 2009
- Michael Wan, Reagan Moore, Arcot Rajasekar, MySRB & SRB Componets of a Data Grid, In Proc. of HPDC, 2002
- Qiwei Zhang, Jiangming Yang, Ning Gu, Dynamic Replica Location Service Supporting Data Grid Systems,In Proc. of CIT, 2006
- Swapnil Patil, Gregory R.Ganger, et al. n search of an API for scalable file systems: Under the table or above it? In Proc of HotCloud Workshop, 2009
- The Hadoop Distributed File System Architecture and Design, http://hadoop.apache.org
- Putting Storage on the Private Cloud, http://www.itbusinessedge.com/cm/blogs/cole/putting-storage-on-the-private-cloud/
- Google File System Part 2, http://www.theregister.co.uk/2009/08/12/google_file_system_part_deux/
|