146.56K

Файловые системы и диски в ОС Debian

1.

Файловые системы и диски
в ОС Debian
Подготовили участники
5ой подгруппы 1ой группы

2.

Файловые системы
• Файловая система отвечает за оптимальное логическое распределение информационных данных на конкретном физическом
носителе. Драйвер ФС организует взаимодействие между хранилищем, операционной системой и прикладным программным
обеспечением.
• Самыми распространенными являются семейства ext, JFS, XFS. Они же являются журналируемыми ФС, что позволяет откатить систему,
если накосячил.

3.

Разметка диска
• Начнем с того, что в Linux не существует дисков, таких какими мы их знаем в Windows. Здесь все намного более прозрачно. Есть
разделы диска, а также существует одна корневая файловая система. Короче, как в андройдах ваших, потому Anroid это Linux.
• После создания НОВОГО диска, он, скорее всего, будет под /dev/sdb. После нам нужна прог-а fdisk (cfdisk у меня не робiт), в которой
можно будет провести разметку диска.
• Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p;
• Теперь нужно создать навую таблицу разделов GPT, для этого надо юзать g, а для MBR (для загрузки ОС) – o;
• Чтобы создать раздел, нужно использовать команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит
сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо
указать размер раздела. Это можно сделать тремя способами:
указать количество секторов раздела;
указать последний сектор раздела;
указать размер раздела в килобайтах, мегабайтах или гигабайтах, обозначения стандартные K,M,G.
• Если захочется изменить тип раздела, то t вам в помощь (там всё понятно, так что сами справитесь);
• А если он вам нафиг не нужон, этот раздел ваш, то используйте d
• Теперь напишите w и всё сохранится))))))))))))))))))))))))))))))))))))))))

4.

Блочные устройства
• Блочное устройство в Linux это устройство в /dev, которое может быть использовано как файл или каталог для чтения или записи.
Фишка в том, что все технические детали реализации этого устройства спрятаны ядром системы. Вам не нужно морочить себе голову
что бы каким то одним способом прочитать файлы с компакт-диска или с флешки. И то, и другое в Linux будет называться "блочным
устройством". Какой драйвер использовать и как именно работать на низком (аппаратном) уровне с этим устройством - забота ядра
операционной системы. Иными словами, блочное устройство - это способ отобразить устройство в user-level, оставляя всю "черную
работу" для ядра.
• Для проверки всех Block Devices используется комманда lsblk -a. Теперь расшифруем эту табличечку:
• Первый столбец NAME, ну если не поняли, то (тикайте с курса ньяхуй);
• Второй столбец MAJ:MIN (Major: minor - это имена, с которыми ядро ​внутренне ссылается на устройства. Первое число указывает ядру
драйвер устройства, который он должен использовать для связи с устройством);
• Столбец RM показывает, является ли устройство съемным (где 1 да и 0 нет), в этом случае последние 2 диска являются внешними, а
последнее устройство — DVD;
• В столбце SIZE отображается размер каждого из перечисленных дисковых устройств;
• Столбец RO означает «Только для чтения», будучи 1 положительным и 0 отрицательным, если 0, то устройства не только для чтения, если
1, они доступны только для чтения;
• Столбец TYPE обозначает тип устройства(Диск(хард), раздел(part), дисковод (rom), зашафрованные разделы(crypt), итд…
• Столбец MOUNTPOINT показывает точку монтирования каждого
устройства или раздела;
• Впринципе всё, для команды есть –h, так что не заблудитесь.

5.

Массивы
• Избыточный массив независимых дисков (RAID) — это технология хранения, которая объединяет несколько компонентов дисков
(как правило, дисководы или их разделы) в логическое устройство. В зависимости от реализации RAID эта логическая единица
может быть файловой системой или дополнительным прозрачным слоем, который может содержать несколько разделов.
Данные распределяются по дискам одним из нескольких способов, называемых «уровнями RAID», в зависимости от уровня
избыточности и требуемой производительности. Таким образом, выбранный уровень RAID может предотвратить потерю
данных в случае сбоя жесткого диска, повысить производительность или совместить обе задачи.
• Есть уровни RAID, которые определяются технологие реализации:
RAID0 (striping) - распределение блоков на нескольких физических дисках для повышения скоростей записи и чтения, но без обеспечения отказоустойчивости. В случае
отказа одного из дисков вся информация будет уничтожена;
RAID1 (mirroring) - зеркалирование, то есть запись одних и тех же данных одновременно на несколько дисков, что обеспечивает отказоустойчивость при выходе из
строя любого количества дисков, пока остаётся хотя бы один работоспособный;
RAID4 - похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты;
RAID5 - массив с обеспечением отказоустойчивости за счет минимальной избыточности (требуется минимум три диска, для отказоустойчивости — четыре диска);
RAID6 - похож на RAID 5, но имеет более высокую степень надежности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным
алгоритмам;
• Для работы нужно установить mdadm.
Для начало нужно делитнуть старую инфу о рэйдах : mdadm --misc --zero-superblock /dev/<drive>
Из-за особенностей функциональности RAID очень сложно безопасно очистить диск полностью на работающем массиве. Подумайте, стоит ли это делать, прежде чем создавать его.

6.

RAID
• Для начала нам нужны 2 диска (можно и больше, но 2ух достаточно для RAID 1);
• root@localhost:~# mdadm --zero-superblock /dev/sda /dev/sdc;
• root@localhost:~# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdc1 Это если диск 1, а если нет, то и делать этого не надо;
• root@localhost:~# mkfs.ext4 /dev/md0 – создание ФС (ext4);
• В /etc/fstab добавить запись /dev/md0 /home ext4 noatime,rw 0 0;
• Создать mdadm конфиг файл:
root@localhost:~# mdadm --detail --scan /dev/md0 >> /etc/mdadm/mdadm.conf
DEVICE /dev/sda1 /dev/sdc1
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdc1 level=1 num-devices=2 auto=yes

7.

Логические разделы
• Для начала поясним:
Первичный раздел. На диске может быть до 4 первичных разделов. Их не может быть больше 4 из-за ограничений таблицы основных разделов диска. Чтобы обойти это
ограничение, можно использовать расширенный раздел.
Расширенный раздел — специальный основной раздел, разделенный на логические разделы. На диске может быть не более 1 расширенного раздела.
Логический раздел — раздел, находящийся в расширенном разделе.
• Если Вы не уверены, какого размера сделать свои разделы, хорошей идеей может быть использование небольшого раздела ext3 /boot
и разделов на основе lvm2 для остальных. Преимущество LVM в том, что он делает изменение размера более практичным. В
диспетчере разделов DebianInstaller каждый логический том рассматривается как диск, на котором вы создаете разделы.
• Разделы в ext2/3 нельзя перемещать, поэтому вы можете освободить место сжав предыдущий раздел, удалив раздел для увеличения
и воссоздав его большего размера или удалив следующий раздел, увеличив размер текущего раздела, и воссоздание следующего
раздела. С lvm2 пространство берется из любого логического тома, который вы решите сжать. lvm обрабатывает информацию о том,
где на диске фактически находятся блоки разделов.
• Нужно сначала сделать extended( расширенный) раздел (partition) и уже его делить на виртуальные.

8.

Монтирование
• Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле,
в Windows происходит что-то подобное, только все это скрыто от пользователя.
• Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми
разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или
удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
• Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все
вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда
mount.
$ mount файл_устройства папка_назначения
Или расширенный вариант: $ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
• Опции как всегда доступны в -h. Самые полезные:
-t – указать ФС;
-r – только для чтения;
-o noexec – нельзя выполнять программы;
Итд.

9.

Автомонтирование
• Каждая строчка в fstab описывает раздел, который нужно примонтировать к определенной точке монтирования.
Мы можем указать файловую систему, опции монтирования, а также нужно ли проверять файловую систему на
ошибки.
• fstab устройство точка_монтирования файловая_система опции резерв{0,1} проверка{0,1,2}
Устройство - это раздел диска, который вам нужно примонтировать. Его можно указать в формате файла устройства Linux в каталоге /dev/,
например, /dev/sda1 или с помощью уникального идентификатора UUID, тогда формат записи будет таким UUID="XXXX-XXXX-XXXX-XXXX", также
возможна запись с помощью метки, например, LABEL=home;
Точка монтирования - куда нужно примонтировать это устройство, например, /home, /boot, /mnt;
Файловая система указывает в какой файловой системе нужно монтировать это устройство, например, ext4, ext3, ext2, btrfs;
Опции - параметры монтирования файловой системы, рассмотрим подробнее ниже;
Резерв - указывает нужно ли делать резервную копию раздела, может принимать значения только 0 и 1.
Проверка - указывает в какой очереди нужно проверять устройство на ошибки, 1 - в первую очередь, 2 - вторую, 0 - не проверять;
English     Русский Правила