fstab. Параметры монтирования блочных устройств
Файл /etc/fstab используется для настройки параметров монтирования различных блочных устройств, разделов на диске и удаленных файловых систем.
Пример файла
Простой пример /etc/fstab , в котором файловые системы заданы по именам файлов устройств:
Формат строки
Каждая строка в файле /etc/fstab содержит следующие поля, разделенные пробелами или символами табуляции:
filesystem
Физическое место размещения файловой системы, по которому определяется конкретный раздел или устройство хранения для монтирования.
Точка монтирования, куда монтируется корень файловой системы.
Тип файловой системы. Поддерживается множество типов: ext2, ext3, ext4, btrfs, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap и auto. При выборе auto команда mount попытается определить реальный тип файловой системы самостоятельно. Это полезно для компакт-дисков (CD/DVD).
options
Параметры монтирования файловой системы. Подробнее смотрите на man странице mount. Обратите внимание, что некоторые параметры относятся к конкретным типам файловых систем.
Опция | Значение |
---|---|
auto | Файловая система монтируется при загрузке автоматически или после выполнения команды 'mount -a'. |
noauto | Файловая система может быть смонтирована только вручную. |
exec | Позволяет исполнять бинарные файлы на разделе диска. Установлено по умолчанию. |
noexec | Бинарные файлы не выполняются. Использование опции на корневой системе приведёт к её неработоспособности. |
ro | Монтирует файловую систему только для чтения. |
rw | Монтирует файловую систему для чтения/записи. |
sync | Все операции ввода-вывода должны выполняться синхронно. |
async | Все операции ввода-вывода должны выполняться асинхронно. |
user | Разрешает любому пользователю монтировать файловую систему. Применяет опции noexec, nosuid, nodev, если они не переопределены. |
nouser | Только суперпользователь может монтировать файловую систему. Используется по умолчанию. |
defaults | Использовать значения по умолчанию. Соответствует набору rw, suid, dev, exec, auto, nouser, async. |
suid | Разрешить операции с suid и sgid битами. В основном используются, чтобы позволить пользователям выполнять бинарные файлы со временно приобретёнными привилегиями для выполнения определённой задачи. |
nosuid | Запрещает операции с suid и sgid битами. |
nodev | Данная опция предполагает, что на монтируемой файловой системе не будут созданы файлы устройств (/dev). Корневой каталог и целевая директория команды chroot всегда должны монтироваться с опцией dev или defaults. |
atime | Включает запись информации о последнем времени доступа (atime) при каждом чтении файла. Включено по умолчанию на Linux до v.2.6.29 включительно. |
noatime | Отключает запись информации о последнем времени доступа (atime) при каждом чтении файла. |
relatime | Включает запись информации о последнем времени доступа при чтении файла, если предыдущее время доступа (atime) меньше времени изменения файла (ctime). Включено по умолчанию на Linux начиная с v.2.6.30. |
acl | Включить обработку ACL для раздела |
Используется утилитой dump для определения того, нужно ли создать резервную копию данных в файловой системе. Возможные значения: 0 или 1. Если указано число 1, dump создаст резервную копию. У большинства пользователей утилита dump не установлена, поэтому им следует указывать 0 в этом поле.
Используется программой fsck для определения того, нужно ли проверять целостность файловой системы. Возможные значения: 0, 1 или 2. Значение 1 следует указывать только для корневой файловой системы (с точкой монтирования /); для остальных ФС, которые вы хотите проверять, используйте значение 2, которое имеет менее высокий приоритет.Обратите внимание, что в случае btrfs следует всегда указывать 0, даже если эта файловая система используется в качестве корневой. Файловые системы, для которых в поле указано значение 0, не будут проверяться fsck.
Определение файловой системы
Конкретное место расположения файловой системы может быть определено различными способами. В файле /etc/fstab можно указать имя файла устройства, его метку или UUID (в том числе GPT-метку и GPT-UUID для дисков GPT). Определение по UUID является наиболее предпочтительным способом. Далее приведены примеры определений файловых систем с использованием каждого из способов. Вывод lsblk -f and blkid для этих примеров вы можете найти на странице Persistent block device naming.
По именам устройств
Запустите lsblk -f , чтобы отобразить список разделов. Укажите имена устройств с префиксом /dev/ :
По меткам
Запустите lsblk -f , чтобы отобразить список разделов. Укажите метки из столбца LABEL с префиксом LABEL= :
По UUID
Запустите lsblk -f, чтобы отобразить список разделов. Укажите идентификаторы из столбца UUID с префиксом UUID= :
Совет: Если вы хотите отобразить только UUID конкретного раздела, используйте команду lsblk -no UUID /dev/sda2.
По меткам GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTLABEL без кавычек:
По UUID GPT
Запустите blkid чтобы отобразить список разделов. Укажите значения PARTUUID без кавычек:
Дополнительная информация
Автоматическое монтирование с systemd
Если у вас большой раздел /home, вы можете разрешить службам, которые не обращаются к /home, запускаться в то время, как /home проверяется программой fsck. Для этого добавьте следующие параметры монтирования в запись /etc/fstab для точки монтирования /home:
При этом процедура проверки и монтирования /home будет запущена только при первой попытке доступа, и ядро будет держать в ожидании все создаваемые потоки ввода-вывода в /home, пока раздел не будет смонтирован.
Обратите внимание: Ускорение при автоматическом монтировании /home может составлять не более секунды-двух, в зависимости от конфигурации вашей системы. При этом разделу /home будет присвоен тип файловой системы autofs, который по умолчанию игнорируется mlocate. Используйте эту возможность с осторожностью.
Автоматическое монтирование может аналогичным образом использоваться и для монтирования удаленных файловых систем. В дополнение, вы можете использовать параметр x-systemd.device-timeout=# для указания времени ожидания удаленной файловой системы при перебоях в соединении.
Обратите внимание: Если вы намереваетесь использовать флаг exec при автоматическом монтировании, вам следует удалить флаг user, чтобы монтирование производилось корректно.
Если у вас имеются зашифрованные файловые системы, вы можете также добавить параметр noauto в соответствующие записи в /etc/crypttab . Тогда systemd не будет пытаться открыть зашифрованное устройство во время загрузки системы, а сделает это при первой попытке доступа к файловой системе на этом устройстве, применив указанный файл ключа и затем автоматически смонтировав ФС. Это может дать выигрыш в несколько секунд при загрузке системы, например, если у вас зашифрованный RAID массив: systemd не придется ожидать готовности устройства.
Пробелы в значениях полей
Так как пробельные символы используются в fstab для разделения полей, их нельзя напрямую использовать в значениях полей. Любые пробелы в полях (например, значения PARTLABEL, LABEL или точки монтирования) должны быть заменены специальными управляющими последовательностями, которые состоят из обратной косой черты (\) и трех восьмеричных цифр (например, для пробела это \040):
Внешние устройства
Если устройство не подключено постоянно, и может отсутствовать во время загрузки системы, монтируйте его с параметром nofail. Это предотвратит появление ошибок при загрузке.
Параметры atime
Обратите внимание: Действие noatime перекрывает собой nodiratime. Нет необходимости указывать оба параметра.
Запись в FAT32 с правами обычного пользователя
Чтобы иметь возможность записи в разделе FAT32, вам следует указать правильные параметры монтирования в вашем файле /etc/fstab.
Флаг user означает, что любой пользователь сможет монтировать и размонтировать раздел /dev/sdX . Параметр rw дает доступ на чтение-запись; umask убирает указанные права — например, umask=111 удаляет права на выполнение. Проблема в том, что права на «выполнение» также удаляются у каталогов, поэтому мы должны исправить это при помощи параметра dmask=000 .
Без этих параметров все файлы будут восприниматься исполняемыми. Вы можете использовать параметр showexec вместо umask и dmask, при которой исполняемыми будут файлы, имеющие расширения исполняемых файлов Windows (.com, .exe, .bat).
Например, если ваш раздел FAT32 на /dev/sda9, и вы хотите смонтировать его в каталог /mnt/fat32, то вам следует использовать запись следующего вида:
Перемонтирование корневого раздела
Если по какой-то причине корневой раздел был неправильно смонтирован только на чтение, вы можете перемонтировать его с доступом на чтение-запись без перезагрузки, набрав
Как отключить жесткий диск от LVM в Linux?
LVM очень хорош. Но бывают ситуации, когда нужно освободить один HDD от LVM и вытащить его из сервера. Вроде простая задача, но все инструкции в интернете не дают полного понимая, как запустить этот процесс и успешно его выполнить.
У меня в LVM находятся разделы 4 HDD -дисков:
- /dev/sdb1 — на 1.8Tb;
- /dev/sdc1 — на 1.8Tb;
- /dev/sde1 — на 3.7Tb;
- /dev/sdg1 — на 3.7Tb.
Все диски образуют один большой раздел 1.8Tb + 1.8Tb + 3.7Tb + 3.7Tb = 11Tb. Общий виртуальный диск примонтирован к директории /mnt/lvm.
Увидеть какие диски задействованы в LVM можно командой pvs :
Мне нужно забрать из LVM /dev/sdg (3,7Tb) и оставить работоспособную LVM после себя.
Освобождаем место
Для начала нужно удостовериться, что общий размер данных меньше, чем оставшееся место. Если нам нужно освободить от LVM жесткий диск емкостью 3.7Tb, то свободное место lvm-раздела должно быть чуть больше этого значения. К примеру 4Tb ровно.
Отмонтируем раздел
С примонтированным разделом Вы не сможете ничего сделать:
Проверяем диск на ошибки
Это обязательный шаг. Если его не сделать, то последующие команды, Вам об этом скажут и не будут ничего делать.
Изменяем размер файловой системы
Это самый долгий процесс. У меня он занял 20 часов. Команда ниже уменьшает раздел ФС на все доступное дисковое пространство:
- -p — это псевдо-графический прогресс работы. Полоска из тире должна заполниться Х и процесс будет завершен. Это важный параметр, так как процесс может занимать очень продолжительное время.
- -M — позволяет уменьшить раздел на все свободное пространство.
Данные никуда не исчезнут. Даже если что-то пойдет не так и процесс аварийно завершиться, данные останутся на месте. В этом случае, Вам нужно повторно проверить диск на ошибки и заново запустить процесс.
Уменьшаем раздел
Уменьшаем размер раздела lvm-диска. В итоге наш «освобождаемый» жесткий диск 3.7Tb, нам нужно отрезать немного больше. 4Tb в самый раз:
Система предупреждает, что процесс необратим. Мы смело на это соглашаемся.
На всякий случай привожу команду, которая расширяет раздел на всю доступную файловую систему:
Она нужна, если Вы случайно отрезали больше.
Изменяем размер файловой системы до раздела
Размер файловой системы и размер раздела теперь не совпадают. Чтобы место не пропадало попусту, изменяем размер файловой системы до размера раздела:
Перемещаем данные с физического диска
Данные lvm-раздела могут храниться на всех дисках, поэтому необходимо перенести данные с раздела диска, который нужно освободить:
В данном примере все данные размещаются на остальных дисках. Освобождаемый диск не используется.
Исключаем диск из LVM
Стираем метаданные с диска
Чтобы диском пользоваться с максимальной эффективностью, удаляем все таблицы LVM с его поверхности:
Проверяем результат
Запустив команду pvs мы можем увидеть, что наш LVM существует без /dev/sdg1:
Что означает dev sdg1
Библиотека сайта rus-linux.net
Группировка физических носителей — это специальное обозначение операции группировки множества блочных устройств (жестких дисков, а также устройств iSCSI и.т.д.) в рамках одного виртуального логического устройства для хранения данных. При возникновении необходимости в расширении этой логической группы устройств в нее впоследствии могут быть добавлены дополнительные блочные устройства (включая их разделы).
Размеры томов LVM в этой физической группе устройств не зависят от размеров отдельных устройств. Общий размер группы устройств является пределом.
Одной из наиболее ценных возможностей системы управления логическими томами LVM является возможность изменения размеров логических томов. Вы можете увеличить размер логического тома LVM в некоторых случаях даже без перезагрузки системы. Кроме того, вы можете инициировать миграцию данных с выходящего из строя жесткого диска, зеркалирование данных, а также создавать снимки разделов.
11.1. Знакомство с LVM
11.1.1. Недостатки стандартных разделов
Существует несколько недостатков стандартных разделов жестких дисков, которые чаще всего выявляются в процессе эксплуатации последних. Рассмотрим систему с дисками малого и большого размера, на которых созданы разделы таким образом, как показано на иллюстрации ниже. Первый диск (представленный файлом устройства /dev/sda) разделен на два раздела, а второй диск (представленный файлом устройства /dev/sdb) — также разделен на два раздела, причем часть диска остается не размеченной.
Продолжая рассмотрение приведенного выше примера, подумайте о том, каким образом можно поступить в случае возникновения необходимости увеличения дискового пространства, доступного по пути /srv/project42 . Какое действие вы можете предпринять? Любое ваше решение будет связано в размонтированием файловой системы, созданием резервной копии хранящихся в ней данных, удалением и повторным созданием разделов, восстановлением данных из резервной копии и повторным монтированием файловой системы.
11.1.2. Решение в случае использования LVM
В случае использования LVM будет создана виртуальная прослойка между смонтированными файловыми системами и аппаратными устройствами. Эта виртуальная прослойка позволит администратору увеличить размер смонтированной файловой системы в процессе ее эксплуатации. При корректном использовании LVM не возникает необходимости в размонтировании файловой системы для увеличения ее размера в ручном режиме.
11.2. Терминология LVM
11.2.1. Физический том (physical volume — pv)
Физическим томом является любое блочное устройство (файл устройства, соответствующий диску, разделу на диске, дисковому массиву RAID или даже устройству iSCSI). Все эти устройства могут быть добавлены в группу томов .
Команды, используемые для управления физическими томами , всегда начинаются с символов pv.
11.2.2. Группа томов (volume group — vg)
Группа томов является уровнем абстракции между блочными устройствами и логическими томами .
Команды, используемые для управления группами томов , начинаются с символов vg.
11.2.3. Логический том (logical volume — lv)
Логический том создается в рамках группы томов . Каждый логический том может содержать файловую систему, которая может монтироваться. Методика использования логических томов аналогична методике использования разделов дисков и предусматривает работу с тем же набором стандартных утилит (mkfs, mount, fsck, df, ).
Команды, используемые для управления логическими томами , начинаются с символов lv.
11.3. Пример: работа с LVM
В данном примере показана методика использования дискового устройства (в нашем примере дисковое устройство представлено файлом устройства /dev/sdc, но оно также может быть представлено и файлом устройства /dev/sdb, и любым другим файлом устройства, соответствующим другому дисковому устройству или разделу на таком устройстве) при работе с технологией LVM и даны пояснения относительно создания группы томов (vg), а также создания и использования логического тома (vg/lvol0).
В первую очередь необходимо создать физические тома, которые впоследствии будут объединены в рамках группы томов с помощью утилиты pvcreate . Данная утилита модифицирует раздел дискового устройства таким образом, чтобы он мог использоваться в рамках групп томов. В примере ниже показано, как задействовать диск SCSI при работе с технологией LVM.
Примечание: Технология LVM будет отлично работать и в случае использования устройств вместо специализированных разделов на них, но другая операционная система, установленная на этом же компьютере (или в этой же сети хранения данных) наверняка не сможет определить, что устройство используется в рамках группы томов LVM и, скорее всего, пометит блочное устройство как устройство без данных! Вы можете избежать такого поведения сторонней операционной системы, создав раздел на всей доступной поверхности дискового устройства и использовав утилиту pvcreate по отношению к этому разделу, а не к дисковому устройству.
После этого следует воспользоваться утилитой vgcreate для создания группы томов, содержащей том с одного дискового устройства. Учтите, что в эту группу томов впоследствии могут быть добавлены тома с других устройств.
Последний шаг заключается в использовании утилиты lvcreate для создания логического тома.
Теперь в логическом томе, представленном файлом устройства /dev/vg/lvol0, может быть создана файловая система ext3, которая впоследствии может монтироваться и использоваться по назначению.
Логический том очень похож на раздел дискового устройства; в нем может быть создана файловая система, которая впоследствии может монтироваться и использоваться для хранения данных пользователей.
11.4. Пример: расширение логического тома
Логический том может быть расширен без отмонтирования файловой системы. Возможность расширения логического тома определяется возможностями используемой рамках этого тома файловой системы. Смонтированные тома с файловыми системами vfat и ext2 не могут быть расширены, поэтому в данном примере мы будем использовать файловую систему ext3.
Утилита fdisk выводит информацию о недавно добавленных дисках SCSI, которые будут содержать данные нашего тома LVM. Впоследствии этот том может быть расширен. В первую очередь давайте рассмотрим параметры этих дисков.
Вы уже знаете о том, как создаются разделы на дисковых устройствах, поэтому при ознакомлении со следующим фрагментом вывода можете сделать вывод о том, что разделы созданы лишь на первом диске (точнее один первичный раздел большого размера), в то время, как второй диск остался не тронутым.
Также вы знаете о том, как готовить диски к работе с технологией LVM с помощью утилиты pvcreate , а также о том, как создавать группу томов с помощью утилиты vgcreate . В данном примере в группу томов с именем vg2 добавляется как диск с разделами, так и диск без них.
Вы можете использовать утилиту pvdisplay , чтобы убедиться в том, что как диск, так и раздел принадлежат к одной и той же группе томов.
Кроме того, вы должны быть знакомы как с утилитой lvcreate , предназначенной для создания логических томов, так и с утилитой mke2fs , предназначенной для создания файловой системы ext3 в рамках этих томов.
Как вы можете увидеть, нам удалось создать и смонтировать логический том размер которого, в соответствии с информацией от утилиты df , составляет практически 200 МБ.
Расширение тома осуществляется достаточно просто с помощью утилиты lvextend .
Но, как вы можете увидеть, возникла небольшая проблема: кажется утилита df не может вывести информацию о полном размере расширенного тома. Это происходит из-за того, что файловая система создавалась в рамках тома, размер которого увеличился после расширения.
Однако, в случае использования утилиты lvdisplay мы можем увидеть реальный размер тома после расширения.
Для завершения процесса расширения тома необходимо воспользоваться утилитой resize2fs , которая позволяет распространить файловую систему во всем пространстве, выделенном для логического тома.
Поздравляю, вы только что успешно расширили логический том.
11.5. Пример: изменение размера физического тома
Ниже представлено краткое описание методики изменения размера физического тома средствами LVM (после изменения его размера с помощью утилиты fdisk). Описание начинается с получения информации о разделе дискового устройства размером в 100 МБ, представленном файлом устройства /dev/sde1. Мы заранее использовали утилиту fdisk для создания и проверки размера этого раздела.
Теперь мы можем использовать утилиту pvcreate для создания физического тома, а также утилиту pvs для проверки корректности его создания.
На следующем шаге следует использовать утилиту fdisk для увеличения размера раздела (на самом деле будет осуществляться удаление этого раздела и повторное создание раздела с дополнительными цилиндрами, который будет представлен файлом устройства /dev/sde1).
Если мы используем сейчас утилиты fdisk и pvs для проверки размеров раздела и физического тома, мы обнаружим различие в значениях. В рамках LVM все еще используется старый размер раздела.
Утилита pvresize, примененная по отношению к физическому тому, уведомит LVM об изменении размера раздела дискового устройства. Информация о корректном размере также может быть получена с помощью утилиты pvs.
11.6. Пример: зеркалирование логического тома
Начнем работу с создания трех физических томов LVM. После этого проверим корректность создания и размеры этих томов с помощью утилиты pvs. Мы создаем три физических диска по той причине, что в LVM два диска используются для хранения данных с зеркалированием, а третий том — для хранения данных журнала зеркалирования!
После этого создадим группу томов и проверим корректность ее создания с помощью ранее использованной утилиты pvs. Учтите, что три физических тома теперь принадлежат к группе томов с именем vg33, причем размеры этих томов округляются в меньшую сторону (на шаг, равный размеру экстента, в нашем случае 4МБ).
Последний шаг заключается в создании логического тома с помощью утилиты lvcreate . Обратите внимание на параметр -m 1 , предназначенный для выделения одного дискового устройства для хранения данных журнала зеркалирования. Также обратите внимание на изменение значений свободного пространства на каждом из трех физических томов!
Вы можете получить информацию о состоянии процесса зеркалирования данных, воспользовавшись утилитой lvs. В данном примере создана 100-процентная копия данных.
11.7. Пример: снимок логического тома
Снимком называется виртуальная копия всех данных, хранящихся на разделе дискового устройства в данный момент времени. Снимок логического раздела будет содержать копию всех измененных файлов с используемого для создания снимка логического тома.
В примере ниже создается снимок логического тома под названием bigLV.
Изучив вывод утилиты lvs, вы можете убедиться в том, что снимок snapLV действительно является снимком логического тома bigLV. Спустя непродолжительное время после создания снимка, происходит несколько модификаций данных на логическом томе bigLV (0.02 процента).
Но в процессе последующего использования тома bigLV объем модификаций увеличивается. Это означает, что в рамках логического тома снимка должен храниться больший объем оригинальных данных (10.22 процента).
Теперь вы можете использовать обычные инструменты для резервного копирования данных (dump, tar, cpio, ) с целью создания резервной копии логического тома снимка. Эта резервная копия будет содержать все данные, хранящиеся в рамках логического тома bigLV в момент создания снимка. После создания резервной копии вы можете удалить логический том снимка.
11.8. Проверка существующих физических томов
11.8.1. Утилита lvmdiskscan
Для получения списка блочных устройств, которые могут использоваться для работы с технологией LVM следует использовать утилиту lvmdiskscan . В примере ниже для вывода информации исключительно об устройствах SCSI используется утилита grep.
11.8.2. Утилита pvs
Простейший способ получения информации о том, используется ли технология LVM для работы с определенными устройствами, заключается в использовании утилиты pvs . При рассмотрении фрагмента вывода данной утилиты, приведенного в примере ниже, можно сделать вывод о том, что технология LVM используется исключительно для работы с разделом дискового устройства, представленным файлом устройства /dev/sda2. В выводе утилиты также содержится информация о том, что раздел дискового устройства, представленный файлом устройства /dev/sda2, состоит в группе томов с именем Volgroup00 и имеет размер, равный практически 16 Гб. Кроме того, в выводе утилиты содержится информация о дисковых устройствах, представленных файлами устройств /dev/sdc и /dev/sdd, которые состоят в группе томов с именем vg33. Технология LVM может использоваться и для работы с дисковым устройством, представленным файлом устройства /dev/sdb, но это устройство на данный момент не относится к каким-либо группам томов.
11.8.3. Утилита pvscan
Утилита pvscan позволяет осуществить сканирование всех дисковых устройств в поисках существующих физических томов. Данная утилита выводит информацию, аналогичную той, которую выводит утилита pvs, а также строку с информацией об общем размере обнаруженных физических томов.
11.8.4. Утилита pvdisplay
Используйте утилиту pvdisplay для получения дополнительной информации о физическом томе. Также вы можете использовать утилиту pvdisplay без аргументов для вывода информации обо всех физических томах (LVM).
11.9. Проверка существующих групп томов
11.9.1. Утилита vgs
По аналогии с утилитой pvs , утилита vgs может использоваться для вывода краткой информации обо всех группах томов. В выводе данной утилиты, приведенном в примере ниже, содержится информация только об одной группе томов с именем VolGroup00, размер которой равен практически 16 Гб.
11.9.2. Утилита vgscan
Утилита vgscan позволяет осуществить сканирование всех дисковых устройств в поисках существующих групп томов. Также данная утилита обновляет содержимое файла /etc/lvm/.cache . В данном файле содержится список всех устройств, для работы с которыми на данный момент используется технология LVM.
В случае использования технологии LVM утилита vgscan будет запускаться автоматически в процессе загрузки системы, поэтому в том случае, если вы будете осуществлять горячее подключение дисковых устройств, вам придется самостоятельно запускать утилиту vgscan для добавления в файл /etc/lvm/.cache информации о новых устройствах.
11.9.3. Утилита vgdisplay
Утилита vgdisplay предоставляет более подробную информацию о группе томов (или обо всех группах томов, если вы не будете передавать ей каких-либо аргументов).
11.10. Проверка существующих логических томов
11.10.1. Утилита lvs
Используйте утилиту lvs для получения краткой информации обо всех существующих логических томах. В выводе данной утилиты, приведенном в примере ниже, вы можете обнаружить информацию о двух логических томах с именами LogVol00 и LogVol01.
11.10.2. Утилита lvscan
Утилита lvscan позволяет осуществить сканирование всех дисковых устройств в поисках существующих логических томов.
11.10.3. Утилита lvdisplay
Более подробная информация о логических томах может быть получена с помощью утилиты lvdisplay(1) .
11.11. Управление логическими томами
11.11.1. Утилита pvcreate
Используйте утилиту pvcreate для добавления устройств, работа с которыми должна осуществляться посредством технологии LVM. В данном примере показана методика перевода дискового устройства (или устройства из аппаратного массива RAID) в разряд устройств LVM.
В следующем примере показана методика перевода раздела дискового устройства в разряд устройств, работа с которыми должна осуществляться посредством технологии LVM.
Также вы можете передавать утилите pvcreate пути к множеству файлов устройств, представляющих дисковые устройства и их разделы. В данном примере для работы посредством технологии LVM выделяются три диска.
11.11.2. Утилита pvremove
Используйте утилиту pvremove для удаления физических томов из списка физических томов LVM. Соответствующие устройства не должны использоваться.
11.11.3. Утилита pvresize
После того, как вы воспользовались утилитой fdisk для изменения размера раздела на диске, вы должны использовать утилиту pvresize для определения нового размера физического тома, представляющего рассматриваемый раздел диска, на уровне LVM.
11.11.4. Утилита pvchange
С помощью утилиты pvchange вы можете предотвратить резервирование физического тома в рамках новой группы томов или логического тома. Это обстоятельство может оказаться полезным в том случае, если вы планируете впоследствии удалить этот физический том.
В следующем примере содержится описание методики повторной активации физического тома для его последующего резервирования, которая может быть осуществлена в случае необходимости отмены вашего предыдущего решения.
11.11.5. Утилита pvmove
С помощью утилиты pvmove вы можете перемещать логические тома в рамках группы томов в сторонние физические тома. Эта операция должна выполняться перед удалением физического тома.
11.12. Управление группами томов
11.12.1. Утилита vgcreate
Используйте утилиту vgcreate для создания группы томов. Вы можете сразу же передать информацию о путях к файлам устройств физических томов, которые должны быть добавлены в создаваемую группу томов.
11.12.2. Утилита vgextend
Используйте утилиту vgextend для расширения существующей группы томов путем добавления в нее нового физического тома.
11.12.3. Утилита vgremove
Используйте утилиту vgremove для удаления групп томов LVM. Удаляемые группы томов не должны использоваться.
11.12.4. Утилита vgreduce
Используйте утилиту vgreduce для удаления физического тома из группы томов.
В следующем примере осуществляется добавление физического тома, представленного файлом устройства /dev/sdg, в группу томов с именем vg1 средствами утилиты vgextend. После этого данный логический том удалятся из группы томов с помощью утилиты vgreduce.
11.12.5. Утилита vgchange
Используйте утилиту vgchange для изменения значений параметров группы томов.
В данном примере показана методика предотвращения добавления или удаления физических томов из группы томов с именем vg1.
Также вы можете использовать утилиту vgchange для изменения значений большинства других параметров группы томов. В данном примере осуществляется изменение максимального количества логических томов, а также максимального количества физических томов, которые могут функционировать в рамках группы томов с именем vg1.
11.12.6. Утилита vgmerge
Объединение двух групп томов в рамках одной группы может осуществляться с помощью утилиты vgmerge . В следующем примере происходит объединение группы томов с именем vg2 с группой томов с именем vg1 с сохранением всех значений параметров группы томов с именем vg1.
11.13. Управление логическими томами
11.13.1. Утилита lvcreate
Используйте утилиту lvcreate для создания логических томов в рамках группы томов. В данном примере в рамках группы томов с именем vg42 создается логический том размером в 8 Гб.
Как вы видите, LVM автоматически присваивает логическому разделу имя lvol0. В следующем примере в рамках группы томов с именем vg42 создается логический том с именем MyLV размером в 200 Мб.
В следующем примере выполняется та же операция, но используется отличный синтаксис команды.
А в этом примере создается логический том, который будет занимать ровно 10 процентов дискового пространства группы томов.
В этом же примере создается логический том, который будет занимать 30 процентов оставшегося в рамках группы томов свободного дискового пространства.
11.13.2. Утилита lvremove
Используйте утилиту lvremove для удаления логических томов из группы томов. Для удаления логического тома потребуется имя группы томов.
В случае удаления множества логических томов будут выводиться запросы подтверждений перед удалением каждого из указанных томов.
11.13.3. Утилита lvextend
Расширение логического тома может осуществляться достаточно просто средствами утилиты lvextend . В следующем примере логический том размером в 200 Мб расширяется на 100 Мб.
В следующем примере создается логический том размером в 100 Мб, который впоследствии расширяется до 500 Мб.
А в данном примере размер логического тома удваивается.
11.13.4. Утилита lvrename
Переименование логического тома осуществляется с помощью утилиты lvrename . В данном примере осуществляется смена имени логического тома из группы томов vg42 с extLV на bigLV.
11.14. Практическое задание: LVM
1. Создайте группу томов, которая будет содержать все пространство дискового устройства и раздел с другого дискового устройства.
2. Создайте два логических тома (малого и большего размера) в рамках данной группы томов. Создайте в них файловую систему ext3, смонтируйте их и скопируйте какие-либо файлы на них.
3. Попытайтесь получить информацию о заполнении созданных томов, воспользовавшись утилитами fdisk, mount, pvs, vgs, lvs, pvdisplay, vgdisplay, lvdispaly и df. Получили ли вы какую-либо информацию о томах LVM от утилиты fdisk?
4. Расширьте логический том малого размера на 50 процентов и проверьте корректность выполнения операции!
5. Рассмотрите другие утилиты, имена которых начинаются с символов vg*, pv* и lv*.
6. Создайте зеркальный логический том (mirrored) и логический том с чередованием (striped).
7. Преобразуйте линейный логический том (linear) в зеркальный (mirrored).
8. Преобразуйте зеркальный логический том (mirrored) в линейный (linear).
9. Создайте снимок логического тома, а также резервную копию этого снимка. После этого удалите некоторые файлы с логического тома и восстановите том из резервной копии его снимка.
10. Переместите вашу группу томов на другое дисковое устройство (оставьте логические тома смонтированными).
11. При наличии времени разделите группу томов с помощью утилиты vgsplit, после чего снова объедините результирующие группы с помощью утилиты vgmerge.
11.15. Корректная процедура выполнения практического задания: LVM
1. Создайте группу томов, которая будет содержать все пространство дискового устройства и раздел с другого дискового устройства.
Шаг 1: выбор дисковых устройств
В данном случае я выбрал дисковые устройства, представленные файлами устройств /dev/sdb и /dev/sdc.
Шаг 2: создание разделов на устройстве, представленном файлом устройства /dev/sdc
Шаг 3: Работа с утилитами pvcreate и vgcreate
2. Создайте два логических тома (малого и большего размера) в рамках данной группы томов. Создайте в них файловую систему ext3, смонтируйте их и скопируйте какие-либо файлы на них.
Монтирование файловых систем и копирование файлов:
3. Попытайтесь получить информацию о заполнении созданных томов, воспользовавшись утилитами fdisk, mount, pvs, vgs, lvs, pvdisplay, vgdisplay, lvdispaly и df. Получили ли вы какую-либо информацию о томах LVM от утилиты fdisk?
Используйте все упомянутые утилиты (ниже приведены примеры использования только двух из них), и ответьте «нет» на поставленный вопрос.
4. Расширьте логический том малого размера на 50 процентов и проверьте корректность выполнения операции!
5. Рассмотрите другие утилиты, имена которых начинаются с символов vg*, pv* и lv*.
6. Создайте зеркальный логический том (mirrored) и логический том с чередованием (striped).
7. Преобразуйте линейный логический том (linear) в зеркальный (mirrored).
8. Преобразуйте зеркальный логический том (mirrored) в линейный (linear).
9. Создайте снимок логического тома, а также резервную копию этого снимка. После этого удалите некоторые файлы с логического тома и восстановите том из резервной копии его снимка.
10. Переместите вашу группу томов на другое дисковое устройство (оставьте логические тома смонтированными).
11. При наличии времени разделите группу томов с помощью утилиты vgsplit, после чего снова объедините результирующие группы с помощью утилиты vgmerge.
Русские Блоги
В настоящее время узел внутри кластера CEPH, используемого в проекте, обычно должен управлять около десяти пространств для хранения данных примерно в десяти жестких дисках, а также от одного до двух мест в журнале, состоящих из SSD. CEPH требует, чтобы диск данных каждого OSD могла установить его в конкретный каталог. Соответствующий раздел журнала SSD не может быть загружен неправильно, в противном случае OSD не запустится.
В настоящее время монтаж диска данных основан на методе/etc/fstab.
На картинке выше является экземпляр/и т. Д./Fstab узла. /dev/slot* — это отображение из/dev/dev/sdx, сгенерированное из/dev/dev/sdx, генерируемого сценарием diskctl_init.sh. Как показано ниже.
Принцип DISCCTL_INIT.SH состоит в том, чтобы сформировать фиксированное отображение с помощью сгенерированного слота и интерфейса физического диска материнской панели. Когда промывание диска дрейфует,/dev/slot* всегда соответствует диску физического слота. Пока диск не вставлен и заменен, OSD может загружать правильный диск данных.
Для разделения журнала SSD это обнаженное отображение диска журнала, которое непосредственно принято.
1. Обнаженное картирование диска SSD Journal раздела, иногда машина перезапускается, и служба CEPH не может встать. Тест обнаружил, что именно из -за дрейфа тарелки обнаженное картирование стало мертвой цепью.
2. Сопоставление слотов, генерируемое DISCCTL_INIT.SH, согласно коллегам, также может иметь потенциальные проблемы. Конкретные детали неизвестны.
Во-вторых, исследовать Ceph-disk
Ceph-Disk-это инструмент, официально выпущенный для развертывания данных OSD и журналов или каталога. Установка пакета CEPH RPM на основе Python. Установите этот инструмент по умолчанию, каталог установки/USR/SBIN/CEPH-DISK. Потому что этот инструмент включает раздел диска данных и диска журнала. Нужны корневые разрешения.
Как работает Ceph-Disk?
Разверните OSD, раздел данных и раздел журнала через Ceph-Disk, автоматически установите их в правильном каталоге, а перезапуск машины также может обеспечить работу. Развертывание OSD через Ceph-Disk значительно увеличит степень автоматизации операции и обслуживания развертывания CEPH и уменьшит вероятность эксплуатационной ошибки.
Возьмите новый OSD в качестве примера для описания рабочего механизма Ceph-Disk.
Разделен на два шага: приготовьте диск и активируйте диск
Предполагая, что/DEV/SDG — это диск данных, который будет использоваться в OSD./DEV/SDK SSD, OSD создается здесь. Команды, которые создают OSD и идут в Интернете, следующие:
Ceph-disk prepare /dev/sdg /dev/sdk
Ceph-disk activate /dev/sdg1
Следующий процесс подробно.
1. Подготовьте раздел журнала.
PRIPARE_JOURNAL_DEV () Вызывает SGDISK для разделения раздела PLATE PATE от/DEV/SDK.
Есть следующие моменты:
a. Перед вызовом sgdisk PrEPARE_JOURNAL_DEV () получит размер OSD_JOURNAL_SIZE, указанный в файле ceph.conf. Наш ceph.conf указывает размер следующим образом: ниже:
б. В фактической среде развертывания, поскольку разделение SSD журнала не требует большого места, один SSD, вероятно, будет разделен на несколько OSD, чтобы разделить свои соответствующие разделы журнала. Наша среда заключается в том, что SSD 300G разделяется на 5 (Даже больше) 20 г разделов, которые переносятся в 5 журнал OSD.
c. Ceph-Disk может автоматически обнаружить количество разделов на диске SSD при развертывании разделения журнала, без повреждения существующего раздела и выделять новый номер разделения, который не противоречит созданию разделов.
d. Если вы не указали созданный разбил UUID, Ceph-Disk автоматически генерирует один для раздела журнала, который называется журнал_ууид.
e. При вызове Sgdisk есть важный параметр, -typecode. Ceph-Disk использует специальный Uuid в качестве Typecode для создания журнала:
Что касается того, почему этот специальный UUID используется для выполнения TypeCode, в основном этот UUID может использоваться в качестве ваучера для идентификационного раздела в качестве CEPH Journal, а затем объясняется в ходе.
На этом этапе Prepare_journalnal_dev () подготовила параметры, необходимые для SGDisk. Пример фактического параметра приведен ниже:
/usr/sbin/sgdisk —new=6:0:+20480M—change-name="6:ceph journal" —partition-guid=6:c6422c03-d320-4633-b35d-4f43c6cdd9fa—typecode=6:45b0969e-9b03-4f30-b4c6-b4b80ceff106 —mbrtogpt — /dev/sdk
2. Создайте ссылку: Ссылка: журнал раздел: Ссылка: Ссылка:
Позвольте мне кратко представить, как производит эта ссылка.
После вызова SGDISK для создания разделения журнала Ceph-Disk вызывает таблицу разделов обновлений PartX, которая запустит блочное устройство/раздела UDEV Event и уведомит ядро. Ceph написал файл правил UDEV следующим образом:
После получения события UDEV, сгенерированного PartX, Udev Daemon позвонит сценарию/usr/sbin/ceph-disk-udev в соответствии с вышеуказанным файлом правил CEPH. Именно в этом сценарии Link создала ссылку в Directory/Dev/Disk/By-Pageuuid/ниже раздела журнала. Этот сценарий также имеет еще одну функцию сканирования эксклюзивных разделов OSD, что будет упомянуто позже. Нет таблиц на данный момент.
Каково использование этой ссылки?
Поскольку эта ссылка генерируется в соответствии с UUID раздела, ее можно рассматривать как фиксированное отображение конкретного разделения журнала. Позднее укажет, что журнал OSD будет отображать его здесь:
Это показывает, что журнал, расположенный в разделе данных OSD, является ссылкой, указывающей на фиксированную позицию:/dev/disk/by-partuuid/c6422c03-d320-4633-b35d-4f43c6cdd9fa, а затем эта ссылка указывает на реальную журнал. Разделение, проблема, вызванная диском дрейфом решения. Ссылка разделения данных OSD, представленного ниже, также основана на этом принципе.
3. Подготовьте разделы данных OSD.
Этот процесс такой же, как подготовка раздела журнала. Разница в том, что:
a. Позвоните Sgdisk, чтобы использовать но-новое использование, чтобы использовать максимальную возможность диска. Таким образом,/Dev/SDG будет иметь раздел SDG1, который использует все пространство.
b. Формат/dev/sdg1. Вот небольшая настройка Ceph-Disk, а формат раздела EXT4 используется по умолчанию.
c. Поместите это крепление раздела во временное каталог, а затем создайте ссылку, называемую журналом, относится к/dev/disk/by-partuuid/c6422c03-d320-4633-b35d-4f43c6cdd9fa. До сих пор картирование разделения журнала OSD завершено. Наконец -то Umount.
С помощью Journal_uuid используйте этот специальный UUID для выполнения TypeCode, потому что этот UUID можно использовать в качестве ваучера для разделов данных Ceph OSD, а затем объясняется в -depth.
4. Создайте ссылку в разделе данных OSD в Directory/Dev/Disk/By-Partuuid/ниже.
Процесс — это процесс создания процесса ссылки журнала.
5. Активируйте процесс.
Команда Activate-Ceph-Disk Activate /dev /SDG1.
Но на самом деле эта команда не требуется. Причина в том, что после подготовки раздела данных OSD событие UDEV вызвало Ceph-Disk-Udev. Ceph-Disk-Udev автоматически вызовет Ceph-Disk Activate /dev /SDG1.
Следующее представляет, как этот процесс автоматизирован. Подробнее см. Сценарий Ceph-Disk-Udev.
Генерация нового разделения данных OSD запускает событие UDEV. Через правило Ceph Udev, наконец, вызывает Ceph-Disk-Udev для анализа типового кода раздела, и это OSD_UUID, что указывает на то, что это раздел данных Ceph OSD, поэтому, так что, так что, так что, так что, так что, так что Активность Ceph-Disk запускается. /Dev /sdg1:
То же самое верно для Typecode для обслуживания журнала_ууида, но это просто для начала OSD.
Чтобы ввести конкретный процесс активности Ceph-Disk /dev /sdg1.
A. Mount/Dev/SDG1 во временный каталог, как правило, var/lib/ceph/tmp/mnt.xxx
b. Выделите ID OSD и вызовите Ceph OSD CREATUE, чтобы сгенерировать ID OSD
c. инициализируйте OSD, например, Ceph-OSD-MKFS-OSD-DATA-OSD-JORNAL
e. Service ceph start osd
Для IDS OSD случай OSD также будет использовать активность Ceph -Disk. Эта ситуация немного отличается. Нет необходимости генерировать новый идентификатор OSD. После идентификатора, перенаправить его до окончательного каталога.
Другие команды, поддерживаемые Ceph-Disk, следующие:
prepare Prepare a directory or disk for aCeph OSD
activate Activate a Ceph OSD
activate-journal Activate an OSD via its journal device
activate-all Activate all tagged OSD partitions
list List disks, partitions, and CephOSDs
suppress-activate Suppress activate on a device (prefix)
Stop suppressingactivate on a device (prefix)
zap Zap/erase/destroy a device’spartition table (and
Особый акцент на: несколько моментов:
A. Подавить буквально означает ингибирование. Используемое здесь намерение заключается в том, что если вы просто хотите подготовить каждый раздел, вы не хотите активировать OSD в настоящее время (создание OSD Online). Вы можете использовать эту команду. Когда все разделы Подготовьте, не поднимайте одно полотенце, затем активируйте все.
b. Activate-Journal должен начать OSD путем разработки раздела журнала, например: Ceph-Diskactivate-Journal /Dev /SDK6. Процесс выполнения Ceph-Disk:
Через Ceph-osd-i 0-fin-journal-uuid-osd-journal/dev/sdk6 возвращается в OSD_UUID. С OSD_UUID вы можете найти разделы данных OSD, то есть позиционирование/dev/disk/by-partuuid/$ osd_uuid , затем вернитесь к логике команды активации с использованием разделов данных OSD, то есть Ceph-Disk Activate /dev /SDG1.
Вот почему это Ceph-OSD-I 0? В этой команде-Я может быть проигнорирован в Get-Journal-Uuid за любом целым числом. Но проблема в том, что без -i, проверка формата Ceph -OSD будет сообщать об ошибке.
Есть Get-Journal-Uuid. Буквально это кажется UUID в журнале, но на самом деле FSID в FSID в FSID в FSID. -OSD -I 0-FIN-JORNAL-UUID-OSD- Journal /dev /sdk6 возвращаемое значение — OSD_UUID. Я должен жаловаться, что этот заказ слишком легко смущен. Логика анализируется из исходного кода. Из этой небольшой проблемы можно видеть, что программное обеспечение с открытым исходным кодом немного грубо, чем коммерческое программное обеспечение, и его нужно точно отполировать.
c. Если подготовка не является явно указанным журналом, например, Ceph-Disk Prepare /Dev /SDG, логика обработки:
Два раздела по ЦУР, то, что ЦВЛ2 — 20G Journal Partition, SDG1 — это раздел данных OSD с оставшимся размером пространства.
1. default fstype ext4
2. Проблема Keyring, поскольку текущее развертывание CEPH не имеет включения, соответствующий код защищен.
Ceph-Disk -V будет печатать более подробные журналы. Если вы хотите понять процесс работы команды Ceph-Disk, этот параметр очень эффективен.