Ext4 против Btrfs: какую файловую систему Linux следует использовать?

Честно говоря, мало кто задумывается над тем, какую файловую систему использовать для своих компьютеров.

Подготовка диска

Переходим к практике. Перед тем как начать непосредственно разметку, необходимо подготовить HDD с установленной Windows. Процесс, который мы будем выполнять, называется сжатие. Дело в том, что изначально неразмеченного пространства нет, поэтому нужно сделать его самостоятельно. Сжимать удобно средствами старой ОС, так как Ubuntu может запросто стереть все установленные файлы с диска C, а вместе с ними и систему.

На новых Windows часто предоставляется один диск C, а диска D нет вообще. Это не очень удобно, поскольку работая с этим разделом, вы рискуете оставить компьютер без операционных систем и уничтожить все данные. Поэтому перед началом всех действий стоит сделать резервную копию и сохранить её на диске или флешке. После этого можно спокойно приступать к сжатию.

Определения

Существует также понятие «кластерная файловая система». Различия между всеми этими терминами (сетевая, распределенная, кластерная) немного расплывчаты. Поэтому сначала нужно определить, что такое сетевая, кластерная и распределенная система.

  • Сетевая система (Network) содержит один сервер или его аналог в любом виде, в т. ч. виртуальном, с обслуживающимися им компьютерами в локальной сети.
  • Кластерная система (Cluster) содержит несколько серверов в общей сети.
  • Распределенная система (Distributed) содержит несколько серверов, объединенных по глобальной сети WAN (Wide area Network).

С таким определением, например, NFSv3 можно отнести к сетевой файловой системе (network file system). GFS2 – это кластерная файловая система. GlusterFS – это распределенная файловая система. NFSv4, в свою очередь, это некий гибрид между сетевой файловой системой, но с поддержкой нескольких серверов, внедренных в нее.

Сумятицу иногда вносит то, что иногда вкладывается разный смысл в понятие «распределенный» (distributed). Здесь надо понимать, что «распределенность» должна присутствовать не только между серверами (тогда это кластер) в локальной сети, но также и между местоположениями этих серверов в глобальной сети (WAN), со всеми присущими ей особенностями. А именно: большими задержками и низкой надежностью соединений.

  • Распределенные файловые системы

Распределенные (в таком определении) файловые системы состоят из нескольких географически разнесенных серверов, соединенных по модели sharing nothing, где каждый активный сервер имеет собственную СХД. Кроме того, распределенные файловые системы делятся на два типа: параллельные системы (Parallel file systems) и полностью параллельные файловые системы (Fully parallel file systems).

  • Параллельные файловые системы

Так называются системы, которые предоставляют параллельный доступ к их серверам хранения для каждого клиента. Это позволяет устранить «узкие места» одного сервера по всем параметрам: IOPS, полоса, ограничения вычислительной способности процессора и кэш-памяти. Такие системы используются в высокопроизводительных компьютерных системах и бизнес-приложениях, например, в информационных системах фондовых бирж, Примеры: pNFS, Lustre.

  • Полностью параллельные файловые системы

Полностью параллельными такие системы называются в том случае, когда не только данные, но и метаданные (различные индексы и пр.), также распределяются параллельно между всеми клиентами. Примеры таких систем – OrangeFS и Ceph.

Соотношения между сетевыми системами (Network), кластерными системами (Cluster), распределенными (Distributed), а также параллельными (Parallel) и полностью параллельными системами (Fully parallel) могут быть представлены следующим образом.

Что такое дистрибутив Linux?

Дистрибутив Linux – это разновидность операционной системы Linux. Дистрибутивов Linux много, так как любой разработчик может использовать ядро Linux и создать свою собственную операционную систему. Таким образом, разработчики объединяются в сообщества и создают операционные системы на базе ядра линукс, которые и являются дистрибутивами. В дистрибутивы включают все необходимое программного обеспечение для работы, и зачастую в большинстве дистрибутивов есть все, что нужно для того чтобы начать пользоваться системой сразу после установки, в отличие от той же Windows, где нужно после установки системы еще доустановить необходимое для работы программное обеспечение.

Также дистрибутивы могут создавать и поддерживать различные компании, и такие дистрибутивы уже могут быть платными.

Дистрибутив Linux может быть основан на другом дистрибутиве, и, таким образом, рождается бесчисленное множество разновидностей дистрибутивов, которые основаны друг на друге и все они имеют одну базу, одну основу.

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

Дистрибутивы Linux можно условно разделить на две очень крупные ветки развития, два направления. Здесь я имею в виду деление по способу организации и управления программным обеспечением, т.е. пакетами.

Читайте также:  Как очистить содержимое файла в Linux при помощи командной строки.

Существуют две популярные системы управления пакетами:

  • DEB – формат файлов пакетов, использующихся в дистрибутиве Debian и во всех основанных на нем дистрибутивах;
  • RPM – менеджер пакетов, использующийся в дистрибутиве Red Hat, а также во многих других популярных дистрибутивах.

Если Вы начинающий пользователь Linux, то Вам не нужно смотреть, на какой системе управления пакетами основан дистрибутив, Вам нужно смотреть на дистрибутив как на конечный продукт, т.е. для каких целей он разработан. Я привел это деление только для того, чтобы Вы знали, что оно существует, оно практически никак не скажется на Вашем знакомстве с операционной системой Linux. Единственное, когда Вы с этим столкнетесь — это тогда, когда будете устанавливать стороннее программное обеспечение, которого нет в стандартных репозиториях. Так как Вам нужно будет выбирать тот тип пакета для установки, который соответствует Вашей системе.

Перед тем как переходить на Linux, Вам нужно узнать, для чего создан и предназначен конкретный дистрибутив. Так как существуют, например, дистрибутивы, не имеющие графической оболочки, т.е. серверные системы, существуют дистрибутивы, которые управляются исключительно в командной строке, и созданы для продвинутых пользователей, но в то же время существуют максимально простые и ориентированные на пользователя дистрибутивы, которые не уступают Windows.

Подробней про дистрибутивы Linux мы поговорим в следующем материале.

На сегодня у меня все, пока!

Нравится25

Не нравится

Поддержка автономной работы с данными.

Использование распределенной файловой системы увеличивает зависимость компьютерных систем от сети. Эта зависимость от данных, к которым люди могут обращаться только по сети, вызывает некоторые интересные проблемы для пользователей лаптопов/мобильных компьютеров, которые нуждаются в доступе к своим данным даже тогда, когда доступ к сети невозможен. Это называется «автономная работа» – система должна функционировать, если ресурсы, которые обычно присутствуют в сети (например, пользовательские данные), по каким-то причинам не доступны. Даже Windows обеспечивает графический интерфейс для возможности маркировки файлов, с которыми вы хотите работать, когда вы отключены от сети, и для синхронизации этих файлов, когда вы соединяетесь повторно.

Распределенные файловые системы Coda и InterMezzo, которые являются в настоящее время доступными для Linux, тоже обеспечивают интегрированную поддержку для автономной работы. Так же сейчас ведется работа над обеспечением этой возможности для файловых систем NFS. Coda и InterMezzo уже поддерживаются ядром Linux – поддержка Intermezzo встроена в ядро, начиная с версии 2.4.5, а Coda вообще была интегрирована в ядро 2.4 с самого начала.

Coda – распределенная файловая система с происхождением из OpenAFS, которая разрабатывается в университете Carnegie Mellon с 1987 года. InterMezzo – относительно новая распределенная файловая система, упор в разработке которой сделан на высокой доступности, гибком дублировании каталогов, поддержке автономных операций, и постоянном кэшировании. Создатели InterMezzo были вдохновлены CMU Coda, но этот проект не основан на исходном тексте Coda. Начальный создатель InterMezzo, Питер Браам, был главой проекта Coda в CMU в течение нескольких лет, и после этого он сам начал разрабатывать InterMezzo и несколько других проектов.

Понимание Btrfs: за и против

Btrfs, который можно произносить как «Butter FS», «Better FS» или «B-Tree FS», является новой файловой системой, переделанной с нуля. Btrfs существует потому, что разработчики хотели расширить функциональность файловой системы, включив в нее дополнительные функции, такие как пул, моментальные снимки и контрольные суммы.

Проект начался в Oracle, но с тех пор другие крупные компании приняли участие в разработке. Список включает в себя Facebook, Netgear, Red Hat и SUSE.

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

Понимание Btrfs: за и против

Для организаций, использующих очень большие программы с большими базами данных, наличие, казалось бы, непрерывной файловой системы на нескольких жестких дисках может значительно упростить консолидацию данных. Дедупликация данных уменьшит объем фактического пространства, занимаемого данными, и зеркалирование данных станет проще, когда существует одна широкая файловая система, которую необходимо отразить.

Конечно, вы все равно можете создать несколько разделов, чтобы вам не приходилось отражать все. Максимальный размер раздела файловой системы btrfs составляет 16 exbibytes, а максимальный размер файла также составляет 16 exbibytes.

Учитывая, что btrfs сможет охватывать несколько жестких дисков, хорошо, что он поддерживает в 16 раз больше дискового пространства, чем ext4.