LVM в Linux – работа с логическими дисками

По материалам статьи Джо Чанг (Joe Chang): I/O Queue Depth Strategy for Peak Performance (IO Queue Depth Strategy)

HDD и SSD-диски: сравнение дисковых систем и интерфейсов

 

Существует два типа дисков: жесткий диск HDD (hard disk drive) и твердотельный накопитель SSD (solid-state drive).

HDD-диск

HDD-диски стоят в большинстве персональных компьютеров и ноутбуках. Внутри диска находятся несколько алюминиевых пластин. Операции чтения и записи происходят за счет вращения пластин и расположенной в нескольких нанометрах считывающей головки. Скорость пластин достигает 15 000 оборотов в минуту, отсюда и привычный шум, и высокая температура при работе дисков. Такие диски стали популярными за счет большого объема дискового пространства (до 4 ТБ на одном HDD-диске), высокой степени надежности, устойчивости к операциям чтения и записи.

 

Недостатки HDD-дисков относительно SSD-дисков:

  • низкая скорость операций чтения/записи
  • высокое энергопотребление
  • высокий уровень шума

HDD-диски подходят для операций, в которых не требуется частое чтение и запись информации: организации хранилища данных, системы резервного копирования, почтового сервера, организации потокового видео, для организации сервера под виртуальные машины.

SSD-диск

В SSD-дисках используются микросхемы памяти, а за счет отсутствия вращающихся элементов, такие диски полностью бесшумны, потребляют меньше электроэнергии и меньше HDD-дисков в размерах.  

 

Операции чтения и записи в SSD-дисках проходят быстрее (файлы быстрее открываются, сохраняются и удаляются с диска). Отношение скорости передачи данных к размеру передаваемого блока определяется показателем IOPS (Input/Output Operations Per Second). IOPS показывает какое количество блоков успевает записаться/считаться за секунду. Для сравнения, в HDD-дисках этот показатель около 80-100 IOPS, а в SSD-дисках — больше 8000 IOPS.Однако, каждый цикл перезаписи постепенно “сжигает” диск, что уменьшает срок его службы. SSD-диски подходят для высоко-нагруженных проектов, которые чувствительны к скорости процессов записи и чтения.  SSD-диски увеличивают скорость работы сайта, разработанного на любой современной CMS.

 

Для подключения дисков к серверу используют дисковый интерфейс.

 

Интерфейсы для подключения HDD-дисков

 

SATA

 

SATA (Serial Advanced Technology Attachment) — последовательный интерфейс подключения дисков. SATA-интерфейс работает с большими объемами данных на невысоких скоростях, благодаря этому фактору и низкой стоимости он получил широкое распространение среди ПК и серверного оборудования.  Скорость работы SATA интерфейса до 600 Мбит./сек., при пропускной способности 6 Гбит/сек. HDD-диски с интерфейсом SATA подходят для:

  • потоковых операции, например, кодирования видео
  • организации хранилища данных
  • системы резервного копирования
  • объемных, но не нагруженных файл-серверов

Подключить диски через интерфейс SATA можно на любом сервере Intel (Core i3/i5/i7, Intel Atom, Xeon E3/ Xeon E5, 2 x Xeon E5).

 

SAS

 

SAS (Serial Attached SCSI)  последовательный интерфейс подключения жестких дисков, который основывается на наборах команд SCSI. SAS-интерфейс работает на скорости до 1,2 Гбит/сек. с пропускной способностью до 12 Гбит/сек. HDD-диски подключенные через SAS-интерфейс подходят для операций с высокой скоростью и большим количеством циклов перезаписи, а также:

  • системы управления базами данных (СУБД);
  • WEB-серверы с высокой нагрузкой
  • распределенные системы
  • системы, обрабатывающие большое количество запросов — терминальные серверы, 1С серверы.

Недостаток SAS  высокая цена этого интерфейса.

SAS-интерфейс доступен у серверов линейки 2 x Xeon E5.

Интерфейс для подключения SSD-дисков

SSD-диски также подключают через SATA-интерфейс. SSD-диски подключенные через интерфейс SATA передают данные на скорости до 6 Гбит/сек.

Некоторые SSD-диски подключаются напрямую к PCIe-шине сервера, отсюда и название интерфейса для SSD-дисков  PCIe-SSD. Однако такие диски в несколько раз дороже, поэтому пока они не так популярны.

SSD-диски также подключаются на серверах Intel Xeon E3/ Xeon E5, 2 x Xeon E5.

 

Читайте также:  Установка и настройка разных версий Windows Server

Какой диск выбрать?

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

 

Задача

Тип диска

Интерфейс

Кодирование видео

HDD

SATA

Хранилища данных

 

HDD

SATA

Системы резервного копирования

 

HDD

SATA

Объемные, но не нагруженные файл-серверы

HDD

SATA

Системы управления базами данных (СУБД)

HDD

SAS

WEB-серверы с высокой нагрузкой

 

HDD

SAS

1С-сервер

HDD

SAS

