Нашло на меня желание погуглить реализации упрощающих жизнь фич паблик клаудов под openstack. Из серии "нет, мы не спиздили, а opensource альтернативу предоставили", ну вы поняли.
Например вот имплементация Cloud Shell под openstack. Создает контейнер под пользователя, в котором уже есть нужные клиенты и экспортированны переменные окружения для работы с API. Пароль, видимо в целях безопасности, не импортируется. Хотя это какой-то рак. Если так очко жмет на парольное палево, то как минимум можно было бы посмотреть в сторону аутентификации по токену.
Нуштош, они хотя бы попытались, и на том спасибо.
Например вот имплементация Cloud Shell под openstack. Создает контейнер под пользователя, в котором уже есть нужные клиенты и экспортированны переменные окружения для работы с API. Пароль, видимо в целях безопасности, не импортируется. Хотя это какой-то рак. Если так очко жмет на парольное палево, то как минимум можно было бы посмотреть в сторону аутентификации по токену.
Нуштош, они хотя бы попытались, и на том спасибо.
У меня опять есть пост не про линуксы.
Может сложиться впечатление что я вам что-то хочу впарить, но я просто хочу поделиться удачным опытом замены одного удобного инструмента на другой.
Последние два года я организовывал свою работу в OneNote. Было довольно удобно. В прошедшую пятницу я решил переехать в Nortion. Потратил на это фактически весь день, и очень этим доволен.
Если очень кратко, то вопринимайте Nortion как интерактивную базу данных. Создайте страницу, породите для нее чилда, сформулируйте для него шаблон. Теперь все чилды будут создаваться по этому шаблону, а со страницы-родителя можно фильтровать всех чилдов как вам удобно. Хотите таблицу с определенными колонками которые будет выборкой пропертей чилдов? Легко. Канбан-доска? Возьмите две. Родмап? Пристегните ремни и подержите моё пиво. Всего этого мне очень не хватало в OneNote и я наконец-то нашел удобный инструмент.
Держу в курсе, крч.
Может сложиться впечатление что я вам что-то хочу впарить, но я просто хочу поделиться удачным опытом замены одного удобного инструмента на другой.
Последние два года я организовывал свою работу в OneNote. Было довольно удобно. В прошедшую пятницу я решил переехать в Nortion. Потратил на это фактически весь день, и очень этим доволен.
Если очень кратко, то вопринимайте Nortion как интерактивную базу данных. Создайте страницу, породите для нее чилда, сформулируйте для него шаблон. Теперь все чилды будут создаваться по этому шаблону, а со страницы-родителя можно фильтровать всех чилдов как вам удобно. Хотите таблицу с определенными колонками которые будет выборкой пропертей чилдов? Легко. Канбан-доска? Возьмите две. Родмап? Пристегните ремни и подержите моё пиво. Всего этого мне очень не хватало в OneNote и я наконец-то нашел удобный инструмент.
Держу в курсе, крч.
Давайте этим теплым пятничным вечером раз и навсегда закроем вопрос переименования девайсов в этих ваших федорах, редхатах и центосах
UNDERSTANDING THE DEVICE RENAMING PROCEDURE
UNDERSTANDING THE DEVICE RENAMING PROCEDURE
Red Hat Customer Portal
11.2. Understanding the Device Renaming Procedure Red Hat Enterprise Linux 7 | Red Hat Customer Portal
Access Red Hat’s knowledge, guidance, and support through your subscription.
Если вы вдруг уперлись в производительность cephfs на туевевой хуче мелких файлов, то обратие внимание на то, сколько MDS пожирает cpu на вашем мастере. Вангую что 100%.
Все потому что
Впрочем, это на мимике я такой на выводы дерзкий. Там MDS active/standby, а так пацаны во дворе говорили что наутилус\октопус уже может в мультимастер, распределение нагрузки между мастерами, управление даже какой мастер какую папку будет обслуживать, но это не точно.
Все потому что
The present version of the MDS is single-threaded and CPU-bound for most activities, including responding to client requests.(поньк)
Впрочем, это на мимике я такой на выводы дерзкий. Там MDS active/standby, а так пацаны во дворе говорили что наутилус\октопус уже может в мультимастер, распределение нагрузки между мастерами, управление даже какой мастер какую папку будет обслуживать, но это не точно.
Если вы вдруг сидите в ночи и думаете над вечной диллемой: выключить напродакшене KPRI и ждать когда вас выебет Meltdown/Spectre, или же не выключать, но пососать лапу просевшей производительности, то для вас у меня нет ответа.
Для тех кто ничего не понял, но захотел разобраться, рекомендую к прочтению вот этот текст.
Для тех кто ничего не понял, но захотел разобраться, рекомендую к прочтению вот этот текст.
А теперь хоть что-то полезное на канале
Забирайте, какой-то добрый усатый человек поделился парой книг в формате PDF: Linux Bible и Linux system administration
Забирайте, какой-то добрый усатый человек поделился парой книг в формате PDF: Linux Bible и Linux system administration
Если у вас есть гештальт по рисованию диаграмм на python, то давайте его закроем с помощью этой библиотеки
Mingrammer
Examples · Diagrams
Here are some more examples.
Узнал тут что Intel выпускает свой CPU Manager которым в кубере можно через taskset автоматически пинить задачу на опреденный cpu, даже если вы выкинули его из линуксового шедулера при загрузке, дописав isolcpus в GRUB.
А для опентака такой фичи никто не выпускает. Пидары.
А для опентака такой фичи никто не выпускает. Пидары.
Intel
AI Partners and Solutions: Intel® Partner Alliance - Intel
Learn how working with the Intel AI partners can help your business take a simpler path to AI-enhanced results.
Вот вам такая история.
Взяли мы тут на тесты схд от PureStorage. У них в гайдлайнах пишут
Ок, у нас было 12 FC портов на СХД, 6 FC портов со стороны сервера, и один пятничный вечер.
Step 1. Запускаем, презентуем лун гипервизору. Работает. 62 пути для 1 блочного устройства, тетя Глаша скорее шваброй в датацентре все 4 PDU в одном рэке от сервера оторвет, чем все эти 62 пути до сдх отключит.
Step 2. Следите за рукой:
- Заводим гипервизор в openstack
- Конфигурим там cinder-volume сервис
- Инсталлируем драйвер под новый сторадж
- Деплоим на гипервизор 35 виртуалок с бутлуном на схд.
- Заходим на гипервизор, выполняем команду lsblk, смотрим как называется последнее подключенное блочное устройство.
Не буду портить интригу, у меня после всех тестов получился sdczz (sic!) и больше 3k путей до СХД.
А теперь мы выключаем по питанию первый гипервизор и пробуем сделать эвакуацию на второй. Не забудьте увеличить RPC таймауты для сервиса, который должен выполнять миграцию и опрашивать multipath на новые луны. При таком количестве путей это занимает слишком много времени, чтобы вы уложились в стандартное окно.
Взяли мы тут на тесты схд от PureStorage. У них в гайдлайнах пишут
Use all of FlashArray's Fibre Channel ports
Ок, у нас было 12 FC портов на СХД, 6 FC портов со стороны сервера, и один пятничный вечер.
Step 1. Запускаем, презентуем лун гипервизору. Работает. 62 пути для 1 блочного устройства, тетя Глаша скорее шваброй в датацентре все 4 PDU в одном рэке от сервера оторвет, чем все эти 62 пути до сдх отключит.
Step 2. Следите за рукой:
- Заводим гипервизор в openstack
- Конфигурим там cinder-volume сервис
- Инсталлируем драйвер под новый сторадж
- Деплоим на гипервизор 35 виртуалок с бутлуном на схд.
- Заходим на гипервизор, выполняем команду lsblk, смотрим как называется последнее подключенное блочное устройство.
Не буду портить интригу, у меня после всех тестов получился sdczz (sic!) и больше 3k путей до СХД.
А теперь мы выключаем по питанию первый гипервизор и пробуем сделать эвакуацию на второй. Не забудьте увеличить RPC таймауты для сервиса, который должен выполнять миграцию и опрашивать multipath на новые луны. При таком количестве путей это занимает слишком много времени, чтобы вы уложились в стандартное окно.
Pure Technical Services
SAN Guidelines for Maximizing Pure Performance
Привет, хотите немного своего s3 быстро и бесплатно?
Думаю всем понятно что бесплатно бывает на локальной виртуалке, так что давайте сфокусируемся на слове быстро, и задеплоим Minio в самой простой конфигурации.
1. Поднимаем маленькую виртуалку 2х4 cpu\ram, и подключаем к ней 4 диска, например по 10Gb каждый
2. Размечаем диски на партиции, форматируем в xfs, монтируем их по одному в каталог, например в /minio/disk-{1..4}
3. Скачиваем бинарь сервера, делаем исполняемым, копируем куда-нибудь к другим бинарникам на вашей системе
4.2 если нет желания писать сервис, то запустите сервер в screen\tmux
5. Скачиваем бинарь клиента, делаем исполняемым, переименовываем, копируем куда-нибудь к другим бинарникам на вашей системе
Эта установка за 10 минут отлично подойдет для тестов, но для нормального prod-like решения надо будет доработать
Думаю всем понятно что бесплатно бывает на локальной виртуалке, так что давайте сфокусируемся на слове быстро, и задеплоим Minio в самой простой конфигурации.
1. Поднимаем маленькую виртуалку 2х4 cpu\ram, и подключаем к ней 4 диска, например по 10Gb каждый
2. Размечаем диски на партиции, форматируем в xfs, монтируем их по одному в каталог, например в /minio/disk-{1..4}
3. Скачиваем бинарь сервера, делаем исполняемым, копируем куда-нибудь к другим бинарникам на вашей системе
wget https://dl.min.io/server/minio/release/linux-amd64/minio4. Запускаем сервер
chmod +x minio
mv ./minio /usr/bin/
minio server /minio/disk-{1...4}4.1 обратите внимание на три точки {1...4}. Это не опечатка, это фича, о которой можно почитать отдельно
4.2 если нет желания писать сервис, то запустите сервер в screen\tmux
5. Скачиваем бинарь клиента, делаем исполняемым, переименовываем, копируем куда-нибудь к другим бинарникам на вашей системе
wget https://dl.min.io/client/mc/release/linux-amd64/mc6. Включаем автодополнение по TAB и авторизуемся клиентом на сервере
chmod +x mc
mv ./mс /usr/bin/mmc
mmc --autocompletion7. PROFIT
mmc alias set myminio http://localhost:9000 minioadmin minioadmin
Эта установка за 10 минут отлично подойдет для тестов, но для нормального prod-like решения надо будет доработать
MinIO
MinIO | S3 & Kubernetes Native Object Storage for AI
MinIO's High Performance Object Storage is Open Source, Amazon S3 compatible, Kubernetes Native and is designed for cloud native workloads like AI.
Вот вам грязных хак, который полезно знать если вы пробуете оживить залипшее pci устройство без перезагрузки ОС.
В данном примере у нас есть сетевая карта X710 под i40e драйвером, которая прекрасно работала, пока со стороны свитча не положили порт. Потом порт на свитче включили, но сетевая карта считает что порт все еще NO-CARRIER, а в dmesg ругается на несовместимую SFP.
В данном примере у нас есть сетевая карта X710 под i40e драйвером, которая прекрасно работала, пока со стороны свитча не положили порт. Потом порт на свитче включили, но сетевая карта считает что порт все еще NO-CARRIER, а в dmesg ругается на несовместимую SFP.
# ethtool -i p4p1 |grep bus-info
bus-info: 0000:82:00.0
# echo 1 > /sys/bus/pci/devices/0000\:82\:00.0/remove
#
# echo 1 > /sys/bus/pci/rescan
Важное дополнение. Когда мы триггерим remove, в этот момент устройству посылается PCI reset. Если устройство это событие обрабатывает и действительно делает себе reset то это помогает. Если устройством это событие не обрабатывается, то из вариантов остается только ребут.
Хороший, годный лонгрид про то что и где крутить в сетевой карте и системе чтобы ускорить обработку пакетов не пускаясь во все тяжкие с dpdk или sr-iov
https://blog.cloudflare.com/how-to-achieve-low-latency/
https://blog.cloudflare.com/how-to-achieve-low-latency/
The Cloudflare Blog
How to achieve low latency with 10Gbps Ethernet
In a recent blog post we explained how to tweak a simple UDP application to maximize throughput. This time we are going to optimize our UDP application for latency. Fighting with latency is a great excuse to discuss modern features of multiqueue NICs.