Книга: Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013
Создание файловых систем
Создание файловых систем
Пулы хранения представляют собой вместилища для наборов данных, для манипуляции которыми предназначена вторая из главнейших команд – zfs. Самыми важными наборами данных являются файловые системы, к рассмотрению которых мы и переходим.
Для создания файловых систем предназначена субкоманда create команды zfs, которая требует единственного аргумента – имени создаваемой ФС и обычно не нуждается ни в каких опциях:
# zfs create pool_name/fs_name
Внутри пула можно создавать сколь угодно сложную иерархию файловых систем. Единственное условие – родительская файловая система для системы более глубокого уровня вложенности должна быть создана заблаговременно. Ниже я покажу это на конкретном примере создания файловых систем внутри каталога /home – наиболее оправданное место для размещения наборов данных ZFS.
Начну я немножечко издалека. При стандартной установке openSUSE не обойтись без создания учетной записи обычного пользователя, и, следовательно, в каталоге /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 мы имеем дело с полноценными файловыми системами, для которых могут быть установлены индивидуальные свойства, аналогичные опциям монтирования файловых систем традиционных. Чем мы сейчас и займёмся.
- Незнаменитый yum
- PackageKit – кит пакетного менеджмента
- openSUSE LiveCD: нетривиальная установка
- Вступление
- Live-среда: запуск
- Подготовка Live-режима
- Настройка окружения администратора
- Преамбула к установке
- Установка
- Итоги установки
- Заключение
- ZFS on Linux: практика применения
- Обзор возможностей
- Аппаратные потребности
- Терминология
- Модели именования устройств
- Включение поддержки ZFS
- Создаём простой пул
- «Избыточные» пулы
- Пул кэшируемый
- О некоторых опциях команды zpool
- Создание файловых систем
- Файловые системы: устанавливаем свойства
- О перемонтировании
- Вместо заключения
- Создание многофайловой базы данных
- ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ
- 4 Файловая система Linux
- 4.6. Создание файловой системы. Типы файловых систем
- 4.6. Создание файлов
- Резервное копирование многофайловых баз данных
- Восстановление из резервных копий многофайловых баз данных
- Восстановление из резервной копии на системе-приемнике
- Неисправности акустических систем
- Особенности системы защиты данных в InterBase
- Создание файлов с блокировкой
- Система безопасности InterBase