Pull to refresh
72
0

IT Engineer

Send message

Хорошая статья, но эта кроличья нора очень глубока

  • Могут быть баги в ядре и драйверах, из-за которых данные меняются в процессе записи https://habr.com/ru/articles/263893/

  • Могуи быть странности изменением данных во время сбороса страниц на диск https://habr.com/ru/articles/219295/comments/#comment_7493865

  • Даже у HDD сейчас есть свой кэш, который может жить своей жизнью (не говоря уж о SSD)

  • Нехорошие прошивки контроллеров могут возвращать управление после SYNC, не дожидаясь записи на диск

  • Прошивки СХД могут вообще игнорировать SYNC, надеясь на батарейную (суперконденсаторную) защиту кэша

  • И т.д.

Как я понимаю, можно вообще отделить описание создаваемых объектов (инвентори) от собственно плейбуки по их созданию, а плейбуку сделать универсальной с учетом порядка создания объектов. Можно даже какие-то смоук-тесты предусмотреть после создания.
Все же immutability — это круто, в публичных облаках это, возможно, единственно правильный подход для окружений больше чем из трех VM. Я пропустил еще один плюс таких систем (кажется, этого нет в статье) — скорость разворота. Если у вас все в образах, то скорость разворота нового окружения фактически равна скорости загрузки виртуалок. Коммьюнити-скрипт установки Openshift может работать час, потому что последовательно проходит все шаги. начиная с установки RPM-ок. В GCP managed-облако Kubernetes стартует за пять минут.

Например, GCP умеет делать снапшоты дисков (и они даже консистентны, ну по крайней мере мы ни разу не натыкались, что они не были)

Я тут про то, что если, например, кластер etcd. Снепшот одной ноды не имеет смысла — за время снэпшота остальные ноды убегут вперед, а если текущая подвиснет — просто временно выкинут ее из кластера. Впрочем, immutability решает кучу других проблем, так что остается время подумать, как правильно делать бэкап с кластерных прложений.

И спасибо за статью. Все-таки Хабр еще торт )
Согласен, тема сложная и требует отдельного анализ для каждого stateful-приложения, которые еще и кластерные всегда, и поэтому простой volume snapshot для них не работает. Еще интересно, когда таких БД несколько (например, SQL и NoSQL) и надо как-то обеспечивать консистентность данных во время бэкапа.
Но все же это большой прогресс по сравнению с «традиционным» подходом — тут мы хотя бы отделяем state от приложения и ОС и не приходится потом этот state искать, когда он тонким слоем размазан по всей файловой системе.
Подробные правила можно найти здесь, а я отмечу самое важное — гласный звук в окончании «-ed» произносится только если исходное слово заканчивается на t или d

Есть слова-исключения, например, wicked — www.englishclub.com/pronunciation/-ed.htm
Я кажется нашел себе такой:
CHUWI LapBook Pro 14.1/Intel Gemini-Lake N4100 (4 cores)/8 Gb RAM/256 GB SSD M.2
+ Полностью металлический корпус, выглядит неплохо
+ Пассивное охлаждение
+ Вес — 1460 г. (только что взвесил)
+ Толщина в самой толстой части без учета ножек — 13 мм (мерил детским транспортиром с линейкой, за точность не ручаюсь)
+ Процессор со снятым на уровне BIOS (UEFI) лимитом на энергопотребление
+ Кажется, лицензионная Win10 (наклейки нет, но в BIOS ключ вшит)
+ SSD диск можно поменять на другой SATA M.2
+ FullHD IPS экран
+ Подсветка клавиатуры
+ Физические стрелки, Home/End/PgUp/PgDown/SysRq
+ Аппаратное декодирование 4K, видеокарты хватает на игру в танки
+ Батареи хватает на несколько часов, точно не замерял, но часов на 5 должно хватить
+ Ubuntu 18.04 встала сразу, всё оборудование определилось, декодирование видео работает.
+ Цена — 22000 р. За такие деньги можно и рискнуть )
==========
— Китайский китай, толщина нижней металлической крышки — 0,5 мм наверное
— 2 USB порта, microHDMI, наушники и все
— Из 2-х USB портов один — type C без поддержки Power delivery, используется для зарядки напряжением 12 В. Вроде он может работать и как обычный порт, но заряжаться тогда не через чего. Как там это распаяно, еще не копал, но схема с подключением внешнего USB-хаба с поддержкой PD и зарядкой через него вряд ли сработает.
— Охлаждение оказалось так себе и в играх ноут перегревался. Радиатор процессора (медная пластина) бал прикручен не теми винтами и прилегал неплотно. Заменил болты на те, что используются в iPAD 3, поменял пасту, поставил термопрокладку в 1 мм между радиатором и корпусом — перегрев прекратился.
— Кнопки Insert нет совсем — даже через Fn. Delete есть, а Insert нет
— Экран глянцевый, под прямыми лучами бликует сильно
Скажите пожалуйста, вы используете bluestore или filestore в качестве бэкенда хранения? И еще вопрос — включали ли вы компрессию?
В минимальной установке уже нет ifconfig, но можно поставить.
Если запись была создана в DNS вручную (хотя бы один раз после протухания), или в DHCP разрешено небезопасное обновление DNS — то да.
Со временем запись в DNS, сформированная после net ads join, протухает.
Нужно в cron (ну или куда там) добавить «net ads dns register -P»
Под линуксом лимит на длину пути — 4096 байта, если нужно больше — перекомпилируйте ядро

https://github.com/torvalds/linux/blob/master/include/uapi/linux/limits.h
#define NAME_MAX 255 /* # chars in a file name */
#define PATH_MAX 4096 /* # chars in a path name including nul */


Под виндой, если использовать UNC (\\?\, не все программы умеют, например Double Commander — нет, а Total Commander — да) — около 32767, если обычным путем — 255.
Скажите пожалуйста, вы используете собственный протокол синхронизации кэша поверх SAS?
Не ругайтесь, уже всё запатчили четыре дня назад https://www.debian.org/security/2017/dsa-3904
Вероятнее всего, отказ связан с потерей Write-back кэша массива из-за его горячего отключения

Простите, то есть кэш на запись есть. а его батарейной защиты нет?
Зачем менять Proxmox? У него конфликт со всем, что предоставляет libvirt (строка Provides в control-файле), а ваш пакет будет предоставлять libvirt-custom, и все дела.
Решение в лоб — не помогло, попытка установить libvirtd потребовала удаления proxmox.

Вроде Proxmox основан на пакетной базе Debian, значит, чтобы избежать проблем с зависимостями, нужно было чуть-чуть подправить control-файл в deb-пакете libvirt и у вас бы все встало. Или проблема была глубже и конфликт был на уровне файлов/библиотек?
запускаем систему и ставим всё что нам необходимо в нашем контейнере — не нарушив ничего у заказчика

Можно было бы вообще загнать libvirt c QEMU внутрь полноценной виртуальной машины с помощью nested kvm, но там IOPS немного просядут, зато изоляция полная )

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

Вопрос открытых или не открытых исходных кодов ОС — это вещь первостепенная. Сколько литров кофе потратили сотрудники компании во время реверс-инжиниринга, сколько нервных клеток пало в неравной борьбе с плохо протестированным кодом? И все равно пофиксить эту уязвимость типа «отказ в обслуживании» своими силами нельзя — исходников нет, и даже если написать свой фильтр-драйвер и проверять все вызовы NtCreateFile, то для такого драйвера нужна подпись Майкрософт, а она есть не у всех.

Если бы исходники были открыты, достаточно было бы взять отладчик, поставить брейкпоинт, заменить пару строчек, пересобрать модуль и готово.
Простите меня за неточность в терминологии, на мой взгляд, допустимую в статье, рассчитанной на широкого читателя. Да, конечно, УЦ не выдает ЭЦП, но создает на базе запроса на сертификат квалифицированный сертификат проверки подписи (КСКП). Но у большинства пользователей, особенно, так сказать, конечных — не читавших регламенты УЦ, но имеющих доступ к порталам закупок, выражение «получить ЭЦП» означает именно
1. Поехать в УФК, получить там АРМ генерации запросов на сертификаты
2. Поехать к частнику, купить у него токен и Крипто-ПРО (если не выдало УФК)
3. Установить АРМ, сгенерировать ключевую пару, передать запрос на сертификат в УФК с соответствующей документацией
4. Получить в УФК собственно КСКП
Что такое КСКП пользователи (не администраторы безопасности), как правило, не знают. Поэтому я решил использовать термин «ЭЦП» как понятный большинству пользователей.
По поводу остального — как я понимаю, доступ на портал госуслуг в закрытую часть для юридических лиц в любом случае требует плагина и гостовской криптографии, а статья — как раз про юридические лица.
Готов он к продакшену или нет — это философский вопрос, важнее, что его уже применяют в продакшене, даже с багами (уже пофиксили). Кроме того, альтернативы-то нет, только колхоз с ebtables/iptables, который превращается в ад, когда у вас много хостов и VM переезжают с одного хоста на другой автоматически с миграцией сетевых правил.

По поводу производительности — на скорую руку сделал тест на mininet для одного коммутатора:

*** Iperf: testing TCP bandwidth between h1 and h2
*** Results: ['5.57 Gbits/sec', '5.56 Gbits/sec']


при 50% загрузке десктопного процессора.

Благодаря правилам OVS можно гибко настроить, чтобы дропать пакеты от злонамеренных клиентов.
По поводу применения — OVS спроектирован под системы виртуализации, как VMWare VDS и аналогичный продукт от MS, вряд ли его можно применять где-то за пределами таких сред. OF как протокол поддерживается определенным количеством аппаратных коммутаторов, но бюджетными эти решения не назовешь, плюс надо разбираться с ограничениями, которые накладывает аппаратная платформа. Я, честно говоря, с такой инфраструктурой не сталкивался

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Registered
Activity