Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Archer Ragdoll Masters — экшн-игра со стрельбой из лука стикменом с физикой тряпичной куклы.

Archer Ragdoll Masters

Аркады, Гиперказуальные, 2D

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Storage spaces

10 постов сначала свежее
68
DmitriitheFals
4 месяца назад
Лига Сисадминов
Серия Кудахтеры

Общий пейзаж современной ИТ инфраструктуры в части хранения и доступности данных⁠⁠

Для ЛЛ: занудное капитанство.

Третьего дня обсуждал с одним знакомым проблему того, что его джуны вообще не понимают, как чего происходит. Джуны прочитали (с трудом) только проект Феникс, но не прочитали Дедлайн. Менеджмент не хочет читать ни мифический человеко-месяц, ни пояснительных записок.
Вторая его проблема – объем данных в его фирме плавно подходит к суммарно 200 терабайт, что же делать.

По второму вопросу я не смог понять, в чем проблема, кроме бедности, переходящей в нищебродство.
В современную all-flash СХД размером 2 юнита влезает до 36 palm NVME дисков. Берем 30 дисков 02355PWS или 02355FQB по 15 тб, вот и 400 Тб доступного места. Берем 15 дисков 02355WSM по 30 Тб – вот и 360 Тб. В два юнита полпетабайта точно войдет, может и петабайт получится, считать надо.

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

Но, все же.
Вначале была перфокарта, и ее тоже изобрели (не совсем), но патент) в IBM. Потом появился бит, и этот бит был в байте, и этот байт был на панели переключателей. Затем и магнитных лент напридумывали, IBM 726 – это 1952 год. Дальше было всякое, как первый диск IBM 350 из 1956. Все это легаси до сих пор живет и работает, пусть и в сильно измененном виде, как те же дискеты 3.5 на Airbus 320 и Boeing 747-400.

Что осталось на сейчас, и где начинаются проблемы восприятия.
Когда кто-то пишет свою первую программу, она, очевидно, сначала хранится на жестком диске. Он, конечно, уже давно не диск, а привод, Solid-State Drive, хотя и механические диски еще не сдали свои позиции. Но, конечно, сейчас уже не то – эпоха дисков на 15.000 оборотов закончилась в 2016 году, диски 10к потихоньку умирают, если не умерли совсем – объемов выше, чем 2.4TB SAS 10K SFF (HPE 881457-B21) я не видел. Это все те же Seagate Exos 10E2400 из 2020 года, что-то уровня ST2400MM0129. Все что позже – 7200. Не знаю даже – живы ли ноутбучные 5400. SSD подешевели, милорд. Но, что-то я ушел от темы. Проще сказать, что SSD выбили HDD с огромной части рынка, и идти дальше.

Когда у вас один диск в системе, и нет задачи обеспечения доступности хотя бы с 8 утра до 20 вечера с понедельника по пятницу, с перерывом не более часа, то вопрос отказоустойчивости не стоит. На малых объемах, и при отсутствии требований по доступности, хоть раз в месяц на внешний диск, или в облако*, или и туда и туда, свои данные копируйте, и все будет отлично.
*Кроме российских облаков, конечно, которые могут лежать и сутки, и неделю, и потерять данные совсем.

Когда возникают хоть какие-то требования по доступности, обязательно подкрепленные грязными зелеными бумажками, начинаются изучения вариантов «как повысить доступность данных».
Еще раз: если потеря данных не стоит «ничего», если простой считается как «бесплатный», то и беспокоиться не о чем.
Один из самых старых методов – собрать массив из дисков, Redundant Array of Independent Disks. Raid. Обеспечили избыточность в 1,2,3 диска (при этом зеркало (Raid-1 \ Raid 10\ Raid 50), не дает защиты от выхода из строя двух ЛЮБЫХ дисков), и все хорошо, и относительно недорого – нужны только диски, хотя желательно (не обязательно) иметь аппаратный RAID контроллер. С аппаратными контроллерами свои сложности, с программными - свои. Про MS Storage spaces, Storage spaces direct и LVM будет ниже (или нет).
Ок, от выхода из строя 1,2,3,N дисков застраховались, но на пути к доступности данных еще много препятствий. В обычном сервере (не рассматривая BullSequana и очень толстые IBM) отказ любого процессора, модуля памяти (с оговорками, не все вендоры серверов умеют исключать из работы модуль памяти с некорректируемыми ошибками), сетевой карты, итд – ведет к потере доступности данных. Хорошо, если «перезагрузили и заработало», но как быть, если «перегрузили и не работает»? Сами данные, может, и целы, но сервис, работавший с этими данными, не доступен.
Сноска: интересна ситуация со старыми Lenovo и Supermicro в blade системах. Я сталкивался на HS-22, коллеги ловили такое поведение на Supermicro. Сетевая карта просто пропадает из системы, но возвращается не после перезагрузки, но только после полного обесточивания лезвия. Выключили лезвие, выдернули из слота, подождали минуту, вернули – сетевая карта на месте. Может снова пропасть через 3-6 месяцев. Начинается такое поведение через 5-7 лет работы.
Есть много других неприятностей, таких как одинокий коммутатор. Или стек коммутаторов – стекированные коммутаторы при обновлении время от времени отказывают всем стеком, при этом встает намертво что элитный Cisco vPC (Virtual Port-Channel), что другой обычный порошок коммутатор с MC-LAG (Multi-Chassis Link Aggregation Group). В том числе поэтому в проприетарных решениях  уже давным-давно есть Switch Embedded Teaming (SET) и vSphere Standard Switch с active-active, что позволяет выкинуть проблемы с отказом стека, и получить не менее (не)приятные проблемы при других сценариях отказа.

После всех размышлений, оказывается, что для решения проблемы отказа одного сервера – надо хотя бы два сервера (до георезервирования дойдем чуть позже). И два коммутатора, но лучше четыре – два под обмен обычными данными, и два под сеть передачи данных хранения. И не пускать во вторую сеть никого, особенно не пускать сетевиков. Простая, надежная сеть с включенным RDMA и настроенным DCB (или DCBX - data center bridging eXchange, ECN - Explicit Congestion Notification, Priority Flow Control)).
Как данные передавать будем? Есть несколько вариантов решения, самый простой – SAS корзина, осталось только как-то убедить операционные системы не конфликтовать друг с другом и не писать в один блок на дисках – разные данные, что тоже не так просто.
Поэтому возникает не самый простой вариант, точнее два.
Первый. Синхронизацией данных занимается операционная система. Записали данные на одном сервере, отправили блоки данных на другой, записали там, получили со второго сервера «ок», отчитались приложению (или нет). Как DRBD.
Второй. Два приложения на двух серверах могут и сами позаботиться о надежности. MS SQL и Oracle Real Application Clusters умеют в репликацию данных «из коробки». Oracle с 2001 года, MS - не знаю, в версии SQL Server 2008 R2 уже был Failover Cluster. В Postgre вы попляшете вокруг pacemaker, corosync, patroni (и к нему etcd), vipmanager, PgBouncer, pgpool-II, Slony, Stolon  и еще чем-то, и потом попляшете с WAF. Обычно это теперь работает, хотя еще недавно (2016 год) Uber сказал «ну нафиг». Прошло уже столько лет, сейчас есть вроде живой Autobase for PostgreSQL. Решения есть, выбор за вами.
Все это отлично работает, пока вы оперируете 1-2 серверами. Ну 3-4. Ну 10. И пока у вас на складе всегда есть запасной сервер, или вам по гарантии привезут все, что надо за 1-3 бизнес-дня. Отказал сервер – не беда, достали холодный, поставили ОС, а хоть и ироником, или поставили и прокатили плейбук или воткнули под DSC -
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

В комнату входят виртуализация и контейнеры.

Все, что выше, хорошо выглядит на примере baremetal. Когда в системе все четко - один сервер,  одна программа, одна база данных, один монолит. (Гусары, молчать). Только это дорого – на современном сервере по 12-90 (на arm до 192 ядер у Ampere, и обещают 256) ядер на сокет, 2 сокета, и даже если ставить туда всего 2 модуля памяти по 64 Гб «из экономии», то все равно как-то не экономично получается. Потому что оперативная память ничего не стоит на фоне всего остального. Получается, что сервер на 90%, а то и 99.95% простаивает.
Почему? Потому что часть программ, как та же 1с – не умеют в многопоточность без особой магии, да и с магией не умеют. А если за дело берутся маркетологи, которых по недосмотру не усыпили, да потом они же пишут статьи «как настроить 1с», не понимая ни как работает турбобуст, ни как работает переподписка и планировщик, и даже не пробуя читать ИТС и настройки параметров рабочего процесса, то тут ничего не спасет от закупок baremetal. На Core i9. Техническая безграмотность, но оплаченный маркетинг – получаем безграмотные статьи в корпоративных блогах. Про это я попозже напишу, была тут эпичная битва двух якодзун на одном сайте.
В остальных случаях возникает экономическая потребность и выгода от виртуализации. Конечно, можно обойтись и без нее, но разбираться в хитросплетении зависимостей от разных библиотек зачастую экономически бессмысленно – на выяснение может уйти 8, 16, 40, 240 рабочих часов. Дешевле разнести приложения по разным виртуалкам. Попутно можно получить кучу бонусов, наподобие HA, FT, vmotion, и так далее.
Но. Если у нас внизу, в аппаратном сервере, нет доступного разделяемого внешнего хранилища, то мы будем вынуждены перемещать данные с сервера на сервер для любого обслуживания сервера, или делать какое-то иное резервирование. Про HCI будет позже, в самом низу.

Это возможно, но есть проблема роста объемов данных.

Одно дело, если у вас скромные 10-20-200 гигабайт данных. С современными дисками, с современной хотя бы 25G сетью, даже с давно уже копеечным, неуправляемым 10G коммутатором, без MPIO вы получите на чтение и запись что-то около 0.5 – 0.7 гигабайта \ секунду, 30-40 гигабайт в минуту. 5-10 минут и 200 гигабайт переместились, все рады. А если там система в 2 терабайта? Полтора часа туда, полтора часа оттуда, и необходимо на каждом сервере держать немалый запас свободного места. Плюс иметь на каждый сервер по запасному диску на горячую замену. Плюс на каждом сервере теряется 2 диска на Raid 6.
10 серверов – минус 30 дисков просто для отказоустойчивости, и еще держать свободный объем на 2 самые крупные базы данных, или хранилища, или что-то. Даже если скриптами подбирать конфигурацию оптимального размещения по объему, может возникнуть проблема шумных соседей, когда две базы (или два сервиса) что-то одновременно пишут. Для SSD это не так критично, но RAID берет свое, даже на SSD и NVME. Особено на NVME. Или вдруг два бекапа запустились, и сеть забилась.
Зато, до какого-то предела, наглядно и дешево, не надо никаких систем хранения данных.
Тут вы, конечно, скажете – товарищ Отрепьев, а вы ж врете и не краснеете, зачем нам RAID, если мы разносим данные на уровне серверов. Значит, достаточно LVM, или базу по файлам или партициям разделить по sda, sdb и далее. И я отвечу – все так и есть, вообще без проблем. Восстанавливать потом как будете, переливать весь объем данных, или настраивать репликацию диск в диск, причем с авто восстановлением конфигурации? Можно и так сделать, только насколько это удобно и надежно? Или все же RAID, чтобы система сама выкинула неисправный диск и пошла работать?
Но.
С RAID возникает еще 1 проблема, которая порождает сразу 3 других. И эта проблема – восстановление при сбое.
Проблема №1. Raid 5 не очень надежен на механических дисках, и особенно диски consumer \ home grade.

Математика ребилда известна, при объемах данных в терабайты и обычных (не enterprise) механических жестких дисках и домашних \ consumer SSD шансы потерять данные:
6 дисков по 2000 Гб, ошибка 1*10(-14) – шансы на потерю данных 55-65 % на каждом ребилде. Калькулятор 1, калькулятор 2.
Шансы потерять данные за 2 года эксплуатации при оптимистичном MTBF в 250.000 часов – 20%. Калькулятор 3. При консервативном подходе – 33% риска потерь за 2 года эксплуатации.
С ростом объемов риски растут, и использование 10 дисков по 4 Тб в R5 с даже в 10 раз меньшим числом ошибок (1*10(-15)) дает что-то порядка 80% удачи, 20 % неудачи, и 10% риска потери данные за первые 2 года эксплуатации дисков (при консервативной оценке MTBF).
Простая математика:
Consumer SSD error rates are 10^16 bits or an error every 1.25PB.
Enterprise SSD error rates are 10^17 bits or an error every 12.5PB
Статья: Flash banishes the spectre of the unrecoverable data error

Если у вас хранятся пользовательские фотографии, или какое-то видео котиков, то испортился бит, или потеряли этих котов десяток – да и наплевать. Вот бы еще все было так просто, что случилась ошибка на ребилде, и было бы сразу понятно, что ошибку можно пропустить, и будет потерян всего лишь звук загрузки и два пикселя фотографии кота на рабочем столе. А если нет? Нехорошо как-то. Особенно нехорошо, что при ребилде нет кнопки «пропустить». Придется тащить диски в какую-то лабораторию (которых еще поискать), перечитывать данные еще раз (может, прочитаются, может и нет), тратить какие-то деньги на все эти операции, все это время система без дисков будет или стоять, или работать на только втором сервере.

Raid 10 тут в чем-то хуже, хотя перечитывать и восстанавливать нужно суммарно только объем одного диска. Зато можно внезапно обнаружить, что второй диск тоже умер, просто его не давно не проверял никто в фоновом режиме.

Проблема №2. Работа под нагрузкой при ребилде

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

Проблема №3. Скорость ребилда

Поскольку надо восстановить целый диск, то все восстанавливаемые данные будут писаться на один диск, через его один интерфейс. Это долго, это часы и даже дни. Использовать raid 2.0 \ draid – raid контроллеры пока не умеют.

С контейнерами все становится или лучше, или хуже, это как посмотреть.

Пока контейнеры живут, как и положено, в режиме «жил жил, пока не умер – stateless», ничего страшного не происходит. Умер Максим, и ладно. В доме заиграла музыка, k8s\ k3s\ прочие оркестры сыграли марш и подняли новые контейнеры. Как только в контейнере начинает жить что-то с записью на диск, stateful – тут же начинаются PersistentVolume (PV) и прочие драйвера к внешнему хранению. Вы скажете S3, облако, но в итоге данные все равно приземляются на те же SSD\HDD.

Итог. Если хотите высокодоступную виртуализацию, или не виртуализацию, то сначала определите, что для вас «высоко». Потом или стройте репликацию на каком-то уровне, со своими плюсами и минусами, или считайте стоимость внешнего хранилища, или, но про это чуть позже, готовьтесь к HCI - Hyper-converged infrastructure.
Еще раз: это всё, всегда, и без исключений – про деньги.
Бизнес, то есть генеральный директор, должен понимать, с точностью до значимых чисел, стоимость простоя, риски простоя в год, и стоимость инфраструктуры и людей для обеспечения этой доступности.
Можно сделать какие-то решения и на костылях, сделать свой SC VMM на скриптах, кронтабе, потом подтянуть API – весь инструментарий для этого есть. Но сколько времени займет написание своих костылей, и кто будет поддерживать эти костыли после увольнения писавшего? Особенно если код написан в спагетти стиле?

Системы хранения данных, год 2025.