Высоконагруженные проекты

SSD

SATA

CMS

SSD

SATA

Типы сетевых дисков

Типы сетевых дисков:

  • Базовый диск — на базе SATA-дисков enterprise-класса. Подходит для хранения больших объемов данных, которые не нужно часто читать или перезаписывать;
  • Универсальный диск — на базе SSD-дисков. Подходит для размещения системных дисков виртуальных машин;
  • Быстрый диск — на базе SSD NVMe-дисков. Меньшее время отклика и большая скорость работы по сравнению с базовым диском. Подходит для рабочих нагрузок, требующих повышенной производительности ввода/вывода операций.

Параметры пропускной способности и лимиты чтения/записи в IOPS сетевых дисков зависят от региона. Подробнее на сайте в разделе Сетевые масштабируемые диски и в таблице.

Установка Disk Usage Analyzer

sudo apt-get install baobab

Выполнять лишь в том случае если приложение не установлено в системе, по умолчанию пакет данного приложения устанавливается вместе со средой Gnome, чтобы запустить, достаточно воспользоваться поисков в Dash, где в качестве запроса ввести ключевой запрос следующего вида — «baobab».

  • После вы увидите иконку искуемого приложения.
  • Вот небольшой пример работы приложения, выбрал просканировать свою корневую директорию в которой и установлена наша система, смотрим результат на скриншоте ниже.

Все достаточно четко и понятно, наведя мышью на соответствующую часть сектора, вам показывает какие приложения в данном секторе установлены и сколько это занимает место в вашем дисковом пространстве.

На этом пожалуй окончу материал, если у вас есть вопросы, всегда готов ответить, спрашивайте, комментируйте.

Установка и запуск

Инсталляция ncdu выполняется через терминал командой sudo apt-get install ncdu, также вы можете попробовать установить утилиту через Центр приложений.

Установка и запуск

Запускается же утилита через тот же терминал одноименной командой ncdu.

Будучи запущенной без параметров, ncdu сканирует содержимое текущего каталога с отображением прогресса.

Установка и запуск

И выводит его в виде списка с указанием относительного пути и размера каждого объекта.

В расположенной внизу панели указывается общий и фактический (Apparent size) размер текущего каталога, а также количество имеющихся в нём элементов, включая папки и файлы.

Установка и запуск

Для навигации по файловой системе в ncdu используются клавиши-стрелки. Клавиши вверх-вниз служат для выбора объекта, клавиши вправо-влево — для входа в выбранные каталоги и выхода из них.

Читайте также:  0Xa00f4271 не работает камера windows 10

Также для входа в папки можно использовать Enter. Помимо клавиш-стрелок и ввода, утилитой поддерживается еще целый ряд «горячих» клавиш, упрощающих работу с приложением.

Установка и запуск

Вот некоторые из них:

n и s — сортировка по имени и размеру; d — удаления выделенного объекта; k и j — то же, что и клавиши вверх-вниз; i — вывод сведений о файле или папке; e — показ только скрытых файлов; g — переключение в режим отображения занятого места в процентах; a — переключение в режим отображения реального занятого места на диске в байтах; r — повторный расчет занимаемого места; q и b— выход из программы в консоль.

Установка и запуск

Для расширения возможностей ncdu используются аргументы или параметры. Указываются они после команды через дефис по отдельности или вместе, например, ncdu -q или ncdu -1xo.

Вот наиболее востребованные аргументы ncdu:

Установка и запуск

-0 — отключает вывод информации при сканировании файловой системы; -1 — изменяет режим вывода информации при сканировании файловой системы; -q — включает тихий режим сканирования, обычно используется при работе с удаленными системами; -r — данные в консоли выводятся в режиме «только для чтения», что предотвращает случайное удаление файлов и папок; -o путь к файлу — экспорт результатов работы в лог; -f путь к файлу — вывод данных из созданного ранее лога; — exclude шаблон — исключает из результатов сканирования размер объектов, названия которых соответствует маске шаблона, однако сами объекты отображаются в списке.

Чтобы получить больше информации о поддерживаемых аргументах и «горячих» клавишах, выполните в терминале команду man ncdu, она выводит справку по утилите.

Установка и запуск

Да, стоит упомянуть, что использовать ncdu можно не только для анализа Linux-, но и в Windows-разделов. Если Windows установлена параллельно с Linux, вы можете выполнить в последней команду ncdu /media, перейдя таким образом в корень диска и получив доступ к смонтированным томам с Windows.

Также ncdu может использоваться для анализа содержимого дисков на компьютерах под управлением Windows 10 при условии, что в ней будет активирован компонент WSL. Установив из Windows Store дистрибутив Debian или другую популярную версию Linux, вы сможете запускать ncdu из-под нее, получая доступ к файловой системе разделов С и D хостовой операционной системы.

Установка и запуск

Как использовать LVM

Итак, вот что мы имеем:

# fdisk -l

Устройство /dev/sda не трогаем, системное. Для других нужд. А вот sdb и sdc объемом 2 и 3 Гб соответственно будем объединять в одну логическую группу.

