Диски и хранение данных в UNIX

диски и системы хранения данных Unix для баз данных OracleТема физического хранения данных и использования дисковой системы в UNIX является чрезвычайно важной для администратора баз данных Oracle и MySQL, потому что выбор конфигурации для дисков очень сильно влияет на доступность и производительность баз данных в будущем. Некоторые базы данных Oracle функционируют лучше в случае использования “неформатированных” дисковых хранилищ, а не дисков, находящихся под управлением операционной системы UNIX. Кластеры RAC (Oracle Real Application Clusters — кластеры реальных приложений Oracle) вообще могут работать только с неформатированными устройствами и не могут работать с обычными дисками в формате UNIX.

Все файлы UNIX в системе образуют файловую систему, создаваемую на так называемом разделе диска, который представляет собой “часть” диска и считается базовым устройством хранения данных. Структура типичной файловой системы Unix представлена на рисунке ниже:

 

 

Структура системных файлов Unix

Варианты конфигурации дисковых устройств хранения данных

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

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

Несмотря на это, все равно остается еще масса решений, которые требуется принимать, и которые будут оказывать влияние на производительность и доступность баз данных. Природа операций ввода-вывода, кэши баз данных, соотношение операций чтения и записи и прочие детали выглядят совершенно по-разному в системах OLTP и DSS. Кроме того, ожидания в отношении показателей времени отклика между этими системами тоже отличаются. Следовательно, схема хранения, прекрасно подходящая для базы данных одного типа, может совершенно не подходить для базы данных другого типа, поэтому для выбора правильных вариантов в этой чрезвычайно важной области, на стадии физического проектирования необходимо узнать об операционных потребностях своего приложения как можно больше.

Мониторинг использования дисков

При подготовке системы Oracle администратор баз данных обычно отправляет системному администратору формальный запрос на требуемый для нее объем физического дискового пространства, который основан на произведенных подсчетах размеров и ожидаемого роста базы данных. После принятия этого общего запроса системный администратор в ответ сообщает администратору баз данных о местонахождении точек монтирования, в которых он выделил ему необходимое пространство. Точками монтирования (mount points) называются каталоги в системе, в которых монтируются файловые системы. Далее администратор баз данных может создавать в этих точках монтирования все необходимые каталоги, прежде чем приступать к установке программного обеспечения Oracle и созданию самой базы данных.

После выделения места под программное обеспечение и базы данных Oracle обязанность следить за его использованием полностью ложится на плечи администратора баз данных. Если места начнет не хватать, администратору баз данных придется просить увеличить его у системного администратора. В идеале у администратора должно всегда оставаться немного дополнительного свободного пространства в выделенных ему точках монтирования, чтобы он мог самостоятельно добавлять место для файлов базы данных в случае возникновения в том необходимости. Для проверки объема дискового пространства и выяснения того, сколько из него уже занято, и сколько все еще свободно для использования в будущем, существует несколько очень удобных команд.

Команда df (disk free) позволяет просматривать информацию об общем объеме пространства (в байтах), которое было выделено для каждой точки монтирования, и том,сколько из него уже используется в текущий момент. Добавив к ней параметр –k (df –k),ту же информацию можно просматривать в килобайтах, что обычно гораздо удобнее.

Ниже приведен пример применения команды df вместе с параметром –k:

$df -k /finance09
/finance09 ( /dev/vgxp1_0f038/lvol1) :
7093226 total allocated Kb
1740427 free allocated Kb
5352799 used allocated Kb
75% allocation used
$ 

В этом примере вывод команды df показывает, что всего для точки монтирования /finance09 было выделено 7,09 Гбайт, из которых 5,35 Гбайт в текущее время занимают различные файлы, а 1,74 Гбайт — по-прежнему свободны.

Еще одной командой, которая позволяет просматривать информацию об использовании дисков, является du. Эта команда отображает сведения об используемом каждой точкой монтирования объеме пространства (в байтах):

$ du -k /finance09
/finance09/lost+found
/finance09/ffacts/home
. . .
5348701 /finance09
$ 

Как видно в приведенном выше примере, команда du показывает, сколько места занимают различные файлы и каталоги в точке монтирования (каковой в данном случае является /finance09), и сколько всего места занимает эта точка.

Предпочтительней пользоваться командой df, а не du, потому что она позволяет сразу же видеть в процентах, сколько пространства свободно и сколько занято.

Хранение данных на дисках, производительность и доступность

Доступность и производительность лежит в основе всех стратегий конфигурации дисков. Единственное, в чем можно быть уверенным при использовании систем хранения на базе дисков, так это, что в какой-то момент времени диски будут отказывать. Все диски обладают показателем среднего времени наработки на отказ (Mean Time Between Failures — MTBF), который может составлять сотни тысяч часов работы и в среднем позволять диску работать многие годы. Однако, как известно, пользоваться среднестатическими данными в подобных ситуациях может быть опасно, так как любой отдельно взятый диск может отказать в любой момент, независимо от того, как выглядит его показатель MTBF. Управляют дисками дисковые контроллеры, и отказ такого контроллера чреват прекращением всех системных операций. Поэтому сегодня для обеспечения постоянной доступности принято вносить в дисковые системы (и другие ключевые компоненты всех системы) избыточность.

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

Для улучшения производительности чаще всего применяется стратегия расслоения дисков (disk stripping), которая позволяет создавать из нескольких физических дисков единую логическую единицу. Эта единица состоит из чередующихся разделов с каждого из дисков в наборе и обеспечивает разделение данных на блоки одинакового размера и их запись слоями одновременно на все диски. Операции чтения выполняются точно так же, т.е. с одновременным использованием всех дисков. Благодаря этому, производительность операций ввода-вывода значительно улучшается, поскольку для их выполнения используются соответствующие средства не одного, а целого набора дисков.

Разбиение дисков на разделы

Исходные диски не обеспечивают легкого доступа к данным: для этого им необходимо придать какую-то структуру. В частности, первое, что потребуется делать, прежде чем использовать жесткий диск — это разбить его на разделы. Разбиение приводит к получению возможности сохранять данные системы и приложений на отдельных разделах диска, а также легко управляться с вопросами, касающимися выделения пространства. Иногда такие разделы сами называются дисками, но все они на самом деле являются частью одного физического диска. После разбиения диска на разделы можно приступать к созданию на нем файловых систем.

Создание файловых систем

После разбиения всего диска на разделы удобного способа для получения доступа к данным или их сохранения все еще не существует. Дальнейшая настройка методов доступа осуществляется с применением файловых систем. Файловые системы обладают следующими возможностями:

  • назначение отдельных владельцев файлами и каталогам;
  • отслеживание времени создания и изменения файлов и каталогов;
  • управление доступом к данным;
  • ведение учета объемов выделяемого и используемого пространства.

Расслоение дисков

Важно понимать, что файловую систему можно размещать как на одном единственном физическом диске, так и на нескольких “расслоенных” физических дисках.В последнем случае, несмотря на охват файловой системой сразу нескольких дисков,для пользователей файлы будут отображаться как находящиеся на одном так называемом логическом томе. Для объединения множества дисков в единый логический том в системах UNIX предлагается несколько способов.

Один из них предусматривает применение утилиты Logical Volume Manager (Диспетчер логических томов). С помощью этой утилиты десять дисков размером 72 Гбайт можно объединять в один единственный логический диск размером 720 Гбайт. Таким образом,получается, что стратегия расслоения дисков может также позволять создавать и гораздо более объемные логические диски, способные справляться с более объемными файловыми системами. Файловые системы не могут выходить за границы дисков, так что логические диски предоставляют простой способ для создания больших томов.

Логические тома и утилита LVM

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

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

Логические тома, с другой стороны, создаются за счет объединения нескольких жестких дисков или дисковых разделов. Для объединения жестких дисков системные администраторы обычно применяют утилиту LVM. Они объединяют ряд физических дисков в группу тома, которую утилита LVM затем самостоятельно разбивает на несколько логических томов меньшего размера. В большинстве современных систем чаще всего применяется подход с применением утилиты LVM, потому что он является чрезвычайно гибким и легким способом для управления дисковым пространством. Например, нет ничего проще, чем добавлять пространство и изменять разделы на работающей системе с помощью утилиты LVM.

После создания логических томов дисковые тома могут назначаться точками монтирования, в которых затем, в свою очередь, могут начинать создаваться различные файлы.

Видео инструкция по настройке производительности Unix для баз данных

Ниже Вы может посмотреть мастер-класс по настройке аппаратной и программной части Unix-подобных систем (в данном случае на примере Linux) с целью оптимизации производительности баз данных, работающих на этих серверах. 

Данный видеокурс рассматривает следующие темы:

  1. Выбор "железа", т.е. аппаратной части сервера (выбор жестких дисков - обычные Sata или SSD, FusionIO, выбор памяти, конкретного бренда сервера).
  2. Настройка операционной системы (обычная файловая система, динамические диски или кластер, память, настройка ввода-вывода).
  3. Как осуществить сбалансированный выбор между "железом" (сервером), настройкой операционной системы и конфигурацией базы данных.

Смотрите видео!

Вас заинтересует / Intresting for you:

Oracle alerts: генерируемые се...
Oracle alerts: генерируемые се... 4491 просмотров Алексей Вятский Tue, 21 Nov 2017, 13:18:05
Oracle Personal Edition
Oracle Personal Edition 5204 просмотров Надин Tue, 21 Nov 2017, 13:32:12
Работа с файлами и каталогами ...
Работа с файлами и каталогами ... 6027 просмотров Владимир Tue, 21 Nov 2017, 13:19:25
Установка Oracle 11g на Linux
Установка Oracle 11g на Linux 15082 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Войдите чтобы комментировать

1dz аватар
1dz ответил в теме #8451 24 апр 2017 14:17
Доступность и производительность - краеугольный камень дисковых систем для хранения данных. Какие системы хранения / массивы используете вы на своих предприятиях для баз данных Oracle и MySQL?