Файловые системы: устанавливаем свойства. Файловая система linux mint


Какую файловую систему выбрать для Linux?

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

  • Это так называемый стандарт. В большинстве случаев данная файловая система линукс инсталлируется по умолчанию. Среди основных преимуществ ext3 выделяется идеально продуманная архитектура, не содержащая никаких ошибок. Кроме того, ext3 достаточно проста в понимании, что для начинающего пользователя критерий важный, если не определяющий. В данный момент используют файловую систему ext4. ext4 это более новая расширенная файловая система ext3.
  • Очередная платформа подойдет уже для более опытных юзеров. Современная xfs отличается сложной структурой, требующей определенных навыков и опыта. Это не удивительно, ведь система предназначена для работы с объемными файлами и большими каталогами, для их чтения и поиска. Правда, несмотря на всю «сложность», нагрузка на процессор минимальна.
  • Это самая быстрая файловая архитектура для Линукс. Среди плюсов помимо щадящего режима для процессора — возможность восстановления стертых данных, многогранного поиска и фильтрации. Профессионалы рекомендуют использовать jfs для хранения корневых каталогов и объемных пакетов данных.
  • Платформа reiserfs ныне встречается редко. Во-первых, разработчик системы отбывает тюремный срок, во-вторых, сама площадка уже давно никак и никем не развивается, в-третьих, имеет массу недоделок. Среди основных: высокая нагрузка на процессор, сбои и безвозвратная потеря информация. Рекомендована разве что для ознакомления и уж точно не предназначена для начинающих пользователей.

linux-user.ru

устанавливаем свойства. Linux Mint и его Cinnamon. Очерки применителя

Файловые системы: устанавливаем свойства

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

# zfs get all fs_name

Свойств этих очень много, однако далеко не все они представляют для нас интерес. Важно только помнить, что любое из свойств каждой файловой системы можно поменять с помощью субкоманды set и её параметра вида свойство=значение. Причём изменение свойств для материнской системы рекурсивно распространяется на все дочерние. Однако для любой последней свойства можно изменить в индивидуальном порядке. Что я сейчас и проиллюстрирую на примерах.

Так, абсолютно лишним представляется свойство atime, то есть обновление времени последнего доступа к файлам. Оно, во-первых, снижает быстродействие, с другой — способствует износу SSD-накопителей (правда, нынче и то, и другое чисто символичны). Так что отключаем это свойство для всех файловых систем:

# zfs set atime=off tank/home

Аналогичным образом расправляемся и со свойством xattr:

# zfs set xattr=off tank/home

А вот дальше можно заняться и индивидуализацией. Как я уже говорил, в момент создания файловые системы ZFS «безразмерны». Если это не подходит, для них можно установить квоты. Однако я этого делать не буду — в моём случае это приводит к потере половины смысла ZFS. А вот зарезервировать место для критически важных каталогов, дабы его не отъела, скажем, мультимедиа, известная своей прожорливостью, будет не лишним. И потому я для файловых систем tank/home/proj и tank/home/alv устанавливаю свойство reservation. Для файловой системы проектов оно будет максимальным:

# zfs set reservation=10G tank/home/proj

Для остальных ограничусь более скромным гигабайтом резерва.

Далее, поскольку данные в файловой системе tank/home/proj для меня действительно важны, и шутить с ними я склонен даже гораздо меньше, чем с дамами, предпринимаю дополнительные меры по их сохранности путём удвоения числа копий (по умолчанию оно равно 1):

# zfs set copies=2 tank/home/proj

А для данных не столь важных — тех, что часто проще скачать заново, нежели отыскать на локальной машине, можно выполнить и обратную операцию — отказаться от подсчёта контрольных сумм:

# zfs set checksum=off tank/home/media

Для файловых систем, содержащих хорошо сжимаемые данные (например, для моего домашнего каталога, где лежат одни dot-файлы), можно включить компрессию:

# zfs set compression=on tank/home/alv

Я этого не делал: экономия места получается грошовая, а нагрузка на процессор и расход памяти, как говорят, очень приличные. Однако это свойство целесообразно включать в системах с огромными логами, если выделить под них файловую систему в пуле ZFS.

При желании для некоторых файловых систем (например, того же домашнего каталога) можно отключить такие свойства, как exec, setuid, devices — легко догадаться, что результат будет аналогичен указанию опций монтирования noexec, nosuid, nodev для традиционных файловых файловых систем. И, разумеется, для файловых систем, изменение которых нежелательно, можно придать свойство readonly.

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

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

Создание файловых систем. Linux Mint и его Cinnamon. Очерки применителя

Создание файловых систем

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

Для создания файловых систем предназначена субкоманда create команды zfs, которая требует единственного аргумента — имени создаваемой ФС и обычно не нуждается ни в каких опциях:

# zfs create pool_name/fs_name

Внутри пула можно создавать сколь угодно сложную иерархию файловых систем. Единственное условие — родительская файловая система для системы более глубокого уровня вложенности должна быть создана заблаговременно. Ниже я покажу это на конкретном примере создания файловых систем внутри каталога /home — наиболее оправданное место для размещёния наборов данных ZFS.

Начну я немножечко издалека. При стандартной установке Mint не обойтись без создания учетной записи обычного пользователя, и, следовательно, в каталоге /home будет присутствовать по крайней мере один подкаталог — /home/username.

Смонтировать же файловую систему ZFS в непустой каталог невозможно, и, значит, мы не можем сразу прибегнуть к опции -m для определения «постоянной прописки» создаваемого пула.

Поэтому для начала делаем для пула «прописку» во временной точке — пусть это будет традиционный /tank:

# zpool create -o ashift=12 tank ata-SanDisk_SDSSDX120GG25_120823400863-part3 ata-SanDisk_SDSSDX120GG25_120823402786-part3

Теперь создаём файловую систему для будущего домашнего каталога:

# zfs create tank/home

А внутри же неё — необходимые дочерние ветви, как то:

# zfs create tank/home/alv

 

которая потом заменит мой домашний каталог — в нём я не держу ничего, кроме конфигурационных файлов;

# zfs create tank/home/proj

это файловая система для моих текущих проектов, и так далее.

Как и было обещано разработчиками ZFS, процедура ничуть не сложнее, чем создание обычных каталогов. Благодаря этому файловые системы можно легко создавать по мере надобности, для решения какой-либо частной задачи. И столь же легко уничтожать их, когда задача эта выполнена. Что делается таким образом:

# zfs destroy pool_name/fs_name

Использовать субкоманду destroy следует аккуратно: никакого запроса на подтверждение при этом не будет. Правда, и уничтожить файловую систему, занятую в каком-либо текущем процессе, можно только с указанием опции -f, а файловую систему, содержащую системы дочерние, не получится убить и таким образом.

Ни в какой специальной операции монтирования новообразованные файловые системы не нуждаются — оно происходит автоматически в момент их создания, о чём свидетельствует следующая команда: $ mount | grep tank tank/home on /tank/home type zfs (rw,atime,xattr) tank/home/alv on /tank/home/alv type zfs (rw,atime,xattr) tank/home/proj on /tank/home/proj type zfs (rw,atime,xattr) ...

Для обеспечения монтирования файловых систем ZFS при рестарте машины не требуется и никаких записей в файле /etc/fstab: это также происходит само собой, совершенно нечувствительно для пользователя. Правда, если для файловой системы ZFS определить свойство mountpoint=legacy, то с ней можно управляться и традиционным способом.

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

Казалось бы, для тех же целей можно ограничиться обычными каталогами. Однако в наборах данных ZFS мы имеем дело с полноценными файловыми системами, для которых могут быть установлены индивидуальные свойства, аналогичные опциям монтирования файловых систем традиционных. Чем мы сейчас и займёмся.

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

Файловые системы. Linux Mint и его Cinnamon. Очерки применителя

Файловые системы

Как известно ещё с советских атеистических времен, Господь Бог, создавая человека, хотел сделать его умным, честным и партийным. Но оказалось, что даже он, при всём своём всемогуществе, не смог ему дать больше двух качеств вместе.

Аналогично и с файловыми системами: разработчики хотели бы видеть их быстрыми, надежными и простыми в обращении. Давайте посмотрим, удалось ли им превзойти Господа.

В UNIX-подобных системах требование быстродействия удовлетворяется, во-первых, оптимизированным расположением каталогов, метаданных и данных файлов на физических носителях. Но во-вторых и главных — кэшированием записи.

Думаю, каждого, кто начинал знакомство с Linux’ом во времена безраздельного господства файловой системы ext2fs, поражала быстрота выполнения всех файловых операций, обусловленная их асинхронностью — то есть кэшированием данных и метаданных. Оборотная сторона медали — отказ системы по любой причине влёк за собой тяжкие последствия, вплоть до полного ее разрушения. Но и даже когда до полной катастрофы дело не доходило, отказы (например, по питанию) вызывали за собой долгую и нудную процедуру проверки целостности файловой системы.

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

Правда, с точки зрения простоты использования ни в одну из файловых систем Linux’а бросить камень рука не подымется: создание и монтирование их никаких трудностей не сулит. Так что требование «партийности» выполняется, пожалуй, при всех соотношениях «ума» и «честности». Но эта ситуация сохраняется, пока мы не начинаем комбинировать «ум, честность и партийность» файловых систем с аналогичными качествами систем управления RAID’ами или с LVM. В результате чего получаем:

   • либо быстрое и относительно простое решение на основе RAID Level 0, не блещущее надёжностью;

   • либо надёжное решение без ощутимой потери быстродействия на основе одного из RAID с избыточностью, не являющееся, однако, эталоном простоты;

   • либо, наконец, относительно надёжное и потенциально быстрое решение при использовании технологии LVM — однако и оно не блещёт простотой.