Чтобы говорить про СХД, нужно знать и понимать хотя бы следующее.
Классическая СХД в вакууме – это СХД начального уровня. Деды вспомнят, может и без таблеток, про HP MSA2000 G2. Еще пока был единый HP. Или вспомнят Storwize какой-то. В общем, все, что было до появления божественной Евы 4400. Или, если это уже прадеды, то накидают боевых картинок со сменными блинами для дисков. Это уже не так интересно.
Современные СХД можно условно разделить на следующие группы:
Почему условно? Потому что термин не закреплен в ISO \ IEEE \ ГОСТ, и любой маркетолог может сказать «это СХД». Была даже такая редакция Windows - Windows Storage Server. Может, кто-то вспомнит VNX.

Группа 1. Вообще не СХД.
Это и программные решения, типа Raidix, и Synology RackStation RS1221RP, и много лет рекомендуемый лучшими майнерами и их друзьями Infortrend, и тот же Ceph. Тысячи их. Хотите считать эти изделия СХД – пожалуйста, только не забывайте, что у них или по 1 процессору и материнской плате, то есть или по одному контроллеру, или для них нужно хотя бы три сервера. Лучше пять.  Или они просто кривые, который год.
Лично для меня СХД начинается от «всего по хотя бы два» - два блока питания, два независимых контроллера. Можно 4 блока питания и 4 контроллера. Больше можно. Меньше нини. Контроллеры могут работать в каком угодно режиме, и с любым Path Selection policy (PSP) - Active/Optimized, Active/Non-optimized, Standby, это не так важно. Хотя как, «не так». Если у вас на СХД переключение путей при отказе контроллера идет больше таймаута на системе виртуализации, или больше таймаута на нагруженной системе внутри контейнера или виртуализации, а это может быть и 30 секунд, и 5 секунд, то система виртуализации может сказать (и скажет) – все мертво, All-Paths-Down (APD), Permanent Device Loss (PDL), и остановить ввод вывод. С последующими криками боли и унижения. Естественно, без вазелина. Как при этом Земля не проваливается в око ужаса, не понятно. Но про это позже.

Группа 2. СХД начального уровня, уже даже и гибридные.
Мир меняется, технологии растут и дешевеют. Лет 20 назад тиринг и динамические рейды только появлялись «для масс», сейчас они почти везде. Даже не найду, когда появился тиринг, в 2011 году уже был. В 2008 году был. Истина где-то рядом.
10 лет назад all-flash-array (AFA), то есть СХД с софтом, оптимизированным на работу только с СХД, стоили совсем других денег, чем сегодня Huawei OceanStor Dorado 3000 V6.
Очередное пояснение. У Huawei сейчас используется следующее деление в маркетинге, которое многих путает. OceanStor – это «вообще все СХД», OceanStor Dorado – линейка all-flash-array, v6 – поколение. Рисовать таблицу не буду.
Поэтому получается так:
СХД начального уровня = СХД малой производительности, с урезанными функциями относительно старших моделей в ряду. Сложно расширяемые - например, нельзя подключить внешние дисковые полки. Хотя, этот пункт тоже под вопросом, полки HP D2600 и D2700 числились как совместимые с HPE P2000 G3 FC Modular Smart Array System.
Гибридные СХД – системы, в которых можно одновременно использовать механические и SSD диски. Таких систем полно.
All-flash-array (AFA), русский перевод термина отсутствует за ненужностью. Это СХД, работающие только с SSD. Теперь (уже лет пять?) есть и начального уровня, относительно задешево. Dorado 3000 например.

У СХД среднего уровня добавляется и производительность, и надежность. Для AFA к All-SAS SSD добавляется ALL-NVME SSD, с их оптимизациями под NVMe over Fabrics (NVMe-oF) и NVMe over RDMA over Converged Ethernet (NVMe over RoCE). С последними поколениями коммутаторов на FPGA Xilinx UltraScale VU9P, скажем Arista 7130E с их задержками в 50 ns, все становится очень интересно.
Маркетологи в Arista ленивые, просто ну невозможно. Могли бы и поменять что-то, а то пишешь статью и узнаешь, что были Arista 7130 Series 48E, стали Arista 7130 Series 48L with UltraScale VU7P-2 FPGA, еще в 2021.
Хотя в Cisco и 80 ns рады. На 400 GbE портах.

Добавляется лицензирование метрокластера, добавляются всякие онлайн дедупликации и компрессии, иногда и офлайн, добавляется возможность поставить не 2 контроллера, а 4.
У кого-то добавлялись (или уже нет, я не успеваю следить за сменой 3Par на Alletra) возможности резервировать данные на случай отказа не только одного диска, а целой дисковой полки. Добавляется маскарадинг, или как это не назови – когда можно спрятать старую СХД за новыми СХД, и данные со старой СХД будут доступны через контроллеры и интерфейсы новой. Прочие бонусы, пусть про них маркетологи рассказывают.

У старших моделей, то что у маркетологов называется mission-critical storage, добавляются надежность, но, прежде всего, меняется архитектура связи контроллеров. Самих контроллеров можно ставить 16-32 штуки, дисков чуть ли не 10-20 тысяч штук, итд итп. Дорого, богато, объемно, быстро, надежно.

Лидеров по тратам маркетингового бюджета, как и раньше, можно смотреть в квадрате Gartner.

Отдельно в тех же квадратах введено разделение:
Primary Storage Platforms
File and Object Storage Platforms
Full-Stack Hyperconverged Infrastructure Software
потому что, как иначе продавать рекламу и места в квадрате для всех участников рынка?
Имена всех участников более-менее на слуху: Dell PowerMax, HPE Alletra Storage, Netapp, Pure Storage, Lenovo, Fujitsu (они еще живы? Оказывается да), Hitachi Vantara (тот же вопрос), Huawei, Infinidat, почему-то Inspur и даже Infortrend.

Что предлагается тут для повышения надежности хранения и повышения доступности в среднем и старшем, а то и в младшем сегменте рынка?

Ничего особенно нового.
Локально – все те же вариации на тему Distributed RAID - Lenovo ADAPT, IBM distributed RAID (DRAID), Huawei Raid 2.0, Netapp SANtricity Dynamic Disk Pools (DDP), и так далее. Очень удобно, очень быстро. Быстрее разве что фоновая подготовка к отказу диска, есть такая модная тема.
Глобально – тоже ничего нового, метрокластер и синхронная или асинхронная репликация, смотря что хотите.
Для любителей кластеров подлиннее есть и Synchronous Long Distance (SLD).
Иногда теперь внутри стоит «что-то такое про Artificial intelligence (AI)» - который обрабатывает кеширование, и какие-то маркетинговые (как сейчас продавать что-то без пометки AI? Никак), и внутренние задачи.
Чуть было не забыл про «все для тестов и резервного копирования» - снимок (снапшот) тома, синхронный снимок группы томов, презентация снимка кому надо – например, для того чтобы быстро отдать копию боевого тома в тесты, или сделать бекап клона тома. Само собой API для обеспечения работы систем резервного копирования.
Конечно, батарейки для поддержания кеша в живом состоянии. И многое другое, всякие там аналитики отказов, звонки другу, счетчики ресурсов итд итп. Драйвера под Openstack само собой.

Програмно-определяемые СХД, Software-defined storage (SDS).

Как говорит википедия, Software-defined storage (SDS) is a marketing term ..
Термин очень и очень маркетинговый, потому что почти все современные СХД, так или иначе, программные. Зачастую на все тех же x86, или на arm. Базовая ОС – скорее всего варианты с ядром Linux. Внутри может быть пара контейнеров для обеспечения файлового или S3 доступа. Внутри иногда можно даже запустить свой контейнер или виртуалку, с массой ограничений, но можно.
Продают их примерно все вендоры, и ничего плохого в этом нет. Вопрос в том, сколько в продукте маркетинга, а сколько технической составляющей. Отдельно надо сказать, что имеет значение и цена, и выбор масштабирования – горизонтальное или вертикальное.
Хочется хранить больше пиратского кино в старом добром формате «8 фильмов на 1 DVD» - ваш выбор горизонтальное масштабирование, много дешевых серверов с дешевыми дисками и резервированием x3.
Хочется высокой скорости и отсутствия простоя, пока на ЦОД Госзнак идет восстановление - выбираете дорого, богато.
Что там на слуху? Ceph, linstor, Vitastor?  
В чем главный минус всех этих решений? Это дорого.

