Начало работы с btrfs для Linux

17.11.2020
0
2 326

Файловая система B-tree - это файловая система и менеджер томов, объединенные в одно целое. Он предлагает много перспектив для доставки расширенного набора функций файловой системы в Linux.


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


Btrfs, сокращенно от B-Tree Filesystem, на самом деле является файловой системой и менеджером томов в одном флаконе. Это часто рассматривается как ответ на ZFS, введенный в ОС Solaris Sun Microsystem еще в 2005 году, теперь в значительной степени замененный реализацией с открытым исходным кодом под названием OpenZFS. Ubuntu Linux и FreeBSD часто используют OpenZFS. Другие примеры с аналогичными функциями-это Stratis Red Hat и Linux Logical Volume Manager (LVM).


Установка

Чтобы попробовать Btrfs, я скачал ISO-файл рабочей станции Fedora 33 и установил его на новую виртуальную машину (VM). Процесс установки не изменился по сравнению с предыдущими версиями. Я не настраивал никаких настроек, включая секционирование и форматирование дисков, чтобы поддерживать точную настройку "из коробки" для этого учебника. Как только виртуальная машина заработала, я установил и запустил редактор разделов GNOME Partition Editor (GParted), чтобы получить хороший, свежий заводской вид макета диска.

Начало работы с btrfs для Linux 

С этого момента он не сильно отличается от того, к чему вы привыкли; на самом деле вы можете использовать систему нормально, и вы даже не заметите, что файловая система-это Btrfs. Однако наличие этого нового значения по умолчанию позволяет вам использовать несколько интересных функций.

Изучите файловую систему Btrfs

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

Из командной строки вы можете более подробно ознакомиться с форматом Btrfs:

# btrfs filesystem show
Label: 'fedora_localhost-live'  uuid: f2bb02f9-5c41-4c91-8eae-827a801ee58a
        Total devices 1 FS bytes used 6.36GiB
        devid    1 size 10.41GiB used 8.02GiB path /dev/vda3

Изменение меток Btrfs

Первое, что я заметил, была метка файловой системы, установленная установщиком: fedora_localhost-live. Это неточно, потому что теперь это установленная система, а некомпакт-диск. Поэтому я изменил его с помощью btrfs filesystem label команды.

Изменить метку файловой системы Btrfs очень просто:

# btrfs filesystem label /
fedora_localhost-live
# btrfs filesystem label / fedora33workstation
# btrfs filesystem label /
fedora33workstation

Управление Btrfs subvolumes

Subvolume по-видимому, является стандартным каталогом, которым можно управлять с помощью Btrfs. На моей новой рабочей станции Fedora 33 есть несколько subvolume.

# btrfs subvolume list /
ID 256 gen 2458 top level 5 path home
ID 258 gen 2461 top level 5 path root
ID 265 gen 1593 top level 258 path var/lib/machines

Создать новый подраздел использование файловой системы Btrfs подраздел создать команду, или удалить подраздел подраздел с файловой системой Btrfs удалить:

# btrfs subvolume create /opt/foo
Create subvolume '/opt/foo'
# btrfs subvolume list /
ID 256 gen 2884 top level 5 path home
ID 258 gen 2888 top level 5 path root
ID 265 gen 1593 top level 258 path var/lib/machines
ID 276 gen 2888 top level 258 path opt/foo
# btrfs subvolume delete /opt/foo
Delete subvolume (no-commit): '/opt/foo'

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


Добавление пользователя

Как и в прежние времена, добавление новой учетной записи пользователя создает домашний каталог для использования этой учетной записи:

# useradd student1
# getent passwd student1
student1:x:1006:1006::/home/student1:/bin/bash
# ls -l /home
drwx------. 1 student1 student1  80 Oct 29 00:21 student1

Традиционно домашний каталог пользователя является подкаталогом /home. Собственность и привилегии адаптированы к владельцу, но нет никаких специальных функций для управления ими. Среда enterprise server - это другой сценарий. Часто каталог зарезервирован для использования конкретным приложением и его пользователем. Вы можете воспользоваться преимуществами Btrfs для управления и применения ограничений к этим каталогам.


Чтобы приспособить ее подразделов в коталогах пользователей, появилась возможность с помощью команды useradd: ---btrfs-subvolume-home. Хотя справочные страницы не были обновлены (на момент написания этой статьи), вы можете увидеть эту опцию, запустив useradd --help. При передаче этой опции при добавлении нового пользователя будет создан новый подкаталог Btrfs. Он функционирует точно так же, как параметр -d для создания обычного каталога:

# useradd --btrfs-subvolume-home student2
Create subvolume '/home/student2'

Проверьте пользователя с помощью getent passwd student2, и он будет выглядеть нормально. Однако выполните команду btrfs subvolume, чтобы вывести список subvolumes, и вы увидите кое-что интересное: домашний каталог нового пользователя!

# btrfs subvolume list /
ID 256 gen 2458 top level 5 path home
ID 258 gen 2461 top level 5 path root
ID 265 gen 1593 top level 258 path var/lib/machines
ID 272 gen 2459 top level 256 path home/student2

Рассмотрим второй сценарий среды корпоративного сервера. Предположим, вам нужно установить сервер WildFly в /opt и развернуть веб-приложение Java. Часто первым шагом является создание пользователя wildfly. Сделайте это с помощью новой опции --btrfs-subvolume-home вместе с параметром -b, чтобы указать /opt в качестве базового каталога:

Create subvolume '/opt/wildfly'

Теперь пользователь wildfly может войти в систему и завершить установку в /opt/wildfly.

Удаление пользователя

Когда вы удаляете пользователя, иногда вы хотите удалить файлы этого пользователя и домашний каталог одновременно. Команда userdel имеет для этого параметр -r, а также удаляет подкаталоги Btrfs:

# userdel -r student2
Delete subvolume (commit): '/home/student2'

Установите квоты использования диска

На одном из моих занятий по информатике студент запустил программу на языке Си, которая вышла из-под контроля и записывала на диск до тех пор, пока весь /home не был заполнен в системе Unix кафедры! Сервер стал недоступен до тех пор, пока администратор не убил запущенный процесс и не очистил некоторое пространство. То же самое верно и для описанного выше сценария: корпоративное приложение Wildfly будет иметь все большее число файлов журналов и хранилищ контента для своих пользователей. Как вы можете предотвратить остановку сервера из-за того, что диск заполнен? Установка ограничений на использование диска-это хорошая идея. К счастью, Btrfs поддерживает…

# btrfs quota enable /

Убедитесь, что вы знаете ID номер группы квот (qgroup) каждого подраздел, который отображается командой btrfs subvolume list. Каждый подраздел должен связанный на основе его ID. Это можно сделать на индивидуальной основе с помощью btrfs qgroup create, но, что удобно, Btrfs wiki предоставляет следующую команду для ускорения создания qgroups для вложенных файлов в файловой системе:

>btrfs subvolume list \<path> | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup destroy 0/{} \<path>

В недавно установленной системе Fedora 33 workstation вы работаете с корневым путем файловой системы,/. замените \<path> корневым путем:

# btrfs subvolume list / | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /

Затем запустите btrfs quota rescan и посмотреть на новый qgroups:

# btrfs quota rescan /
quota rescan started
# btrfs qgroup show /
qgroupid         rfer         excl
--------         ----         ----
0/5          16.00KiB     16.00KiB
0/256       272.04MiB    272.04MiB
0/258         6.08GiB      6.08GiB
0/265        16.00KiB     16.00KiB
0/271        16.00KiB     16.00KiB
0/273        16.00KiB     16.00KiB

Теперь вы можете назначить квоту одной из групп, которая, в свою очередь, применяется к связанному с ней каталогу. Итак, если вы хотите ограничить использование домашнего каталога student3 до 1 ГБ, используйте команду btrfs qgroup limit:

# btrfs qgroup limit 1G /home/student3


Подтвердить квоту на конкретный подраздел:

# btrfs qgroup show -reF /home/student3
qgroupid         rfer         excl     max_rfer     max_excl
--------         ----         ----     --------     --------
0/271        16.00KiB     16.00KiB      1.00GiB         none

Немного отличающиеся параметры будут показывать все qgroups и любые установленные квоты:

# btrfs qgroup show -re /
qgroupid         rfer         excl     max_rfer     max_excl
--------         ----         ----     --------     --------
0/5          16.00KiB     16.00KiB         none         none
0/256       272.04MiB    272.04MiB         none         none
0/258         6.08GiB      6.08GiB         none         none
0/265        16.00KiB     16.00KiB         none         none
0/271        16.00KiB     16.00KiB      1.00GiB         none
0/273        16.00KiB     16.00KiB         none         none

Другие функции

Эти примеры дают некоторое представление об особенностях Btrfs. Запустите btrfs --help, чтобы увидеть полный список команд. Существует много других примечательных возможностей; например, моментальные снимки и отправка/получение-это две вещи, которые стоит изучить.


Последняя мысль

Btrfs предлагает многообещающие возможности для доставки расширенного набора функций файловой системы в Linux. Это было не первое; я отдаю должное ZFS за мое знакомство с этим типом файловой системы около 15 лет назад, но Btrfs полностью открыта и не обременена патентами.

Я хотел бы увидеть некоторые графические утилиты управления, созданные для системных администраторов, которые любят работать в мире графического интерфейса. К счастью, Btrfs имеет сильную активность в области разработки, о чем свидетельствует решение проекта Fedora сделать его дефолтным на рабочей станции 33.

Рейтинг:
37
Понравиласть статья? Жми лайк или расскажи своим друзьям!
Теги к новости:
Комментарии
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
  • Это код:
    Кликните на изображение чтобы обновить код, если он неразборчив
    Введите сюда:
    Похожие новости:
    11.11.2017
    Linux (видео уроки) Обзор Linux видео уроки 1. Введение в ОС Linux/Unix Ubuntu. Видео linux уроки 2017 года. gnu linux operating system. Linux администрирование и linux уроки, linux скачать. To linux distros for 2017 and обзор linux mint 18 1.
    17.07.2017
    RFRemix 26 основанный на Fedora 26 (Russian Fedora) Официально объявили о выходе Fedora 26. Это проект по поддержке пользователей и разработчиков открытого ПО в России. Основная цель проекта - обеспечить, чтобы Fedora полностью отвечала
    15.12.2018
    Linux mint 19.1 (скачать) Развиваемый сообществом дистрибутив Linux mint, основанный на Ubuntu и Debian, который ставит целью предоставить пользователю «современную, элегантную и удобную операционную систему, которая одновременно является мощной и
    03.12.2018
    Новая версия Deepin 15 включает в себя новый дизайн Центра Управления и компьютера, он имеет новый размытый и прозрачный стиль, также включены новые взаимодействия для угловой навигации и оконного менеджера наряду с выбором обоев рабочего стола,
    13.07.2018
    Стала доступна для скачивания финальная версия Linux Mint 19 сразу со всеми основными вариантами рабочих столов: Cinnamon, MATE и Xfce. Если вы только начинаете знакомиться с удивительным миром Linux, то поясню: Cinnamon – это самый передовой и
    04.01.2018
    Ubuntu 17.10 Новости Ubuntu 17.10, что будет с Unity и многое другое. Ubuntu — это операционная система, идеально подходящая для использования на персональных компьютерах, ноутбуках и серверах. Cтали известны первые подробности о следующем выпуске
    08.06.2018
    Linux Mint 19 – это релиз с длительной поддержкой до 2023 года. Он поставляется с обновлённым программным обеспечением и приносит усовершенствования и множество новых функций, чтобы сделать ваш рабочий стол более удобным. 350w, 300w, 768w, 1024w,
    06.12.2019
    Новые возможности в Linux Mint 19.3. Linux Mint 19.3 - это долгосрочный релиз поддержки, который будет поддерживаться до 2023 года. Он поставляется с обновленным программным обеспечением и приносит уточнения и множество новых функций, чтобы сделать
    14.03.2018
    Rosa Linux - Linux из России. ROSA Fresh. Сделана для дома. Создана для вас. ROSA Fresh — это современная отечественная операционная система Linux, создаваемая сообществом и легально доступная всем желающим совершенно бесплатно и без регистрации.
    18.01.2017
    Какой линукс выбрать? Какой linux лучше? Сегодня мы разберемся какие дистрибутивы линукс бывают и какой из них самый лучший. Первое что нужно понять: дистрибутивов линуксов очень много, больше 100. Но, как и в любой экосистеме, тут существует
    16.01.2017
    Linux Mint 18.1 Serena Cinnamon (Подробный обзор) Подробный обзор Beta версии Linux Mint 18.1 Serena Cinnamon Linux Mint команда объявила о выпуске обновления для 18.x филиала проекта. В новой версии, Linux Mint 18.1, доступен в двух версиях
    30.06.2020
    Команда с гордостью объявляет о выпуске Linux Mint 20” Ulyana " Cinnamon Edition. Linux Mint 20-это долгосрочный релиз поддержки, который будет поддерживаться до 2025 года. Он поставляется с обновленным программным обеспечением и приносит
    17.07.2017
    Linux mint 18.2 Основные новшества Linux Mint 18.2 (MATE, Cinnamon, KDE и Xfce): В состав включены новые версии десктоп-окружений MATE 1.18 и Cinnamon 3.4, оформление и организация работы в которых продолжает развитие идей GNOME 2 - пользователю
    12.09.2023
    Нательные камеры или нагрудные видеорегистраторы становятся все более распространенным явлением у силовиков в полиции и силах безопасности. Дебаты об их необходимости с точки зрения эффективности в полиции и подотчетности, а также общественного
    15.01.2017
    Новости Linux Январь 2017. НОВОСТИ LINUX, UBUNTU 2017 ЯНВАРЬ В Telegram появилась возможность удалить отправленное сообщения В мессенджере Telegram появилась возможность удалить отправленное сообщения. И если раньше оно удалялось только с одной
    16.06.2021
    Linux Mint 20.2 Ума (Uma) Скачать. Самая большая новость в этом месяце-предстоящий выпуск Linux Mint 20.2 “Uma”. Мы надеемся, что БЕТА-версия будет готова к середине июня.
    05.01.2018
    Обзор Solus 3 с рабочим окружением Budgie Этот релиз включает в себя из-из-коробки поддержка, универсальных программных пакетов для Linux. Поддержка снимков снимает давление со стороны поставщиков программного обеспечения для конкретной платформы,
    06.04.2020
    Новая ICQ (Windows, Linux, Mac, Web) Что нового: Mail Group представила обновленный мессенджер ICQ. Новая версия знаменитой "аськи" стала "умной, быстрой, гибкой". Разработчики добавили несколько интересных функций, которые
    23.11.2023
    Бинокли - очень популярное оптическое оборудование, предназначенное для многих профессиональных и любительских целей. Основная задача каждого бинокля - увеличить конкретный объект, который мы хотим лучше рассмотреть. Существуют разные типы биноклей
    08.06.2018
    В операционной системе Linux при запуске скаченного файла, либо при запуске самостоятельно скомпилированного файла вы можете столкнуться с ошибкой: Если у вас англоязычная локаль, то ошибка будет примерно такой: bash: ./program: cannot execute
    все шаблоны для dle на сайте шаблоны dle 11.2 скачать
    выбрать фон