Как использовать LVM

Шаг 1. Создадим разделы на устройствах

# fdisk /dev/sdb # fdisk /dev/sdc

Оба раздела настраиваются аналогично. Важно, чтобы тип раздела был Linux LVM (посмотреть типы можно нажав l после t в консоли fdisk).

Шаг 2. Создаем “Физические диски” Physical Volume

Для этого служит команда pvcreate и указание девайса.

# pvcreate /dev/sdb1 # pvcreate /dev/sdc1

Как использовать LVM

Убедимся, что всё получилось. Просмотреть физические тома можно командой:

# pvs

Более подробная информация будет показана при команде

# pvdisplay

Шаг 3. Создаем группу томов (Volume Group)

Создать группу томов из физических томов можно посредством команды vgcreate и указании имени группы, а так же входящих в эту группу устройств (это, кстати, даёт возможность заводить несколько различных групп):

Как использовать LVM

# vgcreate litl_admin /dev/sdb1 /dev/sdc1

Читайте также:  Как добавить "Установку CAB" в контекстное меню Windows 10

Просмотреть созданные группы можно командой:

# vgs

Как видим, здесь фиксируется имя группы, количество физических томов, логических томов, атрибуты, виртуальный размер и объем свободного виртуального места. Почему виртуального? Я уже упоминал о том, что размер можно менять динамически “на лету”?

Как и с физическими томами, у группы томов тоже есть команда display:

# vgdisplay

Как использовать LVM

Шаг 4. Создаем логический раздел (Logical Volume)

Пришло время “резать пирог”, то есть разделять группу томов на разделы по своему усмотрению. Оттяпаем 300 Мегабайт на первый логический том, а 4 с небольшим гигабайта – на второй логический том. Используем команду lvcreate с указанием размера, имени логического тома и имени группы, от которой “откусываем” кусок:

# lvcreate -L 300M -n disk_1 litl_admin

Этой командой мы выделим 300 мегабайт из группы litl_admin, и назовём этот логический том “disk_1”.

Аналогично создадим disk_2 из оставшегося места.

P.S. Для удаления ошибочно созданного объекта используем lvremove с указанием имени группы. Далее в диалоговом режиме удаляем неугодные нам разделы.

Как использовать LVM

Шаг 5. Размечаем файловые системы

Пришла пора разметить файловые системы, чтобы мы могли использовать эти логические тома.

# /dev/litl_admin/disk_1 # /dev/litl_admin/disk_2

Шаг 6. Подготовим каталоги для монтирования и пропишем их в файле /etc/fstab

# mkdir /vol1 # mkdir /vol2

имена могут быть любыми, эти каталоги будут выступать точками монтирования.

Как использовать LVM

Осталось внести изменения в файл /etc/fstab, чтобы эти точки монтировались автоматически.

# vi /etc/fstab

Допишем наши строки:

устройство, точка монтирования, файловая система, опции монтирования, порядок проверки fsck

У меня это две нижние строки.

Шаг 7. Подмонтируем наши файловые системы

Как использовать LVM

Теперь подмонтируем точки автоматически:

# mount -a # mount

Готово! Можно пользоваться!

Вам так же понравится: Как расширить диск виртуальной машины на Linux LVM Исправляем брешь CVE-2015-0235 в Linux Квесты админа: #2. Права пользователей в Linux [BOOK] Операционная система Linux Курс лекций. Учебное пособие Работа с виртуализацией. OpenVZ или KVM? Работа с DD. Утилита для побайтового копирования. Начало

Кэширующие RAID – контроллеры и запросы ввода-вывода на чтение

В основном это объясняется тем, что ядро базы данных само кэширует данные, и этот кэш намного ближе и менее затратен с точки зрения доступа, чем кэш контроллера СХД. Кроме того, если сервер сконфигурирован в соответствии с рекомендациями, ядро базы данных будет иметь буферный кэш существенно большего размера, чем кэш СХД. Вероятность того, что к данным в кэше СХД будет осуществляться повторный доступ, очень мала. К тому же, издержки на кэширование запросов чтения являются для них весьма существенными, и это важный фактор для тех СХД, которые настраиваются на получение высоких значений IOPS. Издержки кэширования чтения на контроллерах СХД будут потому, что блоки данных в кэше никогда не будут запрашиваться снова, это работа будет бесполезна. У систем, которые используются в эталонных тестах TPC, кэширование чтения обычно отключается, и делается это из соображений, которые были только что перечислены.

Один уважаемый источник утверждал, что использование маленького ~ 2MB (не GB!) кэша чтения для LUN, позволяющего включить упреждающее чтение, является наиболее удачной стратегией. Я же помню, когда-то говорили, что некоторая система с сервером, у которого было 48GB оперативной памяти, показала лучшую производительности ввода-вывода, когда кэш на SAN был увеличен с 80GB до 120GB. Всё это показывает, что подобные результаты можно рассматривать под разными углами.