Показаны сообщения с ярлыком storage. Показать все сообщения
Показаны сообщения с ярлыком storage. Показать все сообщения

пятница, 2 февраля 2018 г.

Тестирование производительности гиперконвергентных систем и SDS своими руками

- Штурман, приборы!
- 36!
- Что 36?
- А что приборы?

Примерно так на сегодня выглядит большинство синтетических тестов систем хранения данных. Почему так?

До относительно недавнего времени большинство СХД были плоскими с равномерным доступом. Что это означает?
Общее доступное дисковое пространство было собрано из дисков с одинаковыми характеристиками. Например 300 дисков 15k. И производительность была одинаковой по всему пространству. С появлением технологии многоуровневого хранения, СХД стали неплоскими - производительность различается внутри одного дискового пространства. Причем не просто различается, а еще и непредсказуемо, в зависимости от алгоритмов и возможностей конкретной модели СХД.
И все было бы не так интересно, не появись гиперконвергентные системы с локализацией данных. Помимо неравномерности самого дискового пространства появляется еще и неравномерность доступа к нему - в зависимости от того, на локальных дисках узла лежит одна из копий данных или за ней необходимо обращаться по сети.
Привычные синтетические тесты резко дают маху, цифры от этих нагрузок потеряли практический смысл. Единственный способ всерьез оценить подходит ли система - это пилотная инсталляция с перенесением продуктива. Но что делать, если на перенос продуктива не дает добро безопасность или это просто слишком долго / трудоемко. Есть ли способ оценки?


Сделаем вид, что мы продуктивная нагрузка, и нагрузим весь гиперконвергентный кластер. Смело вычеркиваем "100% random по всему объему" - этот тест не покажет ровным счетом ничего, кроме производительности самых нижних дисков. Т.е. 150-300 IOPS на узел (2-4 SATA).

Что для этого требуется?

1. Минимум по 1 машине с генератором нагрузки на узел.
2. Профили нагрузки, приближенные к продуктиву.

Для массовых нагрузок типа VDI необходимо создание репрезентативного количества машин. В идеале конечно полного, но поскольку большинство демо-систем - это 3-4 узла, то 3000-4000 ВМ на них конечно никак не запустить.

В моих цепких лапах оказался кластер Nutanix NX-3460G4, но тест применим к любой платформе, доступной на рынке. Более того, те же самые тесты можно проводить и для классических СХД, технология никак не меняется.

image

В качестве генератора нагрузки я взял FIO под управлением CentOS 7. Профили нагрузок от Nutanix XRay 2.2. Почему CentOS? Был дистрибутив под рукой, можно использовать любой другой Linux по вкусу.
Делаем несколько шаблонов ВМ под разный тип нагрузки.

1. Управляющая FIO - 1 vCPU, 2GB RAM, 20GB OS
2. DB - 1 vCPU, 2GB RAM, 20GB OS, 2*2 GB Log, 4*28 GB Data
3. VDI - 1 vCPU, 2GB RAM, 20GB OS, 10 GB Data

Создаем управляющую FIO. Ставим CentOS в минимальной установке на 20GB диск, остальные не трогаем.

После минимальной установки CentOS ставим FIO
# yum install wget
# wget http://dl.fedoraproject.org/pub/epel/testing/7/x86_64/Packages/f/fio-3.1-1.el7.x86_64.rpm
# yum install fio-3.1-1.el7.x86_64.rpm

Повторяем то же самое для машин шаблонов нагрузки. И прописываем FIO в автозагрузку на них.
Создаем файл /etc/systemd/system/fio.service

[Unit]
Description=FIO server
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/fio --server
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target


# systemctl daemon-reload
# systemctl enable fio.service
# systemctl start fio.service
# firewall-cmd --zone=public --permanent --add-port=8765/tcp

Инфраструктура готова. Теперь нужна нагрузка.
Создадим список серверов FIO.
10.52.8.2 - 10.52.9.146

Удобно использовать для этого Excel.

image

Загружаем этот список на управляющую машину. На нее же загружаем конфиг-файлы FIO c нагрузкой.

fio-vdi.cfg

[global]
ioengine=libaio
direct=1
norandommap
time_based
group_reporting
disk_util=0
continue_on_error=all
rate_process=poisson
runtime=3600

[vdi-read]
filename=/dev/sdb
bssplit=8k/90:32k/10,8k/90:32k/10
size=8G
rw=randread
rate_iops=13
iodepth=8
percentage_random=80

[vdi-write]
filename=/dev/sdb
bs=32k
size=2G
offset=8G
rw=randwrite
rate_iops=10
percentage_random=20


fio-oltp.cfg

[global]
ioengine=libaio
direct=1
time_based
norandommap
group_reporting
disk_util=0
continue_on_error=all
rate_process=poisson
runtime=10000

[db-oltp1]
bssplit=8k/90:32k/10,8k/90:32k/10
size=28G
filename=/dev/sdd
rw=randrw
iodepth=8
rate_iops=500,500

[db-oltp2]
bssplit=8k/90:32k/10,8k/90:32k/10
size=28G
filename=/dev/sde
rw=randrw
iodepth=8
rate_iops=500,500

[db-oltp3]
bssplit=8k/90:32k/10,8k/90:32k/10
size=28G
filename=/dev/sdf
rw=randrw
iodepth=8
rate_iops=500,500

[db-oltp4]
bssplit=8k/90:32k/10,8k/90:32k/10
size=28G
filename=/dev/sdg
rw=randrw
iodepth=8
rate_iops=500,500

[db-log1]
bs=32k
size=2G
filename=/dev/sdb
rw=randwrite
percentage_random=10
iodepth=1
iodepth_batch=1
rate_iops=100

[db-log2]
bs=32k
size=2G
filename=/dev/sdc
rw=randwrite
percentage_random=10
iodepth=1
iodepth_batch=1
rate_iops=100


Запустим FIO в для проверки правильности настроек и первичного прогрева дисков.

На управляющей ВМ

# fio --client vdi.cfg

Минуты через 2-3 можно нажать Ctrl-C, иначе FIO отработает полный цикл из конфига - 2 часа.

Теперь подготовим площадку под массовое развертывание VDI нагрузки. Я создал совершенно непересекающуюся сеть с IPAM - гипервизор AHV перехватывает DHCP и выдает адреса сам.

image

Поскольку AHV выдает адреса не по порядку, сделаем пул размером ровно под планируемую нагрузку - 400 ВМ (по 100 на хост).

image

Создаем нагрузочные 400 машин VDI.

image

image

В принципе только создание сразу 400 машин уже интересный тест любой системы.
Как у нас справился немолодой уже кластер Nutanix?

image

2 минуты. Мне кажется, отличный результат.

Теперь включаем машины.

На Nutanix CVM
# acli vm.on fio-vdi-*

Ну и теперь самое время врубить полный газ!
С управляющей FIO
# fio --client vdi.list vdi.cfg

Примерно так ваша СХД будет себя чувствовать под 400 ВМ со средней офисной VDI нагрузкой.

Так же в статье указаны профили для средней OLTP и DSS БД. Их, конечно не по 400, но штук 6-8 можно запустить и попробовать. Например для 8 OLTP и 2 DSS нам потребуется 10 машин из тех, что имеют по 6 дополнительных дисков.

С двух терминалов сразу
1. # fio --client oltp.list fio-oltp.cfg
2. # fio --client dss.list fio-dss.cfg

Казалось бы, все идет хорошо. Каждая система показывает себя неплохо, и ничего не предвещает беды. Сделаем беду сами!

image

Теперь наблюдаем как под нагрузкой система будет перестраиваться и как это изменит показатели. Особое внимание обратите на "умные" системы, которые откладывают перестроение и восстановление отказоустойчивости на час и более. Не, ну а что такого? А вдруг это ничего страшного нет, подумаешь узел вылетел. Зато на тестах красивые цифры останутся. Если не читать то, что мелким шрифтом в глубинах документации.
Nutanix начинает процесс восстановления автоматически, через 30 секунд после недоступности CVM. Даже если это легитимная операция как например перезагрузка при обновлении.

При помощи подобного нехитрого руководства можно попробовать - а подходит ли вам предлагаемая вендором / интегратором система.
Ну или конечно, вы можете просто скачать Nutanix XRay, которая сделает все это в автоматическом режиме с красивыми графиками для платформ Nutanix AHV и VMware! :)

четверг, 2 февраля 2017 г.

Highload 2016. Что уже умеют промышленные СХД. Видео


Друзья, по многочисленным просьбам выкладываю видеозапись доклада, скажем спасибо за нее организаторам!



среда, 22 июня 2016 г.

Дизайн VDC. Расчет системы хранения

Расчет классической СХД по производительности

Классическая СХД всегда рассчитывается по худшему варианту (worst case scenario), исключая влияние оперативного кэша и оптимизации операций.
В качестве базовых показателей производительности принимаем механическую производительность с диска (IOPSdisk):
- 7.2k – 75 IOPS
- 10k – 125 IOPS
- 15k – 175 IOPS

Далее количество дисков в дисковом пуле рассчитывается по следующей формуле: = TotalIOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdisk. Где:
- TotalIOPS – суммарная требуемая производительность в IOPS с дискового пула
- RW – процентная доля операций чтения
- RAIDpen – RAID penalty для выбранного уровня RAID

Подробнее об устройстве RAID и RAID Penalty рассказывается здесь - Производительность СХД. Часть первая. и Производительность СХД. Часть вторая. и Производительность СХД. Часть третья

Исходя из полученного количества дисков рассчитываются возможные варианты, удовлетворяющие требованиям по емкости хранения, включая варианты с многоуровневым хранением.
Расчет систем с использованием SSD в качестве уровня хранения рассматривается отдельно.

Особенности расчета систем с Flash Cache

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

Расчет гибридных систем low-end / mid-range

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

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

Использование SSD в многоуровневом дисковом пуле

Использование SSD в многоуровневом дисковом пуле имеет вариации, в зависимости от особенностей реализации алгоритмов флэш кэша у данного производителя.
Общая практика политики хранения для дискового пула с SSD уровнем - SSD first.
Read Only Flash Cache. Для флэш кэша только на чтение уровень хранения на SSD появляется при значительной локализации операций записи вне зависимости от кэша.
Read / Write Flash Cache. В случае с флэш кэшем на запись сначала устанавливается максимальный объем кэша, а уровень хранения на SSD появляется лишь при недостаточности размера кэша для обслуживания всей локализованной нагрузки.
Расчет производительности SSD и кэша производится каждый раз исходя из рекомендаций производителя, но всегда для наихудшего варианта.

пятница, 2 марта 2012 г.

Cравнение протоколов доступа к СХД