Ибо все эти решения — многоуровневые. И очевидно, что удлинение «цепочки» уровней в любом случае приводит к снижению надежности: чем больше в ней звеньев, тем вероятней отказ всей цепи.

И тут-то и возникает вопрос: а нельзя ли уменьшить количество уровней, сделать систему более «плоской»? И системы размещёния данных, в том числе и ZFS — попытка ответа на него.

Поделитесь на страничке

Следующая глава >

it.wikireading.ru

Linux Mint – внешний привод, заставляющий мою файловую систему выглядеть полностью и давая мне ошибку «без пробелов на устройстве»

У меня есть почти полный внешний жесткий диск, установленный под / mnt. Размер этого жесткого диска составляет около 1 ТБ. Мой основной жесткий диск составляет около 200 ГБ. Из-за относительно большой разницы в размере двух, linux видит, что моя вся система занимает 95% полной точки, что нарушает зарезервированное пространство в 5%. Естественно, это не позволяет мне войти в систему, потому что мне не разрешено использовать это пространство. (Я сократил зарезервированное пространство до 1%, поэтому я могу войти в систему.).

Мой вопрос: как я могу это исправить? Я потреблял только 3% своего основного пространства на жестком диске, что означает, что у меня почти 200 ГБ свободного места. Не кажется разумным, что я должен быть заблокирован из-за недостаточного пространства только потому, что у меня установлен почти полный внешний жесткий диск. Есть ли исправление к этому?

[edit, чтобы предоставить более подробную информацию по запросу]

me@xxxx ~ $ mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=5065004k,nr_inodes=1266251,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1023832k,mode=755) /dev/sda1 on / type ext4 (rw,noatime,errors=remount-ro,data=ordered) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev) tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k) tmpfs on /sys/fs/cgroup type tmpfs (rw,mode=755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd) pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event,release_agent=/run/cgmanager/agents/cgm-release-agent.perf_event) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset,clone_children) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids,release_agent=/run/cgmanager/agents/cgm-release-agent.pids) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb,release_agent=/run/cgmanager/agents/cgm-release-agent.hugetlb) systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=37,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) debugfs on /sys/kernel/debug type debugfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime) /dev/sda6 on /home type ext4 (rw,noatime,data=ordered) /dev/sdb1 on /mnt/media_drive type ext3 (rw,noatime,data=ordered) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime) cgmfs on /run/cgmanager/fs type tmpfs (rw,relatime,size=100k,mode=755) tmpfs on /run/user/122 type tmpfs (rw,nosuid,nodev,relatime,size=1023832k,mode=700,uid=122,gid=131) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=1023832k,mode=700,uid=1000,gid=1000) gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000) me@xxxx ~ $ df Filesystem 1K-blocks Used Available Use% Mounted on udev 5065004 0 5065004 0% /dev tmpfs 1023832 35556 988276 4% /run /dev/sda1 19091584 11288172 7591732 60% / tmpfs 5119144 510692 4608452 10% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 5119144 0 5119144 0% /sys/fs/cgroup /dev/sda6 207550056 6631692 190352376 4% /home /dev/sdb1 961301000 830560452 81902548 92% /mnt/media_drive cgmfs 100 0 100 0% /run/cgmanager/fs tmpfs 1023832 0 1023832 0% /run/user/122 tmpfs 1023832 20 1023812 1% /run/user/1000

Для команды df, которая показывает 60%, вчера она показывалась на 100%, но я удалил много вещей (опустошенный мусор и т. Д.). Важно отметить, что в настоящее время он не должен показывать 60%, поскольку привод приближается к 3%.

У меня возникла следующая ошибка, когда я попытаюсь войти в систему.

Ваша сессия длилась менее 10 секунд. Если вы не вышли из системы самостоятельно, это может означать, что существует некоторая проблема с установкой или что вы можете быть вне дискового пространства. Попробуйте войти в систему с одним из отказоустойчивых сеансов, чтобы узнать, можете ли вы устранить эту проблему. [] Подробнее (файл ~ / .xsession-errors)

Я упал в оболочку и запустил df и заметил, что моя система (/ dev / sda1) была на 100% заполнена. Я удалил свой мусор и некоторые большие файлы в моем каталоге загрузки. Я также запускал tune2fs для установки моего зарезервированного пространства на 1%, чтобы позволить себе некоторое пространство для входа в систему графически.

  • Привязать каталог как меня
  • Невозможно просмотреть установленные каталоги в chroot
  • Имеет ли Live Linux CD вообще безопасную обработку файлов Windows NTFS
  • `mount -o loop` изменяет файл ISO-образа ISO
  • Изменить список устройств, установленных при загрузке в Linux
  • Как проверить, монтируется ли файловая система с помощью скрипта
  • Установка уровня LVM2 дает мне «mount: вы должны указать тип файловой системы»
  • Нормально ли иметь дубликат / var mount при использовании докеров?
  • Как правило, изменение процента зарезервированного пространства в рассматриваемой файловой системе поможет вернуть вас в вашу систему:

    tune2fs -m 1 <path to device node your filesystem rests on>

    Как правило, полный диск, о котором идет речь, будет зависеть от вашей папки /var , независимо от того, совпадает ли это с вашим / mount или собственным монтированием.

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

    fliplinux.com

    варианты и комментарии. Часть третья

    УСТАНОВКА «LINUX MINT 11»В КАЧЕСТВЕ ЕДИНСТВЕННОЙ ОПЕРАЦИОННОЙ СИСТЕМЫ

    Если Вы решили впервые установить «Linux Mint 11 Katya» в качестве единственной операционной системы, то, скорее всего, Вы будете иметь дело либо с новым неотформатированным жёстким диском либо же с таковым, который уже был отформатирован под другую операционную систему, и, возможно, даже разбит на нескольких разделов. Как бы там ни было, но и в том, и в другом случае жёсткий диск в процессе установки будет отформатирован под файловую систему, наиболее подходящую для работы «Linux Mint 11».

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

    Окно выбора вариантов распределения дискового пространства

    На предыдущем этапе установки «Linux Mint 11», описанном во второй части руководства, мы остановились на моменте нажатия кнопки «Вперёд» окна настроек «Подготовка к установке Linux Mint». Поэтому сейчас Вы должны видеть перед собой окно настроек «Распределить место на жёстком диске», предлагающее на выбор один из вариантов подготовки жёсткого диска перед запуском процесса установки.

    Это окно может выглядеть по-разному в зависимости от наличия и количества установленных операционных систем. Например, если Вы устанавливаете «Linux Mint 11» на чистый диск, то окно  «Распределить место на жёстком диске» предложит Вам всего два варианта настроек и будет выглядеть следующим образом:

    Если же программа установки обнаружит, что на жёстком диске Вашего компьютера уже установлена какая-то система или несколько систем (то есть Вы не стали их предварительно удалять), то окно  «Распределить место на жёстком диске» предложит Вам на выбор уже три варианта:

    Поскольку данная часть руководства посвящена установке «Linxu Mint 11» в качестве единственной операционной системы, нас с Вами будут интересовать лишь последние два варианта.

    Простейшая установка «Linux Mint 11» без деления диска на разделы

    Если Вы ещё недостаточно опытны и считаете, что Вам хватит одного раздела на жёстком диске (то есть он не будет разбит на разделы), то Вы можете смело выбирать вариант «Стереть диск и установить Linux Mint». Это — самый простой способ, когда программа установки всю наиболее сложную работу берёт на себя.

    Отметив вариант «Стереть диск и установить Linux Mint» щелчком мыши по белому квадратику, нажмите на кнопку «Вперёд» — и перед Вами откроется одноимённое окно (цифры здесь, разумеется, условны):

    Как видите, всё действительно просто: здесь Вам предлагается лишь выбрать из выпадающего списка диск, на который будет производиться установка (если их несколько) и запустить процесс инсталляции путём нажатия кнопки «Установить сейчас».

    Обратите внимание на предупреждающее сообщение о том, что диск будет использован целиком и убедитесь в том, что на нём не осталось нужных Вам данных (таковые необходимо предварительно скопировать на другой диск, не задействованный при установке), иначе Вы их потеряете.

    По центру окна мы видим краткое описание жёсткого диска, на который будет произведена установка системы «Linux Mint 11»: наименование устанавливаемой системы, объём диска в гигабайтах, его обозначение и адрес в системе «Linux Mint», а также (в скобках) название файловой системы, в которую по решению программы установки жёсткий диск будет отформатирован.

    Кое-что о наименовании разделов жёсткого диска в «Linux»

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

    В наименовании раздела диска «/dev/sda» первой косой чертой обозначается его корневой раздел, носящий название «Файловая система» — тот самый раздел, на который мы и устанавливаем «Linux Mint». После установки, щёлкнув дважды по значку «Компьютер» на рабочем столе, в открывшемся оконном менеджере Вы непременно обнаружите  в разделе «Устройства» значок диска с таким наименованием — это он и есть.

    «/dev» после косой черты — это имя директории «Файловой системы» (в оконном менеджере она представлена  в виде папки), где «квартируют» все диски и разделы каждого жёсткого диска (обозначены как файлы).

    Диски обозначаются аббревиатурой «sdа», где последняя буква (в данном случае «а») является их опознавательным знаком. Если к системе подключить ещё один физический диск, например, подсоединив его к порту «USB», то ему будет присвоена такая запись: «/dev/sdb» — оканчивающаяся уже на букву «b».

    Если жёсткий диск разбит на логические разделы, то рядом с буквенным обозначением появляются  цифры: «/dev/sda1», «/dev/sda2», «/dev/sda3» и т. д. — по числу разделов на диске.

    Итак, если Вас всё устраивает, то остаётся только нажать на кнопку «Установить сейчас» — и этот этап установки «Linux Mint 11» для Вас будет завершён  — и Вы сразу можете перейти к чтению раздела, посвящённого заключительному этапу установки.Однако редко когда пользователь довольствуется одним единственным разделом на жёстком диске, тем более если последний имеет достаточно большой объём. Гораздо чаще под установку «Linux Mint» на диске резервируют как минимум два раздела. Мы же смоделируем ситуацию, когда этих разделов будет три. Об речь пойдёт в следующем разделе этой части «Руководства».

    Другие разделы «Руководства»

    Часть первая, вводная: загрузка, запись и запуск образа системы «Linux MInt 11»Часть вторая: запуск программы установки, выбор языкаЧасть третья: установка «Linux Mint 11» в качестве единственной операционной системы (продолжение): установка системы с созданием нескольких разделов на жёстком дискеЧасть четвёртая: установка «Linux Mint 11» совместно с другой операционной системой (на примере «Windows XP»): вариант настройки «Установить Linux Mint рядом с ними»Часть четвёртая: установка «Linux Mint 11» совместно с другой операционной системой (продолжение): установка совместно с другими операционными системами на жёский диск, содержащий несколько разделовЧасть пятая: завершающий этап установки «Linux Mint 11»: запуск процесса, ввод личных данных, перезагрузкаЧасть шестая. Обновление «Linux Mint» до новой версии: теория и практика: советы и рекомендации Клемента Лефевра

    serge-journal.blogspot.com

    Блог начинающего линуксоида.: Файловые системы в Linux

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

     

     

    Файловые системы, доступные для установки системы.

    Ext2

    Эта файловая система была написана специально для Linux в 1993 году, как замена существовавшей тогда ext (Extended File System, расширенная файловая система). Данная ФС отличается невероятно высокой скоростью, уступая лишь более современной ext4 в тестах чтения. В настоящее время, код оригинальной Ext2 убран из ядра Linux, так как сильно устарел и его трудно поддерживать. Сейчас под Ext2 подразумевается Ext3 с отключённым журналированием. Ext2 часто используется на флеш-картах и некоторых SSD-накопителях, так как отсутствие журналирования является плюсом для таких накопителей, ибо продлевает срок их службы.

    Достоинства:

    • Высокая производительность за счет отсутствия журналирования.
    Недостатки:
    • Отсутствие журналирования. При ее использовании вам придется смириться с длительными проверками файловой системы при любом некорректном завершении работы. А при объемах современных дисков это может затянуться надолго.
    • Необходимо применение ИБП.
    • Не вполне рациональное использование дискового пространства.

    Ext4

    Современный вариант файловой системы Ext, предлагаемый по умолчанию в большинстве дистрибутивов Linux. Отличается высокой надёжностью, скоростью чтения/записи, поддержкой операций TRIM (необходимы для SSD-накопителей), автоматическая дефрагментация без размонтирования и многое другое. В большинстве случаев рекомендуется использовать эту ФС. Недавно в неё была добавлена поддержка шифрования (на уровне файловой системы). Ext4 - одна из самых быстрых и надёжных файловых систем. Кстати, Ext4 очень любит Google, и применяет её на своих серверах.

    Достоинства:

    • Ext4 поддерживает гигантские объемы дисков и размеры файлов, работает с ними гораздо быстрее (очень заметно при удалении).
    • Низкий уровень фрагментации файловой системы, и, как следствие, прирост производительности.
    • Улучшена производительность некоторых баз данных и мультимедийных приложений
    • Ext4 умеет откладывать выделение места на диске на последний момент, что положительно сказывается на производительности.
    • Ext3 поддерживает 32 тысячи поддиректорий. В Ext4 ограничения сняты.
    • Запись контрольных сумм в журнал и, как следствие, высокая надежность.
    • Онлайн дефрагментация.
    • Восстановление удаленных файлов.
    Недостатки:
    • Неэкономичность использования дискового пространства.
    • Ограничение на количество inode, что в случае его превышения (из-за хранения гигантского количества мелких файлов), может привести к невозможности записи данных на диск, даже если есть свободное место.

    XFS

    Файловая система XFS была разработана в середине 2000-х годов для операционной системы IRIX, которая была стандартом для создания выскопрофессиональной компьютерной графики. В начале 90-х, XFS была выпущена как свободное ПО, и включена в ядро Linux. Основным достоинством XFS, является прекрасная работа с очень большими файлами. К примеру если у вас есть диск, который вы используете для торрентов, то XFS для него будет лучшим выбором. XFS является 64-х битной ФС, поддерживает отложенное выделения дискового пространства (что позволяет оптимально расходовать место на диске и уменьшить фрагментацию), дефрагментацию на лету, а также динамическое выделение inodes, и их высвобождение для записи данных. Связка XFS+LVM+RAID mdadm (программный), весьма популярна в серверной среде.

    Достоинства:

    • Очень эффективна в работе с большими по размеру файлами, хорошо работает также с большими по объему каталогами на чтение и поиск в них.
    • Рациональное использование дискового пространства.
    • Высокая производительность.
    • Онлайн дефрагментация.
    Недостатки:
    • Высокая сложность восстановления удалённых данных.
    • Не рекомендуется держать на ней корневую файловую систему, так как xfs считает, что содержимое находившихся открытыми на запись файлов при некорректном прерывании работы системы не определено, и она заполняет эти файлы нулями.
    • В случае сбоя во время записи метаданных в журнал, возможна потеря данных (это характерно для всех ФС с журналированием метаданных). Рекомендуется использование ИБП (Источника Бесперебойного Питания).

    JFS

    JFS - это 64-х битная журналируемая файловая система от компании IBM, изначально созданная для их же операционной системы AIX. Существует 2 поколения JFS, которые используются в AIX. В Linux используется только второе поколение, JFS2. Отличается хорошей производительностью, лёгкостью восстановления удалённых данных, а также хорошей работой с мелкими файлами. Как и XFS, JFS журналирует только метаданные, потому в случае сбоя, во время записи метаданных в журнал, возможна потеря данных.

    Достоинства:

    • Рациональное использование дискового пространства.
    • Дает хороший прирост в скорости работы.
    • Возможно восстановить данные с поврежденного тома, или же стертые данные.
    • Нет ограничений на количество файлов.
    • Достаточно производительна, особенно на небольших файлах.
    • Минимальная нагрузка на процессор.
    Недостатки:
    • Средняя производительность.
    • Невысокая скорость работы с большими файлами.

    Btrfs

    Btrfs - это файловая система от компании Oracle, созданная в качестве ответа на файловую систему ZFS, от компании Sun (которую позже купила Oracle). Btrfs позиционируется как современная и многофункциональная замена Ext4, и помимо самой ФС, обладает функционалом менеджера логических томов, менеджера RAID, возможностью создания снимков состояния (а также снимков снимков), и копированием при записи (при копировании данных создаётся только символьная ссылка, а само копирование происходит только при обращении к этим данным для записи. Это позволяет существенно сократить используемое дисковое пространство для снимков состояния (снапшотов)). Файловая система Btrfs имеет структуру B-деревьев. Корнем дерева является сама ФС, а все каталоги и разделы диска - ветвями (так называемыми подтомами). Во время разметки диска, достаточно отдать всё пространство (кроме раздела swap) под Btrfs, а все необходимые разделы реализовывать в виде подтомов, которые будут монтироваться к общему дереву. В результате будет возможно создавать мгновенные снимки состояния разделов, и в случае необходимости  - полностью восстанавливать их к исходному состоянию. Пример установки Ubuntu на диск с Btrfs, описан в этой статье.

    Достоинства:

    • Высокая скорость работы.
    • Возможность создания снимков состояния (и снимков снимков)
    • Механизм Copy-on-Write (Копирование при записи).
    • Встроенный функционал менеджера логических томов и менеджера RAID.
    • Оптимизированна для SSD-накопителей.
    • Возможность сконвертировать ext4 в Btrfs.
    • Неограниченное количество inodes
    • Сжатие данных (значительная экономия дискового пространства).
    Недостатки:
    • Пока нет возможности online-сканирования ФС на ошибки (без размонтирования).
    • Нет поддержки дедупликации данных.
    • Так как Btrfs всё ещё в состоянии активной разработки, она не отличается высокой надёжностью, потому не рекомендуется для использования в ответственных системах, таких как сервера.

    ZFS

    ZFS - это файловая система от компании Sun Microsystems (ныне принадлежит Oracle), которая была создана для их операционной системы Solaris. В 2005 году, Sun открыла код ZFS в рамках проекта OpenSolaris. Это позволило портировать ZFS на другие UNIX-подобные системы. В FreeBSD данная ФС доступна штатно, наряду с UFS. Для Linux доступен "ядерный" модуль ZFS on Linux. Лицензия CDDL, по которой распространяется ZFS, несовместима с GPL, и потому не позволяет включить ZFS в ядро Linux. Однако на официальном сайте доступны готовые установочные модули для большинства дистрибутивов. Данная файловая система отличается поддержкой неограниченных объёмов данных (на самом деле, конечно, ограничения есть, но максимальный размер данных так велик, что можно сказать, что объём данных практически бесконечен), поддержкой снимков состояния, функционалом менеджера логических томов, поддержкой дедупликации данных, механизмом Copy-on-Write и многим другим. Данная ФС рекомендуется для файловых хранилищ, а также серверов, и в отдельных случаях - для десктопов (например если у вас несколько дисков, объединённых в RAID-массив).

    Достоинства:

    • 128-битная файловая система, что даёт возможность хранения соответствующих объёмов информации
    • использование продвинутых алгоритмов хэширования для повышения надёжности хранения
    • поддержка снапшотов (snapshot), благодаря этой и следующей особенности ZFS сочетает в себе возможности файловой системы и системы управления томами (такой как LVM)
    • поддержка пулов хранения (storage pools)
    • высокая производительность на ряде задач
    • endian'о-независимость, что даёт возможность безболезнненого смешения устройств big endian и little endian
    • отсутствие необходимости в выполнении fsck благодаря использованию другого подхода к организации хранения данных 
    Недостатки:
  • Невозможно уменьшить zfs pool.
  • Невозможно увеличить количество устройств внутри избыточного vdev ( raidz/raidz2 )
  • Из-за широкого использования Copy-on-write возможна заметная фрагментация при частом изменении файлов. Дефрагментатора пока нет. 
  • Штатно отсутствует в ядре Linux.
  • Потребляет значительное количество оперативной памяти.
  • F2FS

    F2FS - это файловая система, оптимизированная для Flash и SSD накопителей, разработанная компанией Samsung и включённая в ядро Linux с версии 3.8. Для адаптации F2FS к различным видам флеш-накопителей, отличающихся своими характеристиками в зависимости от внутренней геометрии и схемы управления, предусмотрен широкий спектр параметров для управления структурой распределения данных в разделе и предоставлена возможность выбора различных алгоритмов очистки и выделения блоков. ФС учитывает все технические особенности твердотельных накопителей, такие как неизменное время доступа и ограниченный цикл перезаписи. Хранение структур данных организовано в форме журнала, а при обновлении информации используется механизм копирования при записи (Copy-On-Write, COW), при котором при изменении данные не перезаписываются, но сохраняются в новом месте. Метод работы F2FS позволит существенно продлить жизнь флеш-накопителей, поскольку файловая система учитывает внутреннюю геометрию расположения чипов в носителе и работу контроллера. Для снижения износа флеш-накопителя данные по возможности распределяются равномерно, сводя к минимуму повторную запись в одни и те же блоки.

    Достоинства:

    • Специально оптимизирована для твердотельных накопителей и может существенно продлить их срок службы, а также обеспечить максимальное быстродействие.
    Недостатки:
    • F2FS слишком молода, и пока не может похвастаться высокой надёжностью.
    • Недоступна непосредственно при установке большинства дистрибутивов (необходимо вручную переносить систему на раздел с F2FS).

    NILFS

    Это журнально-структурированная файловая система, разработанная специально для Linux. Будучи журнально-структурированной файловой системой (одна из разновидностей технологии «копирования-при-записи»), NILFS записывает данные в специальные журналоподобные файлы, при этом никогда их не перезаписывая, что позволяет минимизировать время поиска информации и избежать возможной потери данных, характерной для других файловых систем. Для примера, такая потеря может произойти на файловой системе ext3 при крахе компьютера в момент, когда производилась запись: после перезагрузки запись в журнале будет отменена и частично записанные данные потеряются.

    Достоинства:

    • Малое время записи и восстановления данных
    • Минимальные повреждения файловых данных и целостности системы при аппаратных сбоях.
      • 32-битные контрольные суммы (CRC32) для контроля целостности данных и метаданных (для групп блоков, для отдельных сегментов)
      • Запись данных и метаданных в правильном порядке
      • Резервные копии суперблока
    • Блоки файлов и inode-ов управляются B-tree структурой
    • 64-битные внутренние данные
    • Поддержка больших файлов (8 Эксабайт)
    • Размер блоков меньше размера страницы (напр. 1 кб. или 2 кб.)
    • Изменение размера "на лету" (начиная с Linux-3.x и nilfs-utils 2.1)
    Недостатки:
    • Отсутствие инструмента проверки ФС на ошибки (fsck)
    • Довольно неэкономное расходование дискового пространства.
    • Необходимость в использовании сборщика мусора  nilfs_cleanerd, в противном случае количество свободного места на диске определяется неправильно.
    • Недоступна во время установки системы.

    Reiser4

    Raiser4 - четвёртая версия одной из первых журналируемых файловых систем, разработанная специально для Linux.  включает в себя такие современные технологии как задержка выделения пространства, встроенную возможность кодирования и сжатия данных, транзакции. В настоящее время практически не развивается, так как главный разработчик ФС Ганс Рейзер, находится в тюремном заключении. Поддержка Raiser4 ведётся русским программистом Эдуардом Шишкиным. Raiser4 штатно отсутствует в ядре Linux, поэтому необходимо её добавление посредством патча.

    Достоинства:

    • атомарная структура ФС (atomic filesystem) — позволяет производить операции файловой системы или полностью, или никак, но не наполовину; это повышает надёжность хранения данных;
    • использует алгоритм танцующего дерева, который пришёл на смену алгоритму B+-дерева, используемого в базах данных; Это позволяет Reiser4 более эффективно использовать пространство, благодаря тому, что маленькие файлы хранятся вместе и более высокой скорости работы, так как дерево балансируется только при записи на диск, достижении предела памяти или завершении транзакции; Благодаря редкой оптимизации появляется возможность достижения более глубокого уровня её проведения.
    • Архитектура Reiser4 основана на плагинах, что может облегчить добавление новых возможностей в файловую систему. Из значимых плагинов на данный момент существует плагин прозрачной компрессии (архиватор), позволяющий сжимать содержимое файлов перед записью на диск (что также значительно увеличивает скорость работы, уменьшая непосредственно считываемый/записываемый объём данных).
    Недостатки:
    • Raiser4 в настоящее время почти не развивается, ведётся лишь исправление мелких ошибок и адаптация под новые версии ядра Linux, а также небольшие изменения функциональности.
    • Отсутствует в ядре Linux.

    Прочие файловые системы.

    NTFS

    Linux поддерживает файловую систему NTFS, применяемую в Windows. Её поддержкой занимается драйвер ntfs-3g, который работает через FUSE (File System on Userpace, файловая система в пространстве пользователя). Однако производительность будет ниже, чем при использовании модуля для ядра от компании Paragon (модуль платный). Тем не менее, скорость чтения/записи весьма высока, ntfs-3g работает с любыми NTFS-накопителями, в следствии простой реализации драйвера, высока его надёжность.

    HFS+

    Linux поддерживает файловую систему HFS+, используемую в Mac OS X в режиме чтения со включённым журналированием, и в режиме чтения/записи с отключённым. Для возможности полноценного использования HFS+ в режиме чтения/записи, также существует платный драйвер от Paragon.

    UFS

    Linux поддерживает файловую систему UFS (Unix File System), используемую в FreeBSD и других UNIX-системах. Штатно поддерживается монтирование в режиме только чтение, для монтирования в режиме чтение/запись, в ядре должна быть включена поддержка UFS.

    FAT/FAT32

    Разумеется Linux поддерживает старые (я бы даже сказал, древние) фаловые системы FAT и FAT32

    extFAT

    Linux поддерживает файловую систему extFAT, разработанную компанией Майкрософт в режиме чтения/записи, посредством FUSE-драйвера. Это современная версия FAT, обладающая следующими достоинствами:
    • Уменьшение количества перезаписей одного и того же сектора, что важно для флеш-накопителей, у которых ячейки памяти необратимо изнашиваются после определённого количества операций записи (это сильно смягчается выравниванием износа — wear leveling, — встроенным в современные USB-накопители и SD-карточки). Это была основная причина разработки ExFAT.
    • Теоретический лимит на размер файла 264 байт (16 эксабайт).
    • Максимальный размер кластера увеличен до 225 байт (32 мегабайта).
    • Улучшение распределения свободного места за счёт введения бит-карты свободного места, что может уменьшать фрагментацию диска.
    • Введена поддержка списка прав доступа.
    • Поддержка транзакций (опциональная возможность, должна поддерживаться устройством).
    Из недостатков:
    • Более сложная структура, чем у FAT,  вызывает больший расход вычислительных ресурсов компьютера.
    • Проприетарная, разрабатывается Майкрсоофт и очень плохо поддерживается в относительно старых системах (нужно устанавливать драйвера).
    Конечно, это не весь список файловых систем, которые поддерживает Linux. Есть там ещё малоизвестные и специфичные файловые системы. Линукс обладает, наверное, самой широкой поддержкой разнообразных файловых систем, поэтому какой-бы накопитель вы не подключили, с вероятностью в 98% он будет работать сразу и без нареканий.

    linuxoidblog.blogspot.com