{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "SOREX.ORG: заметки с тегом ssd",
    "_rss_description": "Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/sorex.org\/?go=tags\/ssd\/",
    "feed_url": "https:\/\/sorex.org\/?go=tags%2Fssd%2Fjson%2F",
    "icon": "https:\/\/sorex.org\/user\/userpic@2x.jpg?1618299116",
    "author": {
        "name": "sorex",
        "url": "https:\/\/sorex.org\/",
        "avatar": "https:\/\/sorex.org\/user\/userpic@2x.jpg?1618299116"
    },
    "items": [
        {
            "id": "31",
            "url": "https:\/\/sorex.org\/?go=all\/uskorenie-domashnego-esxi-6-5-s-pomoschyu-ssd-keshirovaniya\/",
            "title": "Ускорение домашнего ESXi 6.5 с помощью SSD кэширования",
            "content_html": "<p>В данной статье хочу рассказать о том, как немного повысить производительность хоста ESXi с помощью SSD кэширования. На работе и дома я использую продукты от компании VMware, домашняя лаборатория построена на базе Free ESXi 6.5. На хосте запущены виртуальные машины как для домашней инфраструктуры, так и для тестирования некоторых рабочих проектов (как-то мне пришлось запустить на нем инфраструктуру VDI). Постепенно приложения толстых ВМ начали упираться в производительность дисковой системы, а на SDD все не помещалось. В качестве решения был выбран lvmcache. Логическая схема выглядит так:<\/p>\n<p><img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/43dcd8404153459b88245157adecff23.png\"><br \/>\n<a name=\"habracut\"><\/a><br \/>\nОсновой всей схемы является ВМ svm на базе CentOS 7. Ей презентованы HDD диски средствами RDM и небольшой диск VMDK с датастора SSD. Кэширование и зеркалирование данных реализуются программными средствами — mdadm и lvmcache. Дисковое пространство ВМ монтируется к хосту как NFS датастор. Часть датастора SSD отведена ВМ, которым требуется производительная дисковая подсистема.<\/p>\n<p>Вычислительный узел собран на десктопном железе:<\/p>\n<p>MB: Gygabyte GA-Z68MX-UD2H-B3 (rev. 1.0)<br \/>\nHDD: 2 x Seagate Barracuda 750Gb, 7200 rpm<br \/>\nSSH: OCZ Vertex 3 240Gb<\/p>\n<p>На материнской плате имеется 2 RAID контроллера:<\/p>\n<p>— Intel Z68 SATA Controller<br \/>\n— Marvell 88SE9172 SATA Controller<\/p>\n<p>Завести 88SE9172 в ESXi у меня не получилось (There is a bug in the firmware of some Marvell adapters (at least 88SE91xx)), решил оставить оба контроллера в режиме ACHI.<br \/>\n<h3>RDM<\/h3><br \/>\nТехнология RDM (Raw Device Mapping) позволяет виртуальной машине обращаться напрямую к физическому накопителю. Связь обеспечивается через специальные файлы «mapping file» на отдельном томе VMFS. RDM использует два режима совместимости:<\/p>\n<p>— Виртуальный режим — работает так же, как и в случае с файлом виртуального диска, позволяет использовать преимущества виртуального диска в VMFS (механизм блокировки файлов, мгновенные снэпшоты);<br \/>\n— Физический режим — предоставляет прямой доступ к устройству для приложений, которые требуют более низкого уровня управления.<\/p>\n<p>В виртуальном режиме на физическое устройство отправляются операции чтения\\записи. RDM устройство представлено в гостевой ОС как файл виртуального диска, аппаратные характеристики скрыты.<\/p>\n<p>В физическом режиме на устройство передаются практически все команды SCSI, в гостевой ОС устройство представлено как реальное.<\/p>\n<p>Подключив дисковые накопители к ВМ средствами RDM, можно избавиться от прослойки VMFS, а в физическом режиме совместимости их состояние можно будет мониторить в ВМ (с помощью технологии S.M.A.R.T.). К тому же, если что-то случится с хостом, то получить доступ к ВМ можно, примонтировав HDD к рабочей системе.<br \/>\n<h3>lvmcache<\/h3><br \/>\nlvmcache обеспечивает прозрачное кэширование данных медленных устройств HDD на быстрых устройствах SSD. LVM cache размещает наиболее часто используемые блоки на быстром устройстве. Включение и выключение кэширования можно производить, не прерывая работы.<br \/>\n<img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/a33b409992774c1394ada486e786ad8c.png\"><\/p>\n<p>При попытке чтения данных выясняется, имеются ли эти данные в кэше. Если требуемых данных там нет, то чтение происходит с HDD, и попутно данные записываются в кэш (cache miss). Дальнейшее чтение данных будет происходить из кэша (cache hit).<br \/>\n<h4>Запись<\/h4><br \/>\n— Режим write-through — когда происходит операция записи, данные записываются и в кэш, и на HDD диск, более безопасный вариант, вероятность потери данных при аварии мала;<br \/>\n— Режим write-back — когда происходит операция записи, данные записываются сначала в кэш, после чего сбрасываются на диск, имеется вероятность потери данных при аварии. (Более быстрый вариант, т. к. сигнал о завершении операции записи передается управляющей ОС после получения данных кэшем).<\/p>\n<p>Так выглядит сброс данных из кэша (write-back) на диски:<\/p>\n<p><a href=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/8afaf19610324d5782d6793a6dad233e.png\"><img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/8afaf19610324d5782d6793a6dad233e.png\"><\/a><br \/>\n<h3>Настройка системы<\/h3><br \/>\nНа хосте создается SSD датастор. Я выбрал такую схему использования доступного пространства:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">220Gb — DATASTORE_SSD\r\n149Gb — Отведено для особых ВМ\r\n61Gb — Том для кэша и метаданных\r\n10Gb — Host Swap Cache<\/code><\/pre><p>Виртуальная сеть выглядит следующим образом:<\/p>\n<p><img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/ed6f52cca8bc4ee99e26703217e9d0a7.png\"><\/p>\n<p>Создан новый vSwitch:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Networking → Virtual Switches → Add standart virtual switch — указываем желаемое имя виртуального свитча (svm_vSwitch, в названиях я использую префикс svm_), остальное оставляем как есть.<\/code><\/pre><p>К нему через порт группу подключается VMkernel NIC:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Networking → VMkernel NICs → Add VMkernel NIC\r\n— Port group — New Port group\r\n— New port group — Имя порт группы — svm_PG\r\n— Virtual switch — svm_vSwitch\r\n— IPv4 settings — Configuration — Static — указываем IP и маску сети<\/code><\/pre><p>Создана порт группа, к которой будет подключена ВМ svm:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Networking → Port Groups → Add port group — указываем имя (svm_Network) и свитч svm_vSwitch<\/code><\/pre><p><h4>Подготовка дисков<\/h4><br \/>\nНеобходимо зайти на хост по ssh и выполнить следующие команды:<\/p>\n<pre class=\"lang:default decode:true \">Отобразить пути всех подключенных дисков:\r\n\t# ls -lh \/vmfs\/devices\/disks\/\r\nlrwxrwxrwx    1 root     root          72 Feb 22 20:24 vml.01000000002020202020202020202020203956504257434845535433373530 -&gt; t10.ATA_____ST3750525AS_________________________________________9*E\r\nlrwxrwxrwx    1 root     root          72 Feb 22 20:24 vml.01000000002020202020202020202020203956504257434b46535433373530 -&gt; t10.ATA_____ST3750525AS_________________________________________9*F\r\n\r\nПерейти в директорию, где будут размещаться «mapping file»:\r\n\t# cd \/vmfs\/volumes\/DATASTORE_SSD\/\r\n\r\nСоздаем RDM в режиме виртуальной совместимости:\r\n\t# vmkfstools -r \/vmfs\/devices\/disks\/vml.01000000002020202020202020202020203956504257434845535433373530 9*E.vmdk\r\n\t# vmkfstools -r \/vmfs\/devices\/disks\/vml.01000000002020202020202020202020203956504257434b46535433373530 9*F.vmdk\r\n<\/pre>\n<p> <br \/>\n<h4>Подготовка ВМ<\/h4><br \/>\nТеперь эти диски можно подключить (Existing hard disk) к новой ВМ. Шаблон CentOS 7, 1vCPU, 1024Gb RAM, 2 RDM disk, 61Gb ssd disk, 2 vNIC (порт группы VM Network, svm_Network) — во время установки ОС используем Device Type — LVM, RAID Level — RAID1<\/p>\n<p>Настройка NFS сервера довольно проста:<\/p>\n<pre class=\"lang:default decode:true \"># yum install nfs-utils\r\n# systemctl enable rpcbind\r\n# systemctl enable nfs-server\r\n# systemctl start rpcbind\r\n# systemctl start nfs-server\r\n# vi \/etc\/exports\r\n\t\/data 10.0.0.1(rw,sync,no_root_squash,no_subtree_check)\r\n# exportfs -ar\r\n# firewall-cmd <s>add-service=nfs <\/s>permanent\r\n# firewall-cmd <s>add-service=rpc-bind <\/s>permanent\r\n# firewall-cmd <s>add-service=mountd <\/s>permanent\r\n# firewall-cmd —reload<\/pre>\n<p> <\/p>\n<p>Подготавливаем тома кэша и метаданных для включения кэширования тома cl_svm\/data:<\/p>\n<pre class=\"lang:default decode:true \">Инициализация диска и расширение группы томов:\r\n\t# pvcreate \/dev\/sdc\r\n\t# vgextend cl_svm \/dev\/sdc\r\nСоздание тома с метаданными, в «man» написано, что этот том должен быть в 1000 раз меньше тома с кэшем:\r\n\t# lvcreate -L 60M -n meta cl_svm \/dev\/sdc\r\nСоздание тома с кэшем:\r\n\t# lvcreate -L 58,9G -n cache cl_svm \/dev\/sdc\r\nСоздание кэш-пула из томов:\r\n\t# lvconvert <s>type cache-pool <\/s>cachemode writethrough —poolmetadata cl_svm\/meta cl_svm\/cache\r\nСвязываем подготовленный кэш-пул с томом данных:\r\n\t# lvconvert <s>type cache <\/s>cachepool cl_svm\/cache cl_svm\/data \r\nСтатистику можно посмотреть в выводе:\r\n\t# lvs -o cache_read_hits,cache_read_misses,cache_write_hits,cache_write_misses\r\nCacheReadHits    CacheReadMisses  CacheWriteHits   CacheWriteMisses\r\n            421076           282076           800554          1043571<\/pre>\n<p> <\/p>\n<p>Уведомления о изменении состояния массива:<\/p>\n<p>В конце файла \/etc\/mdadm.conf нужно добавить параметры, содержащие адрес, на который будут отправляться сообщения в случае проблем с массивом, и, если необходимо, указать адрес отправителя:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">MAILADDR alert@domain.ru\r\nMAILFROM svm@domain.ru<\/code><\/pre><p>Чтобы изменения вступили в силу, нужно перезапустить службу mdmonitor:<\/p>\n<pre class=\"lang:default decode:true \">#systemctl restart mdmonitor<\/pre>\n<p> <\/p>\n<p>Почта с ВМ отправляется средствами ssmtp. Так как я использую RDM в режиме виртуальной совместимости, то проверять состояние дисков будет сам хост.<\/p>\n<p><b>Подготовка хоста<\/b><\/p>\n<p>Добавляем NFS датастор в ESXi:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Storage → Datastores → New Datastore → Mount NFS Datastore\r\nName: DATASTORE_NFS\r\nNFS server: 10.0.0.2\r\nNFS share: \/data<\/code><\/pre><p>Настройка автозапуска ВМ:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Host → Manage → System → Autostart → Edit Settings\r\nEnabled — Yes\r\nStart delay — 180sec\r\nStop delay — 120sec\r\nStop action — Shut down\r\nWait for heartbeat — No<\/code><\/pre><p>Virtual Machines → svm → Autostart → Increase Priority<br \/>\n(Автозапуск не сработал, пришлось удалить ВМ из Inventory и добавить заново)<\/p>\n<p>Данная политика позволит ВМ svm запуститься первой, гипервизор примонтирует NFS датастор, после этого будут включаться остальные машины. Выключение происходит в обратном порядке. Время задержки запуска ВМ подобрано по итогам краш-теста, т. к. при малом значении Start delay NFS датастор не успевал примонтироваться, и хост пытался запустить ВМ, которые еще недоступны. Также можно поиграться параметром<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">NFS.HeartbeatFrequency<\/code><\/pre><p>.<\/p>\n<p>Более гибко автостарт ВМ можно настроить с помощью командной строки:<\/p>\n<pre class=\"lang:default decode:true \">Посмотреть параметры автозапуска для ВМ:\r\n\t# vim-cmd hostsvc\/autostartmanager\/get_autostartseq\r\nИзменить значения автостарта для ВМ (синтаксис):\r\n\t# update_autostartentry VMId StartAction StartDelay StartOrder StopAction StopDelay WaitForHeartbeat\r\nПример:\r\n\t# vim-cmd hostsvc\/autostartmanager\/update_autostartentry 3 «powerOn» «120» «1» «guestShutdown» «60» «systemDefault»<\/pre>\n<p> <\/p>\n<p><b>Небольшая оптимизация<\/b><\/p>\n<p>Включить Jumbo Frames на хосте:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">Jumbo Frames: Networking → Virtual Switches → svm_vSwitch указать MTU 9000;\r\nNetworking → Vmkernel NICs → vmk1 указать MTU 9000<\/code><\/pre><p>В Advanced Settings установить следующие значения:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">NFS.HeartbeatFrequency = 12\r\nNFS.HeartbeatTimeout = 5\r\nNFS.HeartbeatMaxFailures = 10\r\nNet.TcpipHeapSize = 32 (было 0)\r\nNet.TcpipHeapMax = 512\r\nNFS.MaxVolumes = 256\r\nNFS.MaxQueueDepth = 64 (было 4294967295)<\/code><\/pre><p>Включить Jumbo Frames на ВМ svm:<\/p>\n<pre class=\"lang:default decode:true \"># ifconfig ens224 mtu 9000 up\r\n# echo MTU=9000 &gt;&gt; \/etc\/sysconfig\/network-scripts\/ifcfg-ens224<\/pre>\n<p> <\/p>\n<p> <br \/>\n<h3>Производительность<\/h3><br \/>\nПроизводительность измерялась синтетическим тестом (для сравнения, я снял показания с кластера на работе (в ночное время)).<\/p>\n<p>Используемое ПО на тестовой ВМ:<\/p>\n<p>— ОС CentOS 7.3.1611 (8 vCPU, 12Gb vRAM, 100Gb vHDD)<br \/>\n— fio v2.2.8<\/p>\n<pre class=\"lang:default decode:true \">Последовательность команд запуска теста:\r\n\t# dd if=\/dev\/zero of=\/dev\/sdb bs=2M oflag=direct\r\n\t# fio -readonly -name=rr -rw=randread -bs=4k -runtime=300 -iodepth=1 -filename=\/dev\/sdb -ioengine=libaio -direct=1\r\n\t# fio -readonly -name=rr -rw=randread -bs=4k -runtime=300 -iodepth=24 -filename=\/dev\/sdb -ioengine=libaio -direct=1\r\n\t# fio  -name=rw -rw=randwrite -bs=4k -runtime=300 -iodepth=1 -filename=\/dev\/sdb -ioengine=libaio -direct=1\r\n\t# fio -name=rw -rw=randwrite -bs=4k -runtime=300 -iodepth=24 -filename=\/dev\/sdb -ioengine=libaio -direct=1<\/pre>\n<p> <\/p>\n<p>Полученные результаты представлены в таблицах (* во время тестов отмечал среднюю загрузку ЦП на ВМ svm):<\/p>\n<table><caption><p>VMFS6 Datastore<\/p>\n<\/caption><tbody><tr><th rowspan=\"2\"><p>Тип диска<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 1 (iops)<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 24 (iops)<\/p>\n<\/th><\/tr><tr><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><\/tr><tr><td><p>HDD<\/p>\n<\/td><td><p>77<\/p>\n<\/td><td><p>99<\/p>\n<\/td><td><p>169<\/p>\n<\/td><td><p>100<\/p>\n<\/td><\/tr><tr><td><p>SSD<\/p>\n<\/td><td><p>5639<\/p>\n<\/td><td><p>17039<\/p>\n<\/td><td><p>40868<\/p>\n<\/td><td><p>53670<\/p>\n<\/td><\/tr><\/tbody><\/table><p> <\/p>\n<table><caption><p>NFS Datastore<\/p>\n<\/caption><tbody><tr><th rowspan=\"2\"><p>SSD Cache<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 1 (iops)<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 24 (iops)<\/p>\n<\/th><th rowspan=\"2\"><p>CPU\/Ready* %<\/p>\n<\/th><\/tr><tr><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><\/tr><tr><td><p>Off<\/p>\n<\/td><td><p>103<\/p>\n<\/td><td><p>97<\/p>\n<\/td><td><p>279<\/p>\n<\/td><td><p>102<\/p>\n<\/td><td><p>2.7\/0.15<\/p>\n<\/td><\/tr><tr><td><p>On<\/p>\n<\/td><td><p>1390<\/p>\n<\/td><td><p>722<\/p>\n<\/td><td><p>6474<\/p>\n<\/td><td><p>576<\/p>\n<\/td><td><p>15\/0.1<\/p>\n<\/td><\/tr><\/tbody><\/table><p> <\/p>\n<table><caption><p>Рабочий кластер<\/p>\n<\/caption><tbody><tr><th rowspan=\"2\"><p>Тип диска<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 1 (iops)<\/p>\n<\/th><th colspan=\"2\"><p>FIO depth 24 (iops)<\/p>\n<\/th><\/tr><tr><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><td><p>randread<\/p>\n<\/td><td><p>randwrite<\/p>\n<\/td><\/tr><tr><td><p>900Gb 10k (6D+2P)<\/p>\n<\/td><td><p>122<\/p>\n<\/td><td><p>1085<\/p>\n<\/td><td><p>2114<\/p>\n<\/td><td><p>1107<\/p>\n<\/td><\/tr><tr><td><p>4Tb 7.2k (8D+2P)<\/p>\n<\/td><td><p>68<\/p>\n<\/td><td><p>489<\/p>\n<\/td><td><p>1643<\/p>\n<\/td><td><p>480<\/p>\n<\/td><\/tr><\/tbody><\/table><p>Результаты, которые можно потрогать руками, получились при одновременном запуске пяти ВМ с Windows 7 и офисным пакетом (MS Office 2013 Pro + Visio + Project) в автозагрузке. По мере нагревания кэша, ВМ грузились быстрее, при этом HDD практически не участвовал в загрузке. При каждом запуске отмечал время полной загрузки одной из пяти ВМ и полной загрузки всех ВМ.<\/p>\n<table><caption><p>Одновременный запуск пяти ВМ<\/p>\n<\/caption><tbody><tr><th rowspan=\"2\"><p>№<\/p>\n<\/th><th rowspan=\"2\"><p>Datastore<\/p>\n<\/th><th colspan=\"2\"><p>Первый запуск<\/p>\n<\/th><th colspan=\"2\"><p>Второй запуск<\/p>\n<\/th><th colspan=\"2\"><p>Третий запуск<\/p>\n<\/th><\/tr><tr><td><p>Время загрузки первой ВМ<\/p>\n<\/td><td><p>Время загрузки всех ВМ<\/p>\n<\/td><td><p>Время загрузки первой ВМ<\/p>\n<\/td><td><p>Время загрузки всех ВМ<\/p>\n<\/td><td><p>Время загрузки первой ВМ<\/p>\n<\/td><td><p>Время загрузки всех ВМ<\/p>\n<\/td><\/tr><tr><td><p>1<\/p>\n<\/td><td><p>HDD VMFS6<\/p>\n<\/td><td><p>4мин. 8сек.<\/p>\n<\/td><td><p>6мин. 28сек.<\/p>\n<\/td><td><p>3мин. 56сек.<\/p>\n<\/td><td><p>6мин. 23сек.<\/p>\n<\/td><td><p>3мин. 40сек.<\/p>\n<\/td><td><p>5мин. 50сек.<\/p>\n<\/td><\/tr><tr><td><p>2<\/p>\n<\/td><td><p>NFS (SSD Cache Off)<\/p>\n<\/td><td><p>2мин. 20сек.<\/p>\n<\/td><td><p>3мин. 2сек.<\/p>\n<\/td><td><p>2мин. 34сек.<\/p>\n<\/td><td><p>3мин. 2сек.<\/p>\n<\/td><td><p>2мин. 34сек.<\/p>\n<\/td><td><p>2мин. 57сек.<\/p>\n<\/td><\/tr><tr><td><p>3<\/p>\n<\/td><td><p>NFS (SSD Cache On)<\/p>\n<\/td><td><p>2мин. 33сек.<\/p>\n<\/td><td><p>2мин. 50сек.<\/p>\n<\/td><td><p>1мин. 23сек.<\/p>\n<\/td><td><p>1мин. 51сек.<\/p>\n<\/td><td><p>1мин. 0сек.<\/p>\n<\/td><td><p>1мин. 13сек.<\/p>\n<\/td><\/tr><\/tbody><\/table><p>Время загрузки одиночной ВМ составило:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">— HDD VMFS6 - 50 секунд\r\n— NFS с выключенным кэшем - 35 секунд\r\n— NFS с включенным и нагретым кэшем - 26 секунд<\/code><\/pre><p>В виде графика:<\/p>\n<p><img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/1aa93ba6aa9b4f1faa647f98f54cc78c.png\"><br \/>\n<h3>Краш-тест<\/h3><br \/>\n <br \/>\n<h4>Отключение питания<\/h4><br \/>\nПосле включения и загрузки хоста ВМ svm загрузилась с проверкой ФС (данные остались в кэше), на хосте примонтировался NFS датастор, далее загрузились остальные ВМ, проблем и потери данных не наблюдалось.<br \/>\n<h4>Выход из строя HDD (имитация)<\/h4><br \/>\nРешил отключить питание SATA диска. К сожалению, горячая замена не поддерживается, необходимо аварийно выключать хост. Сразу после отключения диска появляется информация в Events.<\/p>\n<p><a href=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/7fed74af695d4c32a31c63f2e357fb75.png\"><img src=\"https:\/\/sorex.org\/wp-content\/uploads\/2017\/03\/7fed74af695d4c32a31c63f2e357fb75.png\"><\/a><\/p>\n<p>Неприятным моментом оказалось, что при потере диска гипервизор просит для ВМ svm ответить на вопрос — «You may be able to hot remove this virtual device from the virtual machine and continue after clicking Retry. Click Cancel to terminate this session» — машина находится в состоянии фриза.<\/p>\n<p>Если представить, что с диском была временная, незначительная проблема (например, причина в шлейфе), то после устранения проблемы и включения хоста все загружается в штатном режиме.<br \/>\n<h4>Выход из строя SSD<\/h4><br \/>\nНаиболее неприятная ситуация — выход ssd из строя. Доступ к данным осуществляется в аварийном режиме. При замене ssd необходимо повторить процедуру настройки системы.<br \/>\n<h3>Обслуживание (Замена диска)<\/h3><br \/>\nЕсли с диском вот-вот случится беда (по результатам S.M.A.R.T.), для того чтобы заменить его на рабочий необходимо выполнить следующую процедуру (на ВМ svm):<\/p>\n<pre class=\"lang:default decode:true \">Посмотреть общее состояние массива: \r\n\t# cat \/proc\/mdstat \r\nили для каждого устройства: \r\n\t# mdadm —detail \/dev\/md126 \/dev\/md126\r\nПометить разделы неисправными:\r\n\t# mdadm <s>manage \/dev\/md127 <\/s>fail \/dev\/sda1 \r\n\t# mdadm <s>manage \/dev\/md126 <\/s>fail \/dev\/sda2\r\nУдалить сбойные разделы из массива:\r\n\t# mdadm <s>manage \/dev\/md127 <\/s>remove \/dev\/sda1\r\n\t# mdadm <s>manage \/dev\/md126 <\/s>remove \/dev\/sda2<\/pre>\n<p> <\/p>\n<p>В настройках ВМ нужно «оторвать» погибающий vHDD, затем заменить HDD на новый.<br \/>\nПосле чего подготовить RDM накопитель и добавить к ВМ svm:<\/p>\n<pre class=\"lang:default decode:true \">Перечитать список устройств, где X — номер SCSI шины Virtual Device Node в настройках vHDD:\r\n\t# echo «- — -» &gt; \/sys\/class\/scsi_host\/hostX\/scan\r\nС помощью sfdisk скопировать структуру разделов:\r\n\t# sfdisk -d \/dev\/sdb | sfdisk \/dev\/sdc\r\nДобавить получившиеся разделы в массив, установить загрузчик и дождаться окончания синхронизации:\r\n\t# mdadm <s>manage \/dev\/md127 <\/s>add \/dev\/sdc1\r\n\t# mdadm <s>manage \/dev\/md126 <\/s>add \/dev\/sdc2\r\n\t# grub2-install \/dev\/sdc<\/pre>\n<p> <\/p>\n<p> <br \/>\n<h3>Аварийный доступ к данным<\/h3><br \/>\nОдин из дисков подключается к рабочей станции, далее необходимо «собрать» RAID, отключить кэш и получить доступ к данным, примонтировав LVM том:<\/p>\n<pre class=\"lang:default decode:true \"># mdadm <s>assemble <\/s>scan\r\n# lvremove cl_svm\/cache \r\n# lvchanange -ay \/dev\/cl_svm\/data\r\n# mount \/dev\/cl_svm\/data \/mnt\/data<\/pre>\n<p> <\/p>\n<p>Также я пробовал загрузить систему непосредственно с диска, настроил сеть и на другом хосте подключил NFS датастор — ВМ доступны.<br \/>\n<h3>Резюме<\/h3><br \/>\nВ итоге, я использую lvmcache в режиме write-through и раздел для кэша размером 60Gb. Немного пожертвовав ресурсами CPU и RAM хоста — вместо 210Gb очень быстрого и 1.3Tb медленного дискового пространства я получил 680Gb быстрого и 158Gb очень быстрого, при этом появилась отказоустойчивость (но при неожиданном выходе из строя диска придется поучаствовать в процессе доступа к данным).<\/p>\n",
            "date_published": "2021-04-13T10:00:03+00:00",
            "date_modified": "2021-04-13T09:59:54+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 10:00:03 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "31",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "13",
            "url": "https:\/\/sorex.org\/?go=all\/uskorenie-datastorov-hp-v-esxi-5-5\/",
            "title": "Ускорение датасторов HP в esxi 5.5",
            "content_html": "<!-- wp:paragraph --><p><strong><em>Установлено: VMware-ESXi-5.5.0-Update3-3568722-HPE-550.9.6.5.9-Dec2016.iso<\/em><\/strong><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><strong><em>Версия драйвера дисков: — <\/em>scsi-hpvsa-5.5.0.100-1OEM.550.0.0.1331820<\/strong><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Как выяснилось, HP что-то испортили в драйвере дисковой подсистемы для ESXi 5.5 и работа с дисками стала … скажем так, не очень эффективной. Более того, как выяснилось позже, такая же проблема существует и в гипервизорах ESXi 6.0\/6.5 от HPE.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Насколько не эффективно? Результаты замеров в статье. Сразу скажу — оглушающие.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Пообщавшись со знакомыми и покопав Интернет было выяснено, что всему виной и правда, драйвер, который HPE включила в свой кастомный образ с установщиком гипервизора ESXi 5.5 и более поздних версий.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Но, решение этой проблемы есть. Совместными усилиями Интернет-сообщества (<a href=\"https:\/\/homeservershow.com)\">https:\/\/homeservershow.com)<\/a> был найден драйвер, который реально ускоряет работу с дисками в HP Microserver Gen8.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><strong><em>Версия драйвера: <\/em>scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820<\/strong><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Сам драйвер можно легально, бесплатно и без регистрации, скачать c сайта HPE:<br><a href=\"https:\/\/support.hpe.com\/hpsc\/swd\/public\/detail?swItemId=MTX_bfdbb1dfc5314e02bc01b1436b\"><a href=\"https:\/\/support.hpe.com\/hpsc\/swd\/\">https:\/\/support.hpe.com\/hpsc\/swd\/<\/a>…b1dfc5314e02bc01b1436b<\/a><br>Type: Driver — Storage Controller<br>Version: 5.5.0-88.0(9 Sep 2014)<br>Operating System(s): VMware vSphere 5.5<br>File name: scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib (707 KB)<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Осталось его установить. Как это сделать, описано ниже.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>В первую очередь проверяем версию установленного драйвера и, если отличается, то заменяем на правильный.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>А) Заходим в консоль ESXi хоста через PuTTY под именем root и запускаем команду<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><pre class=\"e2-text-code\"><code class=\"\">esxcli software vib list | grep scsi<\/code><\/pre><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Вот, что было у меня до смены драйвера<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><pre class=\"e2-text-code\"><code class=\"\">~ # esxcli software vib list | grep scsi<\/code><\/pre><br><em>scsi-hpsa 5.5.0.124-1OEM.550.0.0.1331820 HPE VMwareCertified 2018-04-10<\/em><br><em>scsi-hpdsa 5.5.0.52-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10<\/em><br><em><strong>scsi-hpvsa 5.5.0.100-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10<\/strong><\/em><br><em>scsi-mpt2sas 15.10.06.00.1vmw-1OEM.550.0.0.1198610 LSI VMwareCertified 2018-04-10<\/em><br><em>scsi-bfa 3.2.6.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-bnx2fc 1.713.20.v55.4-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-bnx2i 2.713.10.v55.3-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-qla4xxx 644.55.37.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><\/p>\n<!-- \/wp:paragraph --><!-- wp:image {\"id\":7785} --><p><figure class=\"wp-block-image\"><img src=\"http:\/\/winitpro.ru\/wp-content\/uploads\/2018\/04\/scsi-hpvsa-5-5-0-100-1oem-550-0-0-133182.png\" alt=\"scsi-hpvsa 5.5.0.100-1OEM.550.0.0.1331820 Hewlett-Packard \" class=\"wp-image-7785\"\/><\/figure><\/p>\n<!-- \/wp:image --><!-- wp:paragraph --><p>То есть. Не тот. Почему? А вот, что показал тест производительности. Не то чтобы тест, но из приведенных команд видно, что тестируется.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Выполняем следующие команды из консоли ESXI:<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><pre class=\"e2-text-code\"><code class=\"\">cd \/vmfs\/volumes\/[datastore]&lt;br&gt;time dd if=\/dev\/zero of=tempfile bs=8k count=1000000<\/code><\/pre><\/p>\n<!-- \/wp:paragraph --><!-- wp:image {\"id\":7786} --><p><figure class=\"wp-block-image\"><img src=\"http:\/\/winitpro.ru\/wp-content\/uploads\/2018\/04\/esxi-testiruem-skorost-zapisi-na-disk.png\" alt=\"esxi тестируем скорость записи на диск\" class=\"wp-image-7786\"\/><\/figure><\/p>\n<!-- \/wp:image --><!-- wp:paragraph --><p><strong>Примечание<\/strong>: Не забудьте поменять [datastore] на имя вашего реального DataStore.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Получаем результат:<br><em>1000000+0 records in<\/em><br><em>1000000+0 records out<\/em><br><strong><em>real 14m 12.62s<\/em><\/strong><br><strong><em>user 0m 12.23s<\/em><\/strong><br><em>sys 0m 0.00s<\/em><br><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Вроде бы не плохо, да?<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Для сравнения, в той же конфигурации, но с установленным, ESXi 5.1U3 получаем примерно следующее:<br><em>1000000+0 records in<\/em><br><em>1000000+0 records out<\/em><br><strong><em>real 17m 25.62s<\/em><\/strong><br><strong><em>user 0m 7.23s<\/em><\/strong><br><em>sys 0m 0.00s<\/em><br><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>То есть, налицо видимое улучшение по сравнению с предыдущей версией гипервизора. Но, вам придется поверить мне на слово, а потом посмотреть на совсем другой результат. Дочитайте до конца.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Итак, приступаем к смене драйвера.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Процедура достаточно простая. Предполагается, что нужный драйвер Вы уже скачали с сайта HP, по приведенный ранее ссылке.<\/p>\n<!-- \/wp:paragraph --><!-- wp:list {\"ordered\":true} --><ol><li>Останавливаем все запущенные VMs<\/li><li>Если не включено, включаем ssh<\/li><li>Копируем файл «scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib» to \/tmp (например, с помощью WinSCP)<\/li><li>Подключаемся к консоли гипервизора ESXi с помощью PuTTY (с правами root, естественно)<\/li><li>Меняем текущую папку на ту, куда положили файл, то есть на папку \/tmp<br><pre class=\"e2-text-code\"><code class=\"\">cd \/tmp<\/code><\/pre><p><\/li><\/p>\n<li>Копируем vib-файл в папку из которой он будет инсталлирован<br><pre class=\"e2-text-code\"><code class=\"\">cp scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib \/var\/log\/vmware\/<\/code><\/pre><p><\/li><\/p>\n<li>Переводим гипервизор в Maintenance Mode<br><pre class=\"e2-text-code\"><code class=\"\">esxcli system maintenanceMode set --enable true<\/code><\/pre><p><\/li><\/p>\n<li>Удаляем текущий драйвер дисковой подсистемы<br><pre class=\"e2-text-code\"><code class=\"\">esxcli software vib remove -n scsi-hpvsa -f<\/code><\/pre><p><\/li><\/p>\n<li>Инсталлируем правильный драйвер scsi-hpvsa-5.5.0-88OEM из файла<pre class=\"e2-text-code\"><code class=\"\">esxcli software vib install -v file:scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820.x86_64.vib --force --no-sig-check --maintenance-mode<\/code><\/pre><\/li><li>Перезапускаем ESXi, отключаем Maintenance Mode, запрещаем ssh (если нужно) и запускаем свои виртуальные машинки.<\/li><\/ol>\n<!-- \/wp:list --><!-- wp:paragraph --><p><strong>Примечание<\/strong>: Отключить Maintenace Mode можно из клиента или из консоли, командой:<br><pre class=\"e2-text-code\"><code class=\"\">esxcli system maintenanceMode set --enable false<\/code><\/pre><p><br><\/p><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Все просто? Да, просто.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Но ведь всегда хочется убедиться, что автор не наврал.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Проверяем, что версия драйвера изменилась.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><pre class=\"e2-text-code\"><code class=\"\">esxcli software vib list | grep scsi<\/code><\/pre><br><em>scsi-hpsa 5.5.0.124-1OEM.550.0.0.1331820 HPE VMwareCertified 2018-04-10<\/em><br><em>scsi-hpdsa 5.5.0.52-1OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10<\/em><br><em><strong>scsi-hpvsa 5.5.0-88OEM.550.0.0.1331820 Hewlett-Packard PartnerSupported 2018-04-10<\/strong><\/em><br><em>scsi-mpt2sas 15.10.06.00.1vmw-1OEM.550.0.0.1198610 LSI VMwareCertified 2018-04-10<\/em><br><em>scsi-bfa 3.2.6.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-bnx2fc 1.713.20.v55.4-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-bnx2i 2.713.10.v55.3-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><em>scsi-qla4xxx 644.55.37.0-1OEM.550.0.0.1331820 QLogic VMwareCertified 2018-04-10<\/em><br><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>Да. Изменилась на правильную.<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>А скорость? Не обманули? Проверяем! Что я и сам сделал. Запустил, повторно, тест производительности. Результат меня, мягко говоря, ошеломил<\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><pre class=\"e2-text-code\"><code class=\"\">cd \/vmfs\/volumes\/[datastore]&lt;br&gt;time dd if=\/dev\/zero of=tempfile bs=8k count=1000000<\/code><\/pre><br><em>1000000+0 records in<\/em><br><em>1000000+0 records out<\/em><br><strong><em>real 2m 6.73s<\/em><\/strong><br><strong><em>user 0m 5.21s<\/em><\/strong><br><em>sys 0m 0.00s<\/em><br><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p><strong>Это в СЕМЬ раз быстрее, чем с предыдущим драйвером и почти в 9 раз быстрее чем на ESXI 5.1U3<\/strong><\/p>\n<!-- \/wp:paragraph --><!-- wp:paragraph --><p>На форуме пользователи подтвердили, что примерно такой же, не правильный, драйвер устанавливается и при инсталляции ESXi 6.0 и 6.5. И замена его на версию scsi-hpvsa-5.5.0-88OEM.550.0.0.1331820 приводит к такому же ускорению работы дисковой подсистемы.<\/p>\n<!-- \/wp:paragraph -->",
            "date_published": "2021-04-13T09:33:47+00:00",
            "date_modified": "2021-04-13T09:33:32+00:00",
            "_date_published_rfc2822": "Tue, 13 Apr 2021 09:33:47 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "13",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3820,
    "_e2_ua_string": "E2 (v3820;)"
}