iSCSI NFS FC FCoE
Описание Протокол блочного уровня.
Все SCSI команды инкапсулируются в TCP/IP пакеты и передаются на СХД
Протокол файлового уровня.
NFS массив предоставляет доступ ESX хосту к своей локальной файловой системе.
ESX хост же обращается к метаданным и файлам используя протокол основанный на RPC.
В данный момент поддерживается NFS v3 поверх TCP/IP
Протокол блочного уровня.
Все SCSI команды инкапсулируются в FC фреймы
Протокол блочного уровня.
Все SCSI команды инкапсулируются в Ethernet фреймы.
Во многом схож с Fibre Channel.
Поддерживается с vSphere 5
Возможности реализации 1. vSphere vmkernel (обычная сетевая карта)
2. Dependent iSCSI Initiator (сетевая карта с функциями SCSI Offload+vmkernel)
3. Independent iSCSI Initiator (отдельный HBA адаптер)
vSphere vmkernel (обычная сетевая карта) Выделенный HBA адаптер.
Для отказоустойчивости и поддержки multipathing требуется минимум 2 адаптера
1. Hardware Converged Network Adapter (CNA)
2. Software FCoE инициатор (требуется сетевая карта с поддержкой FCoE)
Производительность 1. Поддерживается 1Gbit\10Gbit Ethernet.
2. Несколько соединений могут быть объединены в одну сессию.
3. Поддержка Jumbo Frames.
4. Более высокая нагрузка на ЦПУ за счёт инкапсуляции трафика
1. Поддерживается 1Gbit\10Gbit Ethernet.
2. Не смотря на возможность использования UDP, VMware её не поддерживает.
3. Поддержка Jumbo Frames.
4. Более высокая нагрузка на ЦПУ за счёт инкапсуляции трафика
1. Поддерживается 1/2/4/8 и 16Gb HBA, но последние в vSphere 5 должны работать в режиме 8Gb.
2. Buffer-to-Buffer и End-to-End кредиты гарантируют сеть без потери пакетов.
3. Низкая нагрузка на ЦПУ, так как HBA инкапсулирует весь трафик
1. Требует 10Gb Ethernet.
2. Требует поддержки Jumbo Frames (стандартный размер пакета FC – 2.2KB, а не 1.5 как у Ethernet).
3. Меньшая нагрузка на сеть, по сравнению с iSCSI и NFS, так как нету инкапсуляции SCSI в TCP\IP
Балансировка нагрузки VMware Pluggable Storage Architecture (PSA)поддерживает Round-Robin для распределения нагрузки между путями.
Лучше использовать с большим количеством LUN
В данный момент такой возможности не существует, так как используется только одна сессия.
Агрегация каналов может быть достигнута путём подключения по разным путям
VMware Pluggable Storage Architecture (PSA)поддерживает Round-Robin для распределения нагрузки между путями.
Лучше использовать с большим количеством LUN
VMware Pluggable Storage Architecture (PSA)поддерживает Round-Robin для распределения нагрузки между путями.
Лучше использовать с большим количеством LUN
Отказоустойчивость Отказоустойчивость обеспечивается с помощью Storage Array Type Plugin (SATP) для всех поддерживаемых iSCSI массивов NIC Teaming. Хотя данный метод не защищает от сбоев на стороне хранилища Отказоустойчивость обеспечивается с помощью Storage Array Type Plugin (SATP) для всех поддерживаемых FC массивов Отказоустойчивость обеспечивается с помощью Storage Array Type Plugin (SATP) для всех поддерживаемых FCoE массивов
Проверка на наличие ошибок Протокол использует TCP, который пересылает пакеты в случае потери пакетов Протокол использует TCP, который пересылает пакеты в случае потери пакетов FC является сетью с гарантией сохранности данных.
Обеспечивается благодаря Buffer-to-Buffer и End-to-End кредитам и регулированием полосы пропускания в случае нехватки ресурсов
FCoE требует использования сети с гарантией сохранности данных.
Достигается использованием механизма Pause Frame в случае нехватки ресурсов
Безопасность Авторизация, в том числе и двусторонняя, обеспечивается протоколом Challenge Handshake Authentication Protocol (CHAP).
Рекомендуется использовать VLAN или выделенные сети для разделения трафика
Рекомендуется использовать VLAN или выделенные сети для разделения трафика Некоторые свитчи поддерживают VSAN, являющуюся аналогом VLAN.
Также рекомендуется использовать зонинг между массивов и хостами
 Некоторые свитчи поддерживают VSAN, являющуюся аналогом VLAN.
Также рекомендуется использовать зонинг между массивов и хостами
Поддержка Virtual API for Array Integration Поддержка определённых примитивов зависит от производителя. Всего доступны следующие примитивы: Atomic Test/Set, Full Copy, Block Zero, Thin Provisioning, Unmap.
Все они интегрированы в ESXi и не требуют установки дополнительных элементов
Поддержка определённых примитивов зависит от производителя. Всего доступны следующие примитивы:Full Copy (не поддерживается для Storage vMotion, только для холодной миграции), Write Zeros, Clone Offload.
Требуется плагин для ESXi от производителя массива
Поддержка определённых примитивов зависит от производителя. Всего доступны следующие примитивы: Atomic Test/Set, Full Copy, Block Zero, Thin Provisioning, Unmap. Все они интегрированы в ESXi и не требуют установки дополнительных элементов Поддержка определённых примитивов зависит от производителя. Всего доступны следующие примитивы: Atomic Test/Set, Full Copy, Block Zero, Thin Provisioning, Unmap. Все они интегрированы в ESXi и не требуют установки дополнительных элементов
Загрузка ESXi с СХД Да Нет Да Да для CNA, нет для software initiator
Поддержка Raw Device Mapping Да Нет Да Да
Максимальный размер datastore 64ТБ Зависит от производителя массива 64ТБ 64ТБ
Максимальное количество устройств 256 по умолчанию 8, максимально 256 256 256
Прямое подключение СХД в ВМ Да, с помощью инициатора в ВМ Да, с помощью клиента в ВМ Нет, но FC устройства могут быть подключены к ВМ с помощью NPIV. Требует предварительного подключения RDM и поддержки NPIV со стороны оборудования Нет
Поддержка Storage vMotion Да Да Да Да
Поддержка Storage DRS Да Да Да Да
Поддержка Storage I/O Control Да, с vSphere 4.1 Да, с vSphere 5.0 Да, с vSphere 4.1 Да, с vSphere 5.0
Поддержка MSCS в ВМ VMware не поддерживает такую конфигурацию, если ВМ хранятся на iSCSI массиве. Если iSCSI LUN подключён напрямую в ВМ, то такая конфигурация поддерживается Microsoft. Нет Да Нет
Сложность настройки Средняя. Необходимо знать FQDN или IP адрес массива. Может быть необходима настройка подключений инициатора со стороны массива. Сразу после обнаружения LUN доступен для форматирования под VMFS или подключения как RDM Низкая. Необходимо знать FQDN или IP адрес массива и точка монтирования. Сразу после обнаружения массив доступен для работы Высокая. Включает в себя зонирование со стороны свитча и маскирование LUN со стороны хоста. Сразу после обнаружения LUN доступен для форматирования под VMFS или подключения как RDM Высокая. Включает в себя зонирование со стороны свитча и маскирование LUN со стороны хоста. Сразу после обнаружения LUN доступен для форматирования под VMFS или подключения как RDM
Преимущества Не требует использования дополнительного оборудования, можно построить используя существующие ресурсы. Хорошо известный и зрелый протокол. Администраторы с небольшими знаниями о сетях смогут без проблем подключить массив. Проблемы решаются использованием стандартных инструментов типа Wireshark Не требует использования дополнительного оборудования, можно построить используя существующие ресурсы. Хорошо известный и зрелый протокол. Администраторы с небольшими знаниями о сетях смогут без проблем подключить массив. Проблемы решаются использованием стандартных инструментов типа Wireshark Хорошо известный и зрелый протокол. Используется в большинстве критически важных инфраструктур Позволяет строить конвергированные сети, консолидируя трафик разных в одной сети, используя CNA. Благодаря использованию протокола DCB (Data Center Bridging ) FCoE является протоколом без потери пакетов не смотря на то, что работает поверх Ethernet.
Недостатки Невозможность маршрутизации при использовании iSCSI Binding.
Возможны проблемы с безопасностью из-за отсутствия встроенных механизмов шифрования, необходимость использовать VLAN.
Software iSCSI инициатор повышает нагрузку на ЦПУ.
TCP повышает задержки
Так как используется только одна сессия на подключение, настройка при использовании multipathing требует аккуратности и внимания. Нету PSA multipathing. Возможны проблемы с безопасностью из-за отсутствия встроенных механизмов шифрования, необходимость использовать VLAN.
VMware все еще использует NFS v3, хотя доступны v4 и v4.1.
NFS повышает нагрузку на ЦПУ.
TCP повышает задержки
Не поддерживается FC 16Gb. Необходимо дополнительное оборудование - свитчи, HBA и т.д. Сложность в поддержке.
Сложность в решении проблем.
Новый протокол, и не такой зрелый, как остальные.
Требует lossless 10Gb Ethernet.
Для маршрутизации используются не механизмы IP, а свой протокол - FIP (FCoE Initialization Protocol). Возможны сложности в решении проблемы из-за использования одного канала для всех видов трафика

В таблицу специально не включён протокол AoE (ATA over Ethernet) из-за своей непопулярности и небольшого количества реализаций.  

пятница, 9 декабря 2011 г.

Вопросы дизайна СХД для vSphere 5 при использовании Storage DRS

В vSphere 5 представлено огромное количество новых функций, множество из которых еще, увы, не освещено. Хотелось бы рассказать о новых функциях, так, или иначе, касающихся вопросов дизайна СХД – Storage DRS и кластера хранилищ.

Storage DRS – механизм, о котором в своё время ходило много слухов. Является развитием технологии Distributed Resource Scheduling, и позволяет мигрировать файлы виртуальных машин между хранилищами, входящими в один кластер для балансировки нагрузки на СХД. Несмотря на то, что Storage DRS позволяет отслеживать производительность ВМ, не нужно путать эту функцию с Storage IO Control (SIOC). Также интегрируется с VASA (VMware vSphere Aware Storage API), о котором ниже.

четверг, 11 августа 2011 г.

Производительность СХД. Часть первая.

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

Сегодня мы поговорим о базовых факторах, определяющих производительность жестких дисков.

четверг, 5 августа 2010 г.

Отказоустойчивое хранилище для vSphere на базе StarWind iSCSI

Ранее я уже писал о том, как сделать дешевое разделяемое хранилище для vSphere на базе Linux. Но что если вы хотите избавиться от единой точки отказа и сделать разделяемое хранилище отказоустойчивым? Можно поднять второй узел с Linux и прикручивать различные пакеты для отказоустойчивости, как например drbd и heartbeat. А можно обратить внимание на коммерческую разработку компании StarWind, и получить решение Enterprise класса.

Кстати, в марте при помощи StarWind iSCSI SAN был поставлен рекорд в 1 000 000 (!) IOPS.

StarWind iSCSI имеет функцию отказоустойчивости, сетевой зеркальный диск, уже давно. Но в этой конфигурации все работает только с главным узлом, и если с ним что-то случится, то простой и переключение вручную неизбежны.

Чтобы такого не случалось, появилась функция HA - непрерывная синхронная репликация данных между узлами и поддержка multipathing.

Итак, вы скачали StarWind iSCSI и что теперь с ним делать? Я расскажу.

среда, 23 июня 2010 г.

StarWind 5.4 beta

StarWind открыла программу бета-тестирования последней версии своего iSCSI таргета, 5.4
Что нового:
  • Добавлено кеширование. Поддерживаются режимы кеширования Write-Through и Write-Back.
  • Добавлен функционал автоматической синхронизации. Когда HA нода становится активной, то в случае включенной опции автосинхронизации она автоматически синхронизует данные дисков со второй НА нодой и приводится в онлайн.
  • Убран лимит на максимальный раздел диска в 2ТБ.
  • При установке в Windows Firewall автоматически добавляется разрешающее правило.

Форма регистрации на бета-тестирование:

Имя: *
E-mail: *  :
Телефон: *
Компания: *
 
   

среда, 16 июня 2010 г.

Red Hat Enterprise Virtualization: Storage Freedom

Возможно вы слышали, что Red Hat пытается вывести свою платформу RHEV на рынок, рассказывая старую сказку про "не будьте зависимы от одного вендора". Президент Red Hat заявил:
"... заказчики не хотят одну платформу. Они хотят две."
Давайте оставим дискуссию на тему нескольких гипервизоров и управления ими на потом, и рассмотрим тему нескольких хранилищ данных. Есть инфраструктуры, где жестким стандартом является единственный тип хранилищ, но в большинстве все же имеет смысл использовать различные хранилища, в зависимости от задачи: Fibre Channel, iSCSI и/или NFS.

пятница, 28 мая 2010 г.

Дешевое разделяемое хранилище для ESX

Для полноценной работы почти всего функционала ESX, кроме непосредственного запуска виртуальных машин, требуется shared storage, разделяемое хранилище. Для HA и VMotion, и того, что с ними связано - DRS, Fault Tolerance.

Но что делать если нет денег на HP EVA, NetApp и даже на Starwind iSCSI? Спасут старые добрые пингвины и старенький, уже слабый, но все еще исправно работающий сервер.

Итак, берем сервер, очень желательно с аппаратным RAID и обязательно с гигабитной сетью, и набиваем его дисками. Программная часть: CentOS, iSCSI Enterprise Target и/или стандартный NFS сервер, идущий в комплекте с CentOS. Я взял дистрибутив, бывший под рукой, CentOS 5.3 32bit.

пятница, 12 марта 2010 г.

Как узнать к какой ВМ подключен vmdk?

Бывают ситуации, когда в большой инфраструктуре после кучи переименований ВМ и миграций по датасторам отдельные vmdk остаются непонятно где. И надо узнать – а этот конкретный vmdk кем-то используется или просто место занимает и можно удалить.
В этом поможет простенький PowerShell скрипт, который покажет все используемые в инфраструктуре диски. Соотв. если vmdk, вызвавшего вопрос, в списке не окажется – он ни к какой машине не подключен.

среда, 24 февраля 2010 г.

ESX 4 и lvm.enableresignature

В ESX 3.5 (и ранее) есть такая Avdanced опция как lvm.enableresignature – разрешение переподписывать существующие VMFS разделы.

А в ESX 4 ее уже нет. Так что же делать?

В vSphere эту опцию вынесли в Add Storage Wizard, VMFS разделы обнаруживаются автоматически и на выбор передлагается:

  • Re-signature volume and keep data.
  • Keep existing signature and mount the volume.
  • Reformat the volume.

вторник, 15 декабря 2009 г.

Производительность дисков в ВМ

Часто спрашивают о производительности дисков, мегабайтах в секунду и так далее. Решил проверить на практике, насколько производительны диски под ВМ, запустил IOMeter для VMDK дисков, лежащих на VMFS разделах на разных доступных мне хранилищах. Теста проводилось 3 - на максимальную скорость линейного чтения и записи блоками по 32 кБ, и полностью случайные чтение/запись в пропорции 50/50 блоками по 4 кб как приближенный к реальности тест. Для последнего теста обратите внимание, что дисковая система полностью загружена по IOPS, поэтому значения скорости в мегабайтах очень просели.

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

ESX 4.0 u1 - HP BL460c G1, 2 * Xeon 5365 3GHz
Fiber Channel - 4 Gbit, без балансировки нагрузки, все по одному пути
iSCSI - ESX software iSCSI, 1 Gbit

Результаты тестов IOMeter. Конфигурация ВМ: 1 vCPU (1 ядро Xeon 5365 3GHz), 768 MB RAM, Windows 2003 32bit. Результаты, разумеется, на EagerZeroedThick дисках, усредненные по 3-5 минут работы теста.

вторник, 3 марта 2009 г.

Особенности "национальной" Live Migration

Прдставители Microsoft на всех конференциях рассказывают про обалденную новую фичу, Live Migration и в связи с ней Cluster Shared Volume (CSV). Говорят, Live Migration будет for free :) В конце 2009.
Самое смешное, что по сути for free оно не будет.

1) На весенней конференции Technet Live Migration Александр Шаповал показывал без всяких CSV, просто выделенный на машину LUN переключился на другой хост. Т.е. модель данных та же, что и была - нарезать LUN'ы на каждую машину десятками.
2) CSV будет поставляться как бесплатное расширение Failover Clustering, входящий в комплект Enterprise (ориентировочная цена 4k$ за хост).

Итого, что мы имеем? Live Migration на выделенных LUN'ах начиная с пары десятков машин уже совершенно нам неинтересен, а CSV требует денег. С другой стороны, у VMware VMFS бесплатно идет с ESXi. А вот VMotion надо покупать.

Сотрудники MS в чем-то правы, да, утверждая, что Live Migration нужен далеко не всем. Но вот самое смешное, что именно CSV нужен значительно большему количеству пользователей.

Каков финансовый итог? Считайте сами. Но не забывайте, что если верить громким рекламным заявлениям о бесплатности - платить придется трижды.

понедельник, 24 ноября 2008 г.

Проблемы переезда VI

Перечень проблем при переезде VI в одной из компаний. Принимал непосредственное участие в решении.

  • После включения VI, луны с VMFS оказались заблокированными.
Выглядит на практике это примерно так:
Nov 14 13:29:43 frasvmhst06 vmkernel: 0:00:03:34.249 cpu4:1045)WARNING: SCSI: 5519: Failing I/O due to too many reservation conflicts
Nov 14 13:29:43 frasvmhst06 vmkernel: 0:00:03:34.249 cpu4:1045)WARNING: SCSI: 5615: status SCSI reservation conflict, rstatus 0xc0de01 for vmhba2:0:0. residual R 919, CR 0, ER 3
Nov 14 13:29:43 frasvmhst06 vmkernel: 0:00:03:39.086 cpu4:1045)FSS: 343: Failed with status 0xbad0022 for f530 28 2 453782fc 6b8bc9e9 1700770d 1d624ca 4 4 1 0 0 0 0 0

Лечение:

[root@esx2 root]# vmkfstools -L lunreset /vmfs/devices/disks/vmhba2:0:0

  • Не штатная проблема. После включения ESX хостов, у меня не оказалось DataStore's. LUN'ы видны, а DataStore нет. А точнее луны пустые.
Лечение описано в предыдущем посте.

Пропал VMFS раздел - что делать?

Бывает, случается непредвиденное. Скажем, глобальный переезд оборудования. Все выключили корректно, все сохранили. Поставили на новом месте, подключили, включаем, а VMFS разделы исчезли. И виртуальных машин соответственно тоже не видно. Хотя все LUN'ы видны.
Причем если начать создавать новый VMFS раздел на этих LUN'ах, будет указано, что они пустые и никакого VMFS там нет (только осторожнее с этим, не нажмите случайно "создать"). Если при переезде не были физически убиты диски и ничего страшного не случилось, то скорее всего немножко слетело разбиение разделов, которое можно быстро и просто поправить.

Уточним ситуацию (все манипуляции производятся с ESX сервера).
Определяем какой именно раздел надо править.

[root@esx2 root]# esxcfg-vmhbadevs
vmhba0:0:0 /dev/cciss/c0d0
vmhba1:0:1 /dev/sda
vmhba1:0:15 /dev/sdb
vmhba1:0:16 /dev/sdc
vmhba1:0:23 /dev/sdd
vmhba1:0:26 /dev/sde
vmhba1:0:27 /dev/sdf

[root@esx2 root]# fdisk /dev/sda

The number of cylinders for this disk is set to 127482.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sda: 1048.5 GB, 1048577048064 bytes
255 heads, 63 sectors/track, 127482 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

Система не видит ни одного раздела, значит ей надо помочь.

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-127482, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-127482, default 127482):
Using default value 127482

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): fb
Changed system type of partition 1 to fb (Unknown)

Command (m for help): x

Expert command (m for help): b
Partition number (1-4): 1
New beginning of data (63-2047998329, default 63): 128

Expert command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

[root@esx2 root]# vmkfstools -V

Теперь проверяем, VMFS раздел должен появиться.

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

P.S. у вас до сих пор не настроены бэкапы?

среда, 9 июля 2008 г.

Легкий iSCSI для ESX

Обнаружил, что в iSCSI Enterprise Target (ietd) наконец пофиксили проблему с монопольным доступом к таргету. Коротко - если к таргету кто-то уже подключился, то его даже было не видно остальным, не говоря уже о совместном использовании. Зачем это нужно? Коротко: для кластеров.
Конкретно сейчас поставил ietd 0.4.16, работает совместный доступ как минимум с 3х хостов. 

Дешевое решение для shared storage для, например, VMware ESX, если не хочется работать по nfs по какой-то причине. Опять же, для raw device mapping для виртуальной машины требуется в кластере ESX'ов.

На RHEL5 встало легко и беспроблемно, конфигурация заняла 1 минуту.

#make
#make install


#cat /etc/ietd.conf 

Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
Lun 0 Path=/dev/sdb,Type=blockio


# service iscsi-target restart