Дорого не в смысле разовых вложений, запустить все это можно на любом железе из ларька бу техники. И это даже будет работать. Ничего сложного в первом запуске нет. Если у вас 3 БУ ПК, нет требований к надежности, нет требований по скорости (линейной или IOPS), нет задачи обновления, нужно «просто чтобы работало» - берете 3 ПК, собираете, работает. Потом увольняетесь, пока само не упало. Можно даже запустить виртуализацию там же. И даже что-то заработает, то есть запустится. Идеальное решение для статьи корпоративного блога на Хабре, скажем, для МТС. Особенно, если не писать «да, наше облако упало и лежало неделю, потому что». То есть, если у облака с таким хранилищем нет в соглашении крупного штрафа за простой, в деньгах, а не в «скидке 5% на следующий месяц», то они могут хоть Ceph ставить, хоть писать что они не смогли что-то сделать с Openstack и выбрали Cloudstack. То же самое, только сбоку.
Отказываться от VMware Cloud Foundation русские облака не спешат. Мировые, впрочем, тоже. Да, это дорого. Очень дорого. Клиент платит.
Если не считать TCO, total cost of ownership, и умело считать CAPEX и ФСБУ 26/2020, то Ceph выглядит дешевле. А если считать? И если прибавить требования со стороны прочих департаментов \ отделов \ etc?

Очередное отступление в сторону.
Может показаться, что Ceph выглядит в этом тексте как мировое зло, на фоне светлого и прекрасного корпоративного решения «задорого», в то время как для фирмы бесплатный Ceph выглядит идеально. Затраты на лицензии ноль, затраты на поддержку у фирмы – ноль (планируется, что его развернет и подключит имеющийся штат), собрать можно на двух HPE Gen 6 с процессором на целых 4 ядра возрастом 12 лет, что может пойти не так? Дада, мы (менеджмент) конечно тебя услышали. И что надежность низкая, и что может упасть, что нужно купить что-то под бекап, обязательно купим в следующем году. ЧТО ЗНАЧИТ УПАЛО И ТЫ ПРЕДУПРЕЖДАЛ? НЕДОСТАТОЧНО ПРЕДУПРЕЖДАЛ! ВИНОВЕН!
Российский, и не только российский, бизнес, очень любит перекладывать риски и переводить стрелки на исполнителя. Упал сервис – виноват Вася, недостаточно часто обращал внимание руководства на состояние и риски. Слишком тихо и редко кричал. Почти всегда, за очень редкими исключениями, бизнес будет переходить к теме «я начальник, ты дурак, начальство не ошибается - значит, ты виноват». Единственный работающий способ – не трогать любую потенциальную дрянь даже палкой. Никак. Никогда. Спорить с начальством, наслушавшимся сына маминой подруги, прочитавшего 1.5 статьи в маркетинговом копроблоге, бесполезно – есть два мнения, его и неправильное. Конфликт с начальством вообще не продуктивен. Но, иногда приходится выбирать:
– Вступать с размаха в очевидные проблемы, тратить дни и ночи на разбирание в многолетном наслоении питоновых отложений, и все это за ту же зарплату, получая вообще не оцениваемый на рынке в рублях или долларах опыт починки, сидя по шею в этих отложениях, или
- Увольняться. Заявление на стол, дальше не твои проблемы. Все эти рассказы в фирме «мы семья, мы команда» заканчиваются с первыми признаками проблемы.

Сам продукт при этом не плох, не хорош. У него есть своя ниша, свои понятные характеристики, поведение итд. В пределах этой ниши он может выполнять свои задачи. В очень, очень узких пределах, на нормальном железе, настроенный под задачу, после полугода тестов и 3-5 разносов стендов.
Если говорить про аналогии, то и система BASE-STEP (запущена 24 октября 2024) и тачка для навоза на даче, решают задачу доставки чего-то из точки А в точку Б. Только стоят по разному, и не все можно перевозить на тачке, и не всё стоит перевозить на BASE-STEP – если в BASE-STEP сунуть навоз, то может рвануть.
Но нужны обе. На своем месте.

Модное веяние последних 10 лет – HCI. Hyper Converged Infrastructure

В какой-то момент, с ростом количества и качества ИТ, внедрения «всего» и «везде», фирма приходит к какому-то равновесию. На каждый новый сервис в среднем нужно сколько-то ядер, сколько-то гигагерц. Нужна память. Нужно дисковое пространство. Становится удобнее оперировать одинаковыми серверами, подключенными к 1-2 системам управления. Таким, как Intel Data Center Manager, Aria Operations Management Pack, HPE OneView и так далее. Сводные отчеты, сводные таблицы, автоматизация везде и всюду.
Возникает идея – зачем нам СХД, если у нас и так и так есть сервера с отсеками под диски. Давайте сделаем систему с распределенной программно-определяемой СХД, которая будет работать с нашей системой виртуализации и с локальными дисками. Возникает redundant array of inexpensive servers (RAIS) или redundant array of independent nodes (RAIN). Очень удобно. Уперлись в потолок – купили еще 1, 2, 6 стандартных единиц, добавили в систему, дальше оно само. Хотите такое же, но ориентированное именно на хранение – можно и так, просто поменяйте настройки и занесите деньги по счету. Хотите не 2 петабайта, а 4,6 – пожалуйста, проходите в кассу.  Скорости – отличные, надежность (обычно) – 4-5 девяток, 99.99 – 99.999.
Ограничения – да почти никаких, можно начинать строить хоть с 2 серверов, даже без коммутатора. Shotgun mode и понеслась.
Минусы написаны мелким шрифтом:
Очень узкий список протестированного на совместимость оборудования.
Очень высокие требования к квалификации эксплуатирующего персонала. Особенно сетевиков, которые зачастую не готовы читать про требования к RDMA, и не понимают, как и зачем реализованы что Switch Embedded Teaming,  что Network Air Gaps.
Обманчивая простота снаружи, при этом внутри надо знать «как» и «как именно» это работает, а не только в GUI кнопки нажимать.
Отвыкать, точнее ни в коем случае не лечить проблемы ребутом.

Облако.

Как же без него. Про облака, все, есть три заблуждения: что это быстро, надежно, дешево.
Ничего подобного. «Быстро» в российских облаках предполагает какие-то очень костылизированные решения. Аналогов классов хранения по моему нет ни у кого.
Надежность применительно к российским облакам, которые могут валяться и сутки, и неделю, но все это время маркетологи строчат статьи «у нас все хорошо», вообще не применима.
Дешево .. это как сказать. Во сколько вам обойдутся сервисы, лежащие час в облаке?
В иностранных облаках ситуация принципиально другая. Или нет. Не то, чтобы они порой не лежат. Лежат, и еще как. Недавно опять часть Azure лежала три дня, с 8 по 11 января.
Вот отчет: 01/08/2025 Post Incident Review (PIR) – Networking issues impacting Azure Services in East US 2, Tracking ID: PLP3-1W8. Что сломалось, почему сломалось, как сломалось. Особенно если вчитываться, и понимать, какие смуглые друзья и дефективные Кумары и их такие же менеджеры стоят за строчками
All manual configuration changes will be moved to an automation pipeline which will require elevated privileges.
Consider ensuring that the right people in your organization will be notified about any future service issues

И почему вышла статья Azure networking snafu enters day 2, some services still limping.

Но. Хотя бы вышла и статья, и разбор, и обещания все исправить.

Показать полностью
[моё] Microsoft Windows Опыт Storage spaces Текст Длиннопост
30
33
DmitriitheFals
9 месяцев назад
Лига Сисадминов
Серия Кудахтеры

Скорость работы storage space в Windows server 2025 – первое приближение и методология⁠⁠

Для лиги лени: нытье какое-то и унылые цифры про software-defined storage, что там как.

Немного теории - Software-defined storage, что это

Лет 20 назад, в 2004 году, когда я еще ходил в школу, и читал комиксы про всамделишные приключения сексуального вампира, системы хранения данных жили отдельно (за дорого и очень дорого), сервера отдельно. Только-только вышел  SQL Server 2000 Service Pack 2 (SP2), кластеризация на уровне сервиса была у SQL  (кто хочет, найдет статью Clustering Windows 2000 and SQL Server 2000, Brian Knight, first published: 2002-07-12) , и вроде, в Oracle RAC.

Почему было такое деление? Потому что расчет четности и двигание блоков данных туда-сюда – операция, с одной стороны математически не самая простая, с другой – рутинная, использовать под них относительно медленный процессор общего назначения, хоть x86, хоть уже умершие  к тому времени Motorola 68060 и еще живые UltraSPARC II, не очень рационально.

К середине 2010х ситуация постепенно изменилась. Производительность x86 выросла, цена за операцию упала. Со стороны классических СХД еще в 2015 в тех же 3Par стоял отдельный модуль для расчета чего-то-там, в Huawei Oceanstor v2 можно было покупать отдельный модуль LPU4ACCV3 Smart ACC module, но основная нагрузка уже считалась на x86 -  HPE 3PAR StoreServ 7000 уже был на  Intel Xeon. К 2019 Huawei перешел на Arm, точнее на Kunpeng 920.

Примерно в то же время, а точнее в Microsoft Windows Server 2012 появилась поддержка динамических рейдов в виде Storage Spaces, плюс появился SMB Direct и SMB Multichannel, к R2 Добавились local reconstruction codes, в 2016 Server появилась новая функция – S2D, storage space direct, но это уже старая история, а там и ReFS подоспел, с своей защитой данных от почти чего угодно, кроме своей дедупликации и своего же патча на новый год (January 2022 Patch Tuesday KB5009624 for Windows Server 2012 R2, KB5009557 for Windows Server 2019, and KB5009555 for Windows Server 2022.)

Все бы было хорошо и там, и тут, НО.

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

Но. Если у вас в кластере работает хотя бы 1 (одна) виртуальная машина с Windows Server, вы все равно обязаны лицензировать все ядра всех узлов кластера лицензиями Windows Server. Тут уже надо считать, что выгоднее – попробовать закрыть все узлы лицензиями STD, с их лимитом в 2 виртуальные машины на лицензию, или лицензировать Datacenter.

Но. При этом все равно можно НЕ иметь нормальной дедупликации и компрессии (DECO) на Datacenter, НО иметь вечные проблемы со скоростью, если ваша система настроена криворукими интеграторами или таким же своим же персоналом, набранным за 5 копеек, и который тестирует скорость СХД путем копирования файла. Или путем запуска Crystal Disk mark с настройками по умолчанию.

Попутно получая проблемы с резервным копированием, если вы DECO включили, а руководство по резервному копированию с DECO Windows Server не прочитали.

Все очень просто: если экономим на кадрах, то покупаем классический выделенный СХД, в нем в разы меньше настроек и ручек, которые может крутить пользователь в GUI. Масштабируем емкость покупкой новых полок. Скорость так просто не масштабируется, как у вас стоит 2 или 4 или 8 контроллеров, так они и стоят (до 16 контроллеров, если вам очень надо).

Это не уменьшает проблем с обслуживанием, на классической СХД тоже очень желательно проводить обновление и прошивки СХД, и прошивки дисков. На некоторых СХД раньше (10-15 лет назад) обновление прошивки вполне могло привести к потере разметки и потере данных (ds4800). Но там порой и замена дисков вела к факапам, как на ds3500. Но и наоборот, в IBM была версия прошивки, которая работала 1.5, чтоли, года. Но и не прошиваться нельзя – как недавно вышло с дисками HPE и не только, которые работали ровно 40.000 часов (Dell & HPE Issue Updates to Fix 40K Hour Runtime Flaw, update to SSD Firmware Version HPD8 will result in drive failure and data loss at 32,768 hours of operation, FN70545 - SSD Will Fail at 40,000 Power-On Hours и так далее).
С как-бы всеядными MSA (старых версий) можно было сделать самому себе больно иначе – купить саму СХД, а диски туда поставить подешевле, даже SATA с их надежностью (Latent Sector Error (LSE) rate) в «1/10(-16)», и получить проблемы при ребилде даже в Raid 6. Прошиваться страшно, не прошиваться тоже страшно, зато использовать левые диски не страшно.

Можно собрать комбо: дешевые кадры, дешевые сервера, дешевые диски – и иметь проблемы с доступностью, скоростью, отказоустойчивостью, полной потерей данных, и прочим.
Выбор цены решения – это выбор бизнеса, а ваш выбор как работника – работать с кроиловом, и потом нести ответственность при попадалове, которое вы же и выбрали, работая с кроиловом, за тот же мелкий прайс.

Почему Windows 2025 и storage space? Ведь есть же ..

Есть. На рынке РФ, кроме storage space и S2D, есть:

VMware by Broadcom vSAN. Есть специалисты, нет возможности купить напрямую нормальную подписку.
Высокие требования к оборудованию – нужны не бытовые дешевые SSD.
Высокие требования к людям - очень нужны умеющие и любящие читать люди.
Нужно планирование перед внедрением.
Нужна вменяемая сетевая команда, которая сможет настроить хотя бы DCB + RDMA и не впадает в священный ужас при виде Mellanox.

Nutanix. Давно ушел и с российского рынка, да и на мировом как-то скатывается в нишевое решение. Ограничения те же, что для vSAN.

Ceph. Есть и такие решения, но. Для его промышленной эксплуатации, а не в варианте «оно сломалось и не чинится, что же делать» нужны отдельные люди. Таких людей в РФ человек.. ну 20 - 40. Один из них – автор статьи Ceph. Анатомия катастрофы. Статью советую прочитать.
И это решение, если вы хотите хоть какой-то скорости, начинается с фразы «если у вас еще нет 200G коммутатора и карт, то вначале хватит и 100G, по два 100G порта на хост». Демо-стенд можно запустить хоть на 1G. Работать даже на 10G будет очень болезненно. Если еще на стадии демо начать задавать неудобные вопросы про RDMA и Active-active, то будет еще больнее. Почти так же больно, как спрашивать, можно ли использовать сервера, на которых развернут Ceph, под Openstack. И как его, Ceph, бекапить на ленты, как обеспечить аналог Veeam Direct SAN Access или Commvault Direct-Attached Shared Libraries или аналог Metro / Replication / Stretched Clusters

Остальные решения, особенно импортозамещающие, не стоят и рассмотрения. Проблема с ними всеми одна и та же – их разработчики имеют очень ограниченное представление о том, как работает ядро, как с ядром и драйверами взаимодействует виртуализация, что может быть намешано в сетевом стеке и как обрабатывать задержки в реальной среде. Наиболее эпичное падение у коллег в РФ было совсем недавно, когда пустой демо-стенд упал сам по себе. Не помню, с разносом данных в не восстановимую кашу или просто умер совсем, вплоть до переустановки всего кластера. И это я не вспоминаю о нагрузке при блоках разного размера, проблемах мониторинга, скорости работы Redundant Array of Independent Nodes (RAIN) и проблемах со скоростью при использовании четности (parity), а точнее при возникновении write amplification. И затем посмотрим, у какого из этих решений есть мониторинг, а у какого – система резервного копирования не на уровне приложений внутри виртуализации.

Альтернатива - иметь сложные интимные отношения с drbd, Patroni (PostgreSQL + Patroni + etcd + HAProxy), Stolon, Corosync, PaceMaker, BDR, bucardo, Watchdog – и постоянный риск split-brain. Рядом еще плавает RAFT и CAP theorem. Так можно докатиться до знаний про global transaction identifier (GTID) и Commit Sequence Number (CSN).

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

Если вам безразличен вопрос доступности и целостности ваших данных, то ничего страшного не произойдет.

Изначальные проблемы Storage space без direct

Это дорогое решение, необходимо считать что почем, в том числе лицензии.

Erasure coding (EC) в GUI в нем (и в S2D) был в 2016 и 2019 сервере реализован на уровне «ну как смогли». Из GUI можно было настроить Mirror и Raid-5 (single parity), настройка Raid-6 (dual parity) требовала, почему-то, толи 7 толи 8 дисков, не понятно зачем, и давала какую-то безумную физическую деградацию, раз в 10 кажется при настройках «всего по умолчанию», а про вынос журнала на отдельный диск никто не пишет, и публично вроде не тестировал.

Схема развертывания

Поскольку мне только посмотреть, то я попробую посмотреть, что будет на домашнем ноутбуке. SSD + Windows 11 + VMware Workstation Pro 17, недавно ставшая бесплатной для домашних пользователей.

Схема тестирования

Для тестов будет выделен отдельный (конечно виртуальный) диск – сначала на 40 Гб, чтобы посмотреть на то, сколько вытянет на нем Atto benchmark, по сравнению с таким же тестом, но без виртуализации.

Там же попробую DiskSPD – с настройками:

Образ для тестов – 10 Гб, тестирование:

1 файл, 1блок, 1 поток, 100% чтения, 50/50, 0/100 % записи. Продолжительность – 30 секунд прогрев – 10 секунд. Блок данных 4 к и 64 к. Форматирование раздела .. хм. Тоже надо посмотреть, конечно, write amplification это не игрушка.

1 файл, 1,2,4, 8 потоков и очереди 4, 8, 16 и 32.

В вариантах Mirror, parity GUI.

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

Или сокращу объем проверок, если надоест.

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

Затем попробую собрать в storage space 4, 6 и 8 дисков – через GUI, и посмотрю, что и как.

Моя глобальная цель – не столько посмотреть на падение скорости, сколько

1) посмотреть на варианты настроек Erasure coding (EC) в GUI и в CLI (это я в виртуальной среде сделать могу)

2) посмотреть, влияет ли, и если влияет то как, размер блока и четность.

Сразу видны подводные камни – у меня виртуализация 2 типа, поэтому приземляемый в файл в реальной ОС блок данных – будет работать в итоге с фактической разметкой NTFS, можно получить порядочный штраф.
В рабочей среде такого, конечно, не будет, но размер блока важен и при создании LUN на классической СХД. Там хотя бы пресеты есть, это иногда помогает.

Сначала посмотрим, что там с диском

Get-WmiObject -Class Win32_Volume | Select-Object Label, BlockSize | Format-Table –AutoSize

Или более классическим путем –

fsutil fsinfo ntfsinfo c:

Ничего интересного,NTFS BlockSize – 4096 (Bytes Per Sector  : 512, Bytes Per Physical Sector :  4096, Bytes Per Cluster :  4096  (4 KB), Bytes Per FileRecord Segment  :  1024

С глубиной очереди 4, Atto дает удручающие для конца 2024 года 100 мб/сек на запись и 170 мб/сек на чтение, 25к IOPS /40k IOPS,  разгоняясь до 750/1300 мб/сек для блока 64 кб (и падая до 10 к/ 20к IOPS). Старый SATA SSD, откуда там чудеса?

Поставлю очередь 8, а тестирование ограничу размерами от 4 до 64. Стало ли лучше? Стало. 25к IOPS на запись, и 55 к IOPS на чтение для 4к блока, 16 и 20 к к IOPS для 64 к блока.

DiskSPD

Где брать: https://github.com/microsoft/diskspd/releases/latest/download/DiskSpd.zip

Что читать: https://github.com/microsoft/diskspd

Что еще читать: https://learn.microsoft.com/ru-ru/azure-stack/hci/manage/diskspd-overview

Качаем DiskSPD с github, распаковываем , кладем в C:\Diskspd\amd64 , делаем папку test, делаем первый тест

.\diskspd -t2 -o32 -b4k -r4k -w0 -d120 -Sh -D -L -c5G C:\Diskspd\test\test0001.dat > test0000.txt

И идем читать инструкцию.

-t2: указывает количество потоков для каждого целевого или тестового файла.

-o32: указывает количество невыполненных запросов ввода-вывода для каждого целевого объекта на поток

b4K: указывает размер блока в байтах, КиБ, МиБ или ГиБ. В этом случае размер блока 4K

-r4K: указывает на случайный ввод-вывод

-w0: указывает процент операций, которые являются запросами на запись (-w0 эквивалентно 100 % чтения)

-d120: указывает продолжительность теста

-Suw: отключает кэширование программной и аппаратной записи

И получаем (бадабумс) -  310.39  MiB/s  , 80к  I/O per s - 55000 на первый тред и 25000 на второй (округленно).

На этом месте пока прервусь, надо подумать как сделать удобнее.

Показать полностью
[моё] Windows Storage spaces Windows server Microsoft Текст Длиннопост
21
3
glab.16
4 года назад
Web-технологии

GH-database⁠⁠

GH-database Nodejs, Npm, База данных, Storage spaces, Файл, Javascript, Json, Сервер, Разработчики, Devtools, Web, Backend, Длиннопост

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

С тех пор функционал сильно расширился, теперь в приложении есть методы для работы с файлами и папками, что собственно говоря было и тогда, но появилась возможность использования его как полноценной базы данных, создание коллекций и реализации CRUD. А также были добавлены методы для хранение файлов без обработки, что то вроде storage.

Сразу оговорюсь, что данная статья является лишь обзором, но не как не документацией. Так если надумаете попробовать приложение вам все же придется ее почитать.

Теперь более детально.

За основу приложения был взят npm модуль fs. Так что если приложение вернуло вам ошибку, то то что было в блоке error нужно гуглить в контексте модуля fs, а не Gh-database или ghc-db.

Приложение написано на nodejs, то бишь это обычный сервер к которому можно обращаться посредством POST запросов. Подробнее о них можно почитать в документации: https://github.com/GreenHouseControllers/GH-database

Для удобной работой с приложением был написан npm модуль - ghc-db. Думаю не стоит останавливаться на том что такое npm модули, как их устанавливать и так далие.

Прежде чем работать с приложением нужно сделать коннект с ним. Для этого есть метод connect, в него вы должны передать токен. Токен вы задаете в файле config в файлах Gh-database. Подробнее об этом читайте в документации.

Для работы с файлами есть:

createDir/removeDir - для создания/удаления папок и createFile/removeFile - соответственно для файлов.

readFile/writeFile - для чтения/записи файлов.

rename - для переименования файлов и папок.

Для работы с файлами имеющими расширение .json, есть отдельный набор методов

readJson/writeJson - для чтения записи файлов.

getElement - возвращает ответ по ключу.

pushElement/deleteElement - для добавления и удаления элемента в массиве.

Немного о функционале базы данных

Для создание и удаления коллекций используются методы createCollection и removeCollection соответственно.

Имеются методы для CRUD, по аналогии с MongoDB, но метод read возвращает всю коллекцию. Для получения одного объекта по параметрам есть метод get.

Так же вы можете переименовывать коллекцию с помощью метода renameCollection

Функционал файлового хранилища реализован в трех методах:

upload - для загрузки файлов

remove - для удаления файлов

download - для скачивания файлов

Обращение к файлам происходит по тому имени с которым он был загружен.

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

Также среди методов админа есть метод getErrorLog, который возвращает полный массив объектов с ошибками в формате json.

Данная версия еще все же сырая. Но я рад буду если вы заинтересуетесь данным приложением. Жду конструктивной критики, предложений, переделок, багов.

Будем рады если вы напишите простые примеры с использованием приложения и модуля ghc-db. Присылайте их в комментариях к статье и в телеграм, Вы можете перейти в группу в телеграмме где можете высказать свое мнение, предложить собственные идеи, поделится чем то новым. Сообщения касательно Gh-database присылайте с #ghDb в начале сообщения.

Ссылка на группу: https://t.me/joinchat/LvAn_FR2r9crJGKqP_aYYA

Показать полностью 1
[моё] Nodejs Npm База данных Storage spaces Файл Javascript Json Сервер Разработчики Devtools Web Backend Длиннопост
2
36
mfc166
mfc166
6 лет назад
Лига Сисадминов

Оптимизация дисков в Windows 10⁠⁠

Десятилетия назад нас приучили дефрагментировать диск. Помните дефрагментацию диска в Windows 98? Это было красивое зрелище. Потом Norton Speed Disk показал, что дефрагментация может быть функциональной и настраиваемой: можно было решить какие данные в какой части диска хранить. Дефрагментаторы плодились со страшной скоростью и каждый мог выбрать любимца.

Microsoft тем временем не торопилась наращивать функционал: в Windows XP диаграмма стала примитивной. В Windows Vista даже нет отображения прогресса дефрагментации.

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

Но как водится, прогресс не стоит на месте и дефрагментатор превратился в оптимизатор дисков. Это означает, что он в зависимости от типа диска, соответствующим образом его оптимизирует. Сложно получилось. Например: для жесткого диска будет выполняться дефрагментация, для виртуального VHD файла выполняется оптимизация свободного пространства, для SSD диска выполняется команда TRIM, для виртуального тома Storage Spaces (при тонкой подготовке) так-же выполняется команда TRIM. Не ожидали? Более того, вся эта музыка выполняется автоматически по планировщику, что не может не радовать.

Давайте рассмотрим передачу команды TRIM SSD диску:

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

Если очень срочно нужно, то есть два пути:

Дать команду Powershell:

Optimize-Volume -DriveLetter H -ReTrim -Verbose

Это вывод команды:

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

Использовать оптимизацию дисков:

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

Как обычно, можно воспользоваться командной строкой:

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

А это скриншоты использования пуда Storage Spaces до оптимизации и после:

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

Обратите внимание на освободившееся пространство. Виртуальный том уменьшился после оптимизации.

Оптимизация дисков в Windows 10 Windows 10, Оптимизация, Storage spaces, Видео, Длиннопост

Именно поэтому Я так остро воспринимаю рекомендации по отключению встроенной системы оптимизации дисков в Windows 10. Многие не знают, что дефрагментация сменилась оптимизацией.

Показать полностью 6 1
[моё] Windows 10 Оптимизация Storage spaces Видео Длиннопост
46
208
mfc166
mfc166
6 лет назад
Лига Сисадминов

REFS — Resilient file system⁠⁠

В предыдущей заметке Я обещал рассказать о REFS. Это новая файловая система, призванная со временем заместить NTFS. REFS унаследовала от NTFS множество функций и обрела новый функционал. REFS полностью раскрывает свой потенциал при использовании Storage Spaces. Однако свой профит она вносит и при использовании на одиночном накопителе.

Когда я начинаю говорить о REFS, я обычно слышу схожие вопросы, поэтому попробую их обобщить:


- Какие функции NTFS убрали в REFS?

- Что нового в REFS, чего нет в NTFS?

- Какие основные преимущества REFS перед NTFS?


Преимущества

- Отказоустойчивость

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

REFS — Resilient file system Storage spaces, Windows 10, Windows server, Длиннопост

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


Всё становится интересней, если потоки целостности для данных включены на томе с избыточностью: Четность, двух- или трехстороннее зеркало. В этом случае, обнаружив ошибку контрольной суммы REFS попробует восстановить данные.


- Производительность

Стоит так-же упомянуть и нововведения производительности:

- Четность с зеркальным ускорением позволяет эффективно хранить данные на томе, используя многоуровневое хранилище.

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

- Разреженный метод VDL позволяет мгновенно создавать фиксированные VHD диски большого размера.


О преимуществах рассказал, теперь сравним её с NTFS


Функции NTFS, недоступные в REFS

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

- Сжатие файловой системы

- Шифрование файловой системы (EFS)

- Транзакции

- Жесткие ссылки

- Идентификаторы объектов

- Короткие имена

- Расширенные атрибуты

- Дисковые квоты

- Загрузка операционной системы

- Поддержка файла подкачки

- Поддержка съемных дисков


Функции общие для REFS и NTFS

- Шифрование BitLocker

- Дедупликация данных ( Windows Server, v.1709 and later)

- Поддержка общих томов кластера

- Символические ссылки

- Поддержка отказоустойчивого кластера

- Списки управления доступом

- Журнал USN

- Changes notifications

- Точки соединения

- Точки подключения

- Точки повторного анализа

- Моментальные снимки томов

- Идентификаторы файлов

- Нежесткая блокировка

- Разреженные файлы

- Именованные потоки

- Тонкая подготовка

- Offloaded Data Transfer (ODX)

- Trim/Unmap


Функции, доступные только в REFS

- Клонирование блоков

- Разреженный метод VDL

- Четность с зеркальным ускорением

Таким образом можно сделать вывод, что REFS идеальна как хранилище виртуальных машин и критически важных  данных данных.

В следующей заметке я расскажу об обслуживании REFS в рамках Storage Spaces и о том, как дефрагментатор WIndows перестал им быть.

Показать полностью 1
[моё] Storage spaces Windows 10 Windows server Длиннопост
79
26
mfc166
mfc166
6 лет назад
Лига Сисадминов

Форматирование томов REFS в Windows 10 старше 1703⁠⁠

Сегодня я снова вернусь к разговору о дисковых пространствах. Ранее я уже поднимал эту тему: раз два  три

О причинах для перехода на эту файловую систему мы поговорим в другой раз.


Сегодня я расскажу как отформатировать том в файловой системе REFS. Я предполагаю, что вы уже прочитали мои прошлые заметки о Storage Spaces и умеете создавать том. Начиная с Windows 10 1709 Microsoft убрала поддержку создания и форматирования томов в файловой системе REFS. Теперь этот функционал доступен в Windows 10 Professional for Workstation и Windows 10 Enterprise. Но не было-бы этой заметки, если-бы не было вариантов обхода.



Способ первый: mkrefs


Разумеется нашелся умелец с GitHub, написавший mkrefs. Утилита проста в использовании, запускается из командной строки.

Форматирование томов REFS в Windows 10 старше 1703 Storage spaces, Windows 10, Hyper-v, Длиннопост

Способ второй: использование Hyper-V


Этот способ позволяет напрямую работать с дисками в разных операционных системах. Мне приходилось пробрасывать EXT4 том в Debian.


Метод предполагает возможность запуска Hyper-V на компьютере, где предполагается форматировать диск. По сути, мы пробросим виртуальный том Storage Spaces внутрь виртуальной машины, где установлена Windows Server Insider Preview.

Для начала нам следует отключить том в операционной системе хоста через оснастку управления дисками.

diskmgmt.msc

Форматирование томов REFS в Windows 10 старше 1703 Storage spaces, Windows 10, Hyper-v, Длиннопост

Далее в параметрах виртуальной машины подключаем том.

Форматирование томов REFS в Windows 10 старше 1703 Storage spaces, Windows 10, Hyper-v, Длиннопост

У меня стоит Core версия Windows Server, но приведенные команды подойдут для любого случая. Откроем диспетчер дисков diskpart.

diskpart

Проверим список дисков. если у нужного диска статус "не в сети", выполняет команды: set disk; online

list disk

Выясняем номер нужного тома и выбираем его

list volume

Select volume

Форматируем том.

Format FS=REFS QUICK

Форматирование томов REFS в Windows 10 старше 1703 Storage spaces, Windows 10, Hyper-v, Длиннопост

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

Форматирование томов REFS в Windows 10 старше 1703 Storage spaces, Windows 10, Hyper-v, Длиннопост
Показать полностью 5
[моё] Storage spaces Windows 10 Hyper-v Длиннопост
9
126
mfc166
mfc166
6 лет назад
Лига Сисадминов

Дисковые пространства: обработка чрезвычайных ситуаций⁠⁠

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

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

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


Предыдущие статьи по теме:

Дисковые пространства Windows 10 1803

Дисковые пространства: начало работы


Давайте рассмотрим несколько аварийных ситуаций и посмотрим на поведение Storage Spaces в разных сценариях.


Отключение одного диска.


Мы имеем дисковый пул и на нем размещено все четыре вида тома: простой, двухстороннее зеркало, трехстороннее зеркало и четность.

Один диск из пяти выше отключен.

Тома четность, двухстороннее и трехсторонние зеркала перешли в состояние "предупреждение". Зеркальные тома продолжают нормально функционировать, четность работает очень медленно даже на чтение.

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

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Отключение двух дисков из пяти. Хотели жести? Держите. Из пяти дисков осталось три. Мы видим, что система разрешает просмотр файлов на томах. Повторюсь, это происходит из-за малого заполнения томов. Данные всё ещё доступны. Трехстороннее зеркало доступно на запись.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост
Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Выход из строя трех дисков


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

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост
Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Восстановление целостности. Давайте рассмотрим варианты выхода из сложившихся ситуаций:

- Если мы отключили диски намеренно или случайно, вернем их системе.

- Если диск вышел из строя, добавляем новый. Затем удаляем старый.

- А теперь самое интересное: если для виртуальных томов есть запас по количеству дисков, можно перестроить массив, не добавляя новых дисков и исключив сбойный.


Для этого количество дисков должно быть следующее:

- Двухстороннее зеркало > 2 дисков

- Трехстороннее > 5 дисков

- Четность > 3 Дисков.


Давайте вернем в систему - начнется синхронизация, данные стали доступны.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Относительно замены диска на исправный. Процедура скучная и описана в предыдущей заметке. Сначала диск добавляем, потом удаляем старый. При удалении диска выдает ошибку, но диск удаляет.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Сначала добавляем новый диск.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Выбираем диск для добавления.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

После окончания оптимизации (но можно в данном случае и без неё) подготавливаем диск к удалению.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Систему выдает ошибку, но мы продолжаем.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Окончательно удаляем диск.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

А теперь моё любимое. Представьте себе ситуацию: вышел из строя диск. Виртуальные тома в состоянии "предупреждение". Данные в опасности, но запасного диска нет.

Важный момент. Если дисков на один больше, чем требует избыточность и свободного пространства пула достаточно, будет активна команда "удалить" напротив сбойного диска.

Помните первую статью? Суммарный объем томов может быть больше объема пула. При нехватке места можно будет добавить диски. Но это будет потом, а делать надо уже сейчас.

Следите за рукой.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Диск вышел из строя

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Начинаем удаление сбойного диска.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Начинается перестройка пула.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Удаляем диск.

Дисковые пространства: обработка чрезвычайных ситуаций Windows 10, Storage spaces, Длиннопост

Вжух! Готово!

Баянометр клинит.

Показать полностью 18
[моё] Windows 10 Storage spaces Длиннопост
34
202
mfc166
mfc166
6 лет назад
Лига Сисадминов

Дисковые пространства: начало работы⁠⁠

В это заметке Я рассмотрю процесс работы с дисковым пулом и виртуальными томами.


Вводная статья по теме тут:


Дисковые пространства Windows 10 1803


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Примерно так выглядят диски в диспетчере устройств.



Далее в панели управления найдем «Дисковые пространства» и приступим к созданию первого пула. Следует отметить те диски, что должны участвовать в пуле. Данные на дисках будут уничтожены. Это могут быть, как IDE, SATA, SAS, iSCSI, SCSI или USB диски любого размера.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Для создания пула потребуются административные привилегии. Выбираем диски.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Сразу после создания пула нам будет предложено создать первый виртуальный том. Из предыдущей заметки вы знаете о видах томов и скорее всего, знаете свой выбор. Вы можете выбрать тип устойчивости и букву с меткой тома. Вам следует указать размер тома. Это будет полезный размер тома. Этот объем будет доступен для данных. В поле ниже указан размер, занимаемый данными с учетом избыточности. Во избежание сложностей, советую задавать размер тома таким образом, что-бы пространства пула хватило для данных с избыточностью. Несложно рассчитать для случая, если томов будет несколько. Всегда можно увеличить объем тома.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

После создания тома мы видим созданный дисковый пул и элементы управления томами.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Для наглядности я создал по одному тому каждого вида. Посмотрим, как это отразится в системе:

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

В диспетчере устройств появились новые накопители.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

В проводнике виртуальные тома отображаются как обычные накопители



Теперь рассмотрим работу с томами. Томами управлять очень легко. Тома можно создавать, удалять и увеличивать.

1) Добавление виртуального тома


Новый том добавляется предельно просто. Требуется указать объём, выбрать букву и тип избыточности.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Параметры создаваемого тома. Система сразу сообщает Размер тома включая избыточность.



2) Удаление виртуального тома


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

3) Увеличение виртуального тома


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Том Е до увеличения. Ёмкость составляет  21,8 Гб.

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Увеличение объёма тома Е. Изменим размер до 3 Тб. Не нуачо?!

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Новый объем тома Е



Рассмотрим работу с пулами. Любые действия с пулами подразумевают сохранность данных в виртуальных томах. Если для работы виртуального тома требуются ещё диски, система попросит добавить. Если захотите убрать диск, при условии наличия свободного пространства, это можно сделать. Можно заменить маленький диск на большой или старый на новый.



1) Добавление дисков


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

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

Виртуальные тома используют пространство пула наиболее равномерно. Но разные типы избыточности могут привести к неравномерному использованию пространства. При исчерпании свободного пространства на дисках требуется добавить диски и/или оптимизировать дисковое пространство.


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Тома заблокированы из-за недостатка свободного пространства

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Свободное пространство первых трех дисков исчерпано.

2) Удаление дисков


Начиная с Windows 10 появился функционал удаления дисков. Удаление дисков может использоваться в следующих случаях:

- Удаление изношенного диска

- При перемещении диска в другой пул

- При замене диска на более ёмкий


Перед удалением диска следует его освободить от хранящихся на нем данных. Для этого воспользуемся пунктом "Удалить из пула" раздела "Физические диски".

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Выбор диска для удаления

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Подтверждаем начало процесса

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Началась оптимизация дискового пространства



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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Диск готов к удалению

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Удаление диска из пула



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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

К удалению доступны не все диски



3) Обновление пула.


Дисковые пространства обладают хорошей переносимостью. Переносить можно только сразу все диски пула. Более новые версии Windows поддерживают пулы более старых. Обратная совместимость не гарантируется.


Рассмотрим пример. Пул был создан в Windows 8 и перенесен в Windows 10 1803. Как мы видим, Windows 10 корректно определила пул и виртуальные диски в нем. Windows 10 поддерживает следующие новые функции работы с пулами:


- Оптимизация пулов

- Удаление дисков


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

4) Оптимизация


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

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Начало оптимизации пула

Дисковые пространства: начало работы Windows 10, Storage spaces, Длиннопост

Пул оптимизирован.



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

Процесс создания дискового пула и виртуальных томов достаточно упрощен для пользователя. Есть конечно вариант создания через Power Shell, но об этом в другой раз.


Баяномерт нес какую-то дичь. Все материалы оригинальные  сделаны мной.

Показать полностью 24
[моё] Windows 10 Storage spaces Длиннопост
121
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии