Книга посвящена дистрибутиву Linux Mint и одной из его главных



Скачать 21.34 Mb.
Pdf просмотр
страница26/30
Дата22.11.2016
Размер21.34 Mb.
Просмотров5884
Скачиваний0
1   ...   22   23   24   25   26   27   28   29   30
Mint и softRAID
Теоретически softRAID Level 0 — самый простой способ объединения двух носителей информации, конкретно дисковых разделов. Однако как разв оказывается, что задействовать его «искаропки», то есть на стадии инсталляции, не получится. Причина проста до банальности на установочном носителе любой редакции этого дистрибутива отсутствует пакет отвечающий ныне за управление программным RAID. Что, однако, не препятствует подключению его в любой момент времени после установки.
Зачем? Вопрос, нужен ли RAID народу, и если нужен — то какой, да и какие ветви файловой иерархии на нём размещать, я здесь обсуждать не буду, ибо неоднократно высказывался поэтому поводу ранее. А потому буду исходить из следующих постулатов:

народу (в лице одного из его лучших представителей) RAID нужен позарез он необходим ему в форме softRAID Level 0; размещаться на нём должна ветка /home файлового древа. Для чего, как нетрудно догадаться, требуется установка пакета mdadm, входе которого автоматически выполняется сканирование на предмет наличия а. И после рестарта машины нужные модули (raid# и всё, что сними связано) загружаются автоматически, появляется устройство Теперь остаётся определить устройство /dev/md0 на его законное место — я уже несколько лет держу свои рабочие данные на отдельном носителе
(разделе, на пуле ZFS или, как в примерена программном е, который монтируется в каталог /home/data. Каковой был немедленно создан, и командой chown ему были присвоены атрибуты принадлежности точнее, 1000:1000 — UID и GID моего главного рабочего пользователя, вне зависимости оттого, как его зовут и какова его основная группа. Затем командой sudo blkid для устройства /dev/md0 был определён его UUID, под которым он был
вписан в /etc/fstab строкой вида
UUID=очень-длинное-бла-бла-бла /home/data ext4 defaults,noatime 0 0 Разумеется, можно было обойтись и без UUID, занеся RAID под его так называемым именем верхнего уровня, то есть /dev/md0. Но уж разв и её потомках принято именование устройств по убудем придерживаться фирменного стиля.
Сказанное выше относилось к подключению уже существующего softRAID
Level 0. Однако создание последнего с нуля ничуть не сложнее. Для начала с помощью одной из утилит, fdisk или cfdisk на каждом из носителей,
предназначенных для включения в массив, создаются по разделу. Для обоих следовало устанавливается идентификатор типа файловой системы fd — Linux raid Эти действия можно проделать с помощью графической утилиты gnome- disks, задав при создании разделов идентификатор их типа вручную, как Или, если не обременять память этим сложным шестнадцатеричным числом, выбрать его из списка, выводимого через пункт Изменить раздел,
вызываемый нижней шестерёнкой»:
Дальнейшая работа выполняется с помощью утилиты mdadm, которая в моём случае была запущена в такой форме sudo mdadm --create /dev/md0 --auto=yes --level=0 --raid-devices=2
/dev/sd(a,b)2 Здесь --create (или -C) — субкоманда создания массива, в качестве аргумента которой указывается имя его файла устройства (к этому вопросу я ещё вернусь, --level — определение его уровня (а я уже говорил, что именно нужно народу, --raid-devices — число входящих в массив устройств с указанием их имён (/dev/sda2 и /dev/sdb2). Опция же --auto=yes, как было установлено эмпирическим путём, препятсвует переопределению имени файла RAID-устройства.
ТПосле создания а результат своих действий можно проверить таким образом sudo mdadm --detail /dev/md0 Что должно дать примерно такой вывод
Version : 1.2

Creation Time : Tue Apr 15 00:06:59 2014
Raid Level : raid0
Array Size : 195371008 (186.32 GiB 200.06 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Tue Apr 15 00:06:59 2014
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 512K
Name : salix:0
UUID : a32dc435:25c68870:18fa63ca:010d8910
Events : 0
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2 1 8 18 1 active sync /dev/sdb2 Вместо субкоманды --detail можно использовать её сокращённую форму -И заметка на будущее все утилиты субкоманды mdadm, даже не выполняющие никаких действий, а только выводящие информацию, требуют прав суперпользователя. Исключение — запрос помощи mdadm --help и детализирующие его просьбы типа

$ mdadm --create --help К слову, в выводе последнего запроса (или из man mdadm) можно узнать о дополнительных опциях, с помощью которых определяются, например, такие параметры, как величина блока распараллеливания (Chunk Size), которая теоретически должна влиять на быстродействие (чем больше, тем лучше),
Однако сведений, насколько это чувствительно в десктопной обстановке, я не нашли потому положился на умолчание mdadm; как можно видеть из вывода субкоманды -D, оно составляет 512 Кбайт (в старых версиях — 64
Кбайт).
Завершив создание а, на нём следует создать файловую систему,
например, так sudo mkfs.ext4 /dev/md0 И обеспечить её монтирование при старте машины, внеся в файл /etc/fstab строку такого вида:
UUID=очень-длинное-бла-бла-бла /home/data ext4 defaults,noatime 0 0 Где очень-длинное-бла-бла-бла, как и раньше, определяется командой sudo blkid которая выведет значения UUID для всех наличных накопителей.
Mint и LVM
Тема этого очерка образовалась в значительной мере как результат случайности. Которая началась с того, что я стал счастливым обладателем
SSD-накопителя производства Crucial MX100 объёмом 512 ГБ, ив результате дисковая подсистема, упакованная внутри моего десктопа, стала выглядеть так:

вышеупомянутый полутерабайтный Crucial — на первом SATA-разъёме;

SanDisk Extreme SSD, 120 Гбайт — на втором он же, то есть точно такой жена третьем традиционный винчестер Seagate ST3500410AS ох гигабайтах на четвёртом. Первый SSD входе установки Mint 17.1 Rebecca был разбит натри раздела объёмом 20 ГБ с файловой системой ext4 под корень файловой иерархии

/dev/sda2 объёмом 10 ГБ, также с ext4 — подкаталог будущего пользователя, то есть меня — /home/alv (в домашнем каталоге я храню только файлы и некоторые служебные данные, на что указанного объёма хватало с лихвой

/dev/sda3 на всё оставшееся пространство — без файловой системы и,
сооветственно, без точки монтирования. На обоих ах было создано по разделу, занимающему их целиком и /dev/sdc1, соответственно, также без файловой системы. Вместе сони предназначались для объединения в хренилище моих рабочих данных — организация оного и является предметом данных очерков.
Винчестер у меня служит для экспериментальных целей, и потому разметка его постоянно меняется, да и к нашей теме не относится. За исключением того, что первые 32 ГБ диска выделены в раздел, служащий ом для всех моих систем.
Очевидно, что организация хранилища из трёх устройств требовала их объединения тем или иным способом. И поначалу напрашивался выбор эту систему хранения данных я люблю, более-менее знаю, и включал её
поддержку в сборки своих вариантов Mint 17. Однако тут модули ZFS у меня неожиданно с первого раза не собрались. Правда, проблема решилась
(благодаря помощи Станислава Шрамко aka stanis, о чём пойдёт речь в следующем очерке, однако, как говорится, осадок остался. Ибо случай этот послужил напоминанием не только о бренности бытия, но и птичьих правах,
на которых существует ZFS on В своё время, более десяти лет назад, я очень увлекался технологией тогда ещё й версии. Потом я это дело забросил по двум причинам. Во- первых, во времена винчестеров с интерфейсом было очень сложно сконфигурировать многодисковую систему LVM без деградации производительности. Во-вторых, инструментарий CLI для создания такой системы и последующего управления ею показался мне при использовании в
«домашних» условиях неоправданно сложным — особенно в сравнении с появившейся вскоре Ныне, в эпозу безраздельного господства накопителей, первое препятствие к применению LVM отпало полностью. Что касается второго, то оно во многом сглаживается наличием графических оболочек, изолирующих применителя от низкоуровневых команд. Одну из которых system-config-lvm, я и использовал нынче.
С тех пор, как я имел дело с LVM, появилась LVM2, предоставляющая ряд дополнительных возможностей, таких, как расширение логического тома на вновь подключённые физические тома. Однако суть технологии,
терминология, утилиты CLI для работы с LVM почти не изменились. Да ив сети можно найти много не менее подробных, но более свежих материалов по теме. Так что на этих вопросах останавливаться не буду, ограничившись маленьким терминологическим конспектом.
Сама по себе система LVM — уровень абстракции между физическими носителями (дисками, их разделами и массивами) и обычными файловыми системами. Она позволяет объединять в логические тома разделы с разных дисков, изменять их размер в сторону увеличения (за счёт присоединения новых накопителей) и, с некоторыми оговорками, уменьшения. В основе её
лежит понятие физического тома (PV — Physical volume). Это — обычный дисковый раздел, для которого устанавливается идентификатор типа (ID) Вопреки написанному в некоторых сетевых материалах, целый диск как raw- устройство типа /dev/sd? в качестве физического тома выступать не может.
Другое дело, что созданный на нём раздел сможет занимать и весь диски даже RAID, программный или аппаратный.
Физический том делится на куски, именуемые физическими экстентами
(Physical Extent, PE — по традиции оставлю этот термин без перевода, так как предлагаемый русскоязычной Википедией диапазон может ввести в заблуждение. Это — нечто вроде аналогов физических блоков (секторов)
обычного винчестера, их размер по умолчанию 4 МБ, но может быть изменён в обе стороны.
Физические тома объединяются в группу томов (VG — Volume которая выступает как единое целое и может рассматриваться как логическиий аналог накопителя. И, подобно последнему, делится на разделы — поскольку над физикой мы уже поднялись, они назваются логическими томами (LV — Logical volume). А уж те — опять-таки на «куски»,
которые, как нетрудно догадаться, носят имя логических экстентов (LE —
Logical extent). По размеру логический экстент равен экстенту физическому,
которому он ставится в соответствие — однозначно, но одним из двух методов. линейным (linear mapping), когда логические экстенты последовательно привязываются к физическим сначала первого физического тома, потом второго, итак далее, подобно линейному режиму RAID;
2. «черезполосным» (striped mapping), при котором куски логических экстентов (так называемые блоки чередования, по умолчанию равные КБ) распределяются по физическим экстентам чередующихся физических томов. Последний метод, сходен с расщеплением данных в RAID Level 0 и, подобно последнему, теоретически способствует быстродействию дисковых операций.
При этом очевидно (и важно в контексте дальнейшего развития сюжета, что размер логического тома с чередованием не может быть больше наименьшего из входящих в него томов физических.
В ходе создания собственного хренилища LVM, оказалось, что существует ещё и метод зеркалирования. Надо полагать, что это некое подобие RAID
Level 1. Но, поскольку для меня это неактуально, выяснением деталей не занимался.
Вне зависимости от метода соответствия логических и физических экстентов, логические тома предназначены для того, чтобы нести на себе файловые системы, подобно обычным дисковым разделам, причём точно те же самые — любые нативные для а ext2/ext3/ext4, XFS, ReiserFS, На этом терминологическое введение можно считать законченным перехожу к описанию действий по организации хранилища данных.
Пакет LVM2, предоставляющий утилиты CLI для работы с логическими томами, устанавливается в Mint по умолчанию. Однако, как говорилось выше — не тюрьма народов, и не заставляет применителя её зубрить полсотни команд этого пакета (я почти не преувеличиваю — их там 48). Потому что в репозиториях доступна графическая оболочка, интегрирующая все их функции — system-config-lvm. В скобках замечу, что это непросто самая распространённая морда к утилитам lvm2, но и единственная активно развиваемая в настоящее время. Так что перво-наперво её следует установить, что я и проделал:

$ apt install system-config-lvm После установки программа под именем Управление логическими томами обнаружилась в секции Администрирование главного меню Cinnamon, откуда и была запущена после ввода пароля, демонстрируя в моём случае такую картину:
Правда, здесь надо учесть, что переде запуском я через fdisk установил разделов, предназначенных на растерзание LVM, равным 8e. Что в принципе необязательно это можно сделать ив графической оболочке, нажав кнопку
Инициализировать раздел:
Однако сам раздел должен быть создан заблаговременно — зафиксировав курсор на неразмеченном пространстве, можно видеть, что кнопка инциализации просто неактивна Вне зависимости оттого, каким способом были инциализированы разделы,
первым шагом после этого будет создание группы томов посредством фиксации одного из инициализированных разделов (я сделал это для самого
«жирного») и нажатия кнопки Создать новую:
В вызываемой её панели достаточно задать какое-либо имя для группы томов, желательно осмысленное, например:
Впрочем, можно и изменить размер физического экстента в диапазоне от до 1024 МБ — если, конечно, точно знаете, что это нужно (я — так не уверен,
поэтому все остальные параметры оставил умолчальными):
После этого я полюбовался на физический и логический вид группы томов
(состоящей пока из одного физического тома, раздела /dev/sda3):
После чего занялся добавлением в группу физических томов — то есть в моём случае разделов /dev/sdb1 и /dev/sdc1. Для чего просто указывается группа, в которую надо добавить соотвтетсвующее устройство — поскольку группа у меня одна, то и ломать тут голову не над чем:
По завершении компоновки группы томов она стала выглядеть таким образом:
Теперь настал черёд поделить эту группу на логические тома. Оно сводится к

определению имени тома (опять таки желательно осмысленного — наследующем скриншоте рассмотрен пример тома для текущих проектов заданию метода соответствия логических экстентов физическим — в примере чересполосного числа полос — поскольку в группе томов участвует три устройства,
значение его очевидно размера блока чередования — я сохранил умолчальные 4 килобайта,
но его можно увеличить до 512 КБ (опять жене знаю, нужно ли это
Затем я задал размер тома и файловую систему для него — в моей системе доступны ext всех видов и XFS:
После чего осталось указать условия монтирования тома точку для оного:
Нажав OK, я получил сообщение, что и такой точки не существует и предложение её создать, от которого, разумеется, невозможно отказаться:
Тем же манеров был создан том для размещёния виртуальных машин — как мне объяснили резонные люди, для них быстродействие дисковых операций также важно. На этом лимит томов с чередованием у меня был исчерпан, и оставшееся пространство я разделил на два линейных тома — под старые,
но периодически нужные проекты, и под всякую всячину типа мультимедии:
После чего физическая и логическая картины моей группы томов стали выглядеть так:
Оставалось перезагрузиться (для страховки, можно было заказать и немедленное монтирование томов) и начать заполнять тома данными из бэкапов, разумеется, сделанных до начала не только развлечений с LVM, но и
до установки Rebecca.
Mint и ZFS
Соедующая серия очерков посвящена ZFS — универсальной системе размещёния данных, интегрирующей в себе собственно файловую систему и технологию управления дисковыми массивами и логическими томами. Если softRAID и LVM посвящено множество сетевых материалов, тотема в
Linux'е (так называемая ZFS on Linux) на русском язые освящена существенно слабее. Поэтому я и решил остановиться на ней подробно.
Общее введение
Одна из главнейших задач при работе на компьютере — манипулирование данными создание, модификация, копирование, перемещёние итак далее. И
тут первое — это организация их размещёния. Это понятие включает в себя широкий круг частных вопросов — схемы дисковой разметки, управления дисковыми массивами и логическими томами, файловые системы и их монтирование в файловую иерархию. Они тесно связаны между собой, но традиционно решаются каждая с помощью собственного инструментария.
Однако в последние годы в е получили распространение интегрированные системы размещёния данных, объединяющие в себе и файловые системы, и задачи управления массивами и томами, и даже,
частично, задачи разметки дисков. Такие системы существовали очень давно со времен доисторического а, но были они проприетарными. ZFS же,
разработанная фирмой Sun для своей ОС Solaris, ныне распространяется свободно, под лицензией CDDL. Благодаря чему была портирована на а в последние годы нативно поддерживается ив Linux’е.
Именно ZFS on Linux и будет героиней нашего романа, и не только в силу своих несравненных достоинств. А во-вторых, развитие проекта ZFS on Linux блестяще демонстрирует торжество инженерного разума над юридической заумью. И потому являет собой просто замечательный литературный сюжет,
мимо которого не в силах пройти ни один сочинитель в жанре технологической новеллы. И начать этот сюжет надо издалека.
Дисковая разметка
Говорят, что во времена далекие, теперь почти былинные, файловых систем не было информация на носители записывалась побитно, без всякой организации в именованные её наборы. Впрочем, такой способ записи данных применялся и много позднее — например, при резервном копировании на стриммерные ленты. Можно обходиться без файловых систем и при записи на стандартные блочные устройства — винчестеры, SSD, компакт-диски.
Однако в большинстве случаев данные на носителях блочного типа организуются в виде файлов, а файлы объединяются в файловые системы плоские, как в древнем е, древовидные, как во всех подобных операционках, или, так сказать, «многодревные», как в Windows. Каковые могут быть созданы непосредственно на носителе как устройстве, но обычно накладываются на дисковые разделы.
Исторически сложилось так, что одному разделу соответствовала одна файловая система. Соответственно, и выходить заграницы несущего их устройства файловые системы не могли. И если требовалось работать более
чем с одной файловой системой на одном физическом накопителе (а в UNIX- подобных ОС это почти всегда так, то был необходим тщательный расчет дискового пространства для каждой из них ошибки в расчётах влекли весьма неприятные последствия, вплоть до необходимости переразбиения диска и переустановки ОС вообще.
Правда, дисковые разделы могут не только разделяться, но и объединяться в программные массивы или в группы томов, о которых говорилось в предыдущих очерках.
Файловые системы
Как известно ещё с советских атеистических времен, Господь Бог, создавая человека, хотел сделать его умным, честными партийным. Но оказалось, что даже он, при всём своём всемогуществе, не смог ему дать больше двух качеств вместе.
Аналогично и с файловыми системами разработчики хотели бы видеть их быстрыми, надежными и простыми в обращении. Давайте посмотрим, удалось ли им превзойти Господа.
В подобных системах требование быстродействия удовлетворяется,
во-первых, оптимизированным расположением каталогов, метаданных и данных файлов на физических носителях. Но во-вторых и главных —
кэшированием записи.
Думаю, каждого, кто начинал знакомство сом во времена безраздельного господства файловой системы ext2fs, поражала быстрота выполнения всех файловых операций, обусловленная их асинхронностью — то есть кэшированием данных и метаданных. Оборотная сторона медали — отказ системы по любой причине влёк за собой тяжкие последствия, вплоть до полного ее разрушения. Но и даже когда до полной катастрофы дело не доходило, отказы (например, по питанию) вызывали за собой долгую и нудную процедуру проверки целостности файловой системы.
Были разработаны различные механизмы решения этой проблемы. Однако основным встало так называемое журналирование, когда сведения о файловых операциях записываются в специальный файл журнала до того, как эти операции будут фактически выполнены. Это дает возможность после любого сбоя откатить файловую систему до последнего непротиворечивого состояния. Оборотной стороной чего, как обычно, является снижение быстродействия — различное для отдельных файловых систем и видов файловых операций.
Правда, сточки зрения простоты использования нив одну из файловых система бросить камень рука не подымется создание и монтирование их никаких трудностей не сулит. Так что требование «партийности»
выполняется, пожалуй, при всех соотношениях ума и честности. Но эта ситуация сохраняется, пока мы не начинаем комбинировать ум, честность и партийность файловых систем с аналогичными качествами систем управления RAID’ами или с LVM. В результате чего получаем:

либо быстрое и относительно простое решение на основе RAID Level не блещущее надёжностью;
либо надёжное решение без ощутимой потери быстродействия на основе одного из RAID с избыточностью, не являющееся, однако,
эталоном простоты либо, наконец, относительно надёжное и потенциально быстрое решение при использовании технологии LVM — однако и оно не блещёт простотой. Ибо все эти решения — многоуровневые. И очевидно, что удлинение
«цепочки» уровней в любом случае приводит к снижению надежности чем больше в ней звеньев, тем вероятней отказ всей цепи.
И тут-то и возникает вопроса нельзя ли уменьшить количество уровней,
сделать систему более плоской И системы размещёния данных, в том числе и ZFS — попытка ответа на него.
Из истории систем размещёния
Не в интересах правды, а истины ради нужно заметить, что ZFS была отнюдь не первой комплексной системой размещёния данных — хотя её
исторические предшественницы также именовались просто файловыми системами.
Первой из таких предшественниц была, видимо, файловая система или VxFS), разработанная фирмой Veritas Software и представленная миру в году. Она же претендует название первой в истории мироздания журналируемой файловой системы. Хотя, насколько мне известно, JFS —
эпоним всех журналируемых ФС — в своей реализации для AIX появилась в году, так что вопрос приоритета остаётся не вполне ясным была основной файловой системой в HP UX, работает также во всех ныне живущих проприетарных ахи теоретически может использоваться в е. Однако о практических примерах последнего я не слышал является системой проприетарной и весьма дорогой тесно интегрирована с менеджером логических томов — Благодаря чему в ней возможно изменение (в любую сторону) размера файловой системы налету, включение различных режимов использования томов — стриппинг данных, их зеркалирование, а также комбинации того и другого, создание избыточных массивов по типу RAID Level 5, изменение внутренней организации данных без остановки работы. Всё это позволяет (в сочетании с VxVM) претендовать название комплексной системы размещёния данных.
Впрочем, не меньше к тому оснований было и у AdvFS — файловой системы,
разработанной к 1993 году фирмой DEC для своего проприетарного варианта, именовавшегося сначала OSF/1, затем Digital UNIX, и завершившего свою жизнь под именем Tru64 UNIX. Судьба её была печальной. Снискав заслуженное признание на своей родной платформе DEC Alpha под управлением указанной ОС, она после покупки DEC фирмой Compaq оказалась в загоне. А после того, как Compaq, в свою очередь, был поглощён фирмой Packard, использовавшей для своего а на платформах HP PA и только что упомянутую VxFS, AdvFS оказалась совсем не при делах.
В результате HP сделала щедрый дар сообществу свободного софта вообще
и сообществу в особенности в середине 2008 года исходники файловой системы AdvFS были открыты под лицензией GPv2 — ради максимальной совместимости с ядром Linux. С предложением использовать их в качестве богатой технологической базы для этой ОС. Правда, оговорка, что самане заинтересована в дальнейшем развитии AdvFS заставляла вспомнить народную присказку Возьми, боже, что мне негоже Да и предложение несколько запоздало как мы скоро увидим, к тому времени интенсивно развивались и ZFS, и Однако, помимо исходников, HP предоставила также доступ ко всей документации — благодаря чему об AdvFS при желании можно узнать больше,
чем о любой другой проприетарной файловой системе для подобных операционок. Это избавляет меня от необходимости описания особенностей. Замечу только, что среди них мы увидим все черты развитой комплексной системы размещёния данных. Те самые, с которыми ознакомимся, когда дело дойдёт наконец до рассмотрения устройства ZFS. Но для начала перейдём к обзору уже её истории.

Каталог: wp-content -> uploads -> 2016
2016 -> Государственное областное бюджетное
2016 -> В. П. Зинченко писал о том, что если человек в детстве не дополучил некую норму участия в игровом времяпрепровождении, он приобретает социально-психологическую ущербность вроде «игровой дистрофии», которую в последу
2016 -> Общешкольное родительское собрание «Об ответственности родителей за воспитание детей»
2016 -> 1 июня 2016 года Международный день защиты детей 1 июня
2016 -> «Формирование социально-нравственной позиции дошкольников посредством введения сказочных сюжетов в компьютерные дидактические игры»
2016 -> Принята Утверждена
2016 -> Конкурс по разработке компьютерных игр патриотической направленности «патриот by»


Поделитесь с Вашими друзьями:
1   ...   22   23   24   25   26   27   28   29   30


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал