Telegram Web
Нашло на меня желание погуглить реализации упрощающих жизнь фич паблик клаудов под openstack. Из серии "нет, мы не спиздили, а opensource альтернативу предоставили", ну вы поняли.

Например вот имплементация Cloud Shell под openstack. Создает контейнер под пользователя, в котором уже есть нужные клиенты и экспортированны переменные окружения для работы с API. Пароль, видимо в целях безопасности, не импортируется. Хотя это какой-то рак. Если так очко жмет на парольное палево, то как минимум можно было бы посмотреть в сторону аутентификации по токену.

Нуштош, они хотя бы попытались, и на том спасибо.
У меня опять есть пост не про линуксы.

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

Последние два года я организовывал свою работу в OneNote. Было довольно удобно. В прошедшую пятницу я решил переехать в Nortion. Потратил на это фактически весь день, и очень этим доволен.

Если очень кратко, то вопринимайте Nortion как интерактивную базу данных. Создайте страницу, породите для нее чилда, сформулируйте для него шаблон. Теперь все чилды будут создаваться по этому шаблону, а со страницы-родителя можно фильтровать всех чилдов как вам удобно. Хотите таблицу с определенными колонками которые будет выборкой пропертей чилдов? Легко. Канбан-доска? Возьмите две. Родмап? Пристегните ремни и подержите моё пиво. Всего этого мне очень не хватало в OneNote и я наконец-то нашел удобный инструмент.

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

UNDERSTANDING THE DEVICE RENAMING PROCEDURE
вот вам оммаж, я слышал это сейчас модный мем
Есть два способа поднять k8s:
1. k8s quick start box (для детей от 4 лет)
2. kubernetes the hard way
Если вы вдруг уперлись в производительность cephfs на туевевой хуче мелких файлов, то обратие внимание на то, сколько MDS пожирает cpu на вашем мастере. Вангую что 100%.

Все потому что
The present version of the MDS is single-threaded and CPU-bound for most activities, including responding to client requests.
(поньк)

Впрочем, это на мимике я такой на выводы дерзкий. Там MDS active/standby, а так пацаны во дворе говорили что наутилус\октопус уже может в мультимастер, распределение нагрузки между мастерами, управление даже какой мастер какую папку будет обслуживать, но это не точно.
Сегодня вроде как 256 день года, так что с праздничком вас, мои дорогие стэковерфлоу ямл девелоперы!
Если вы вдруг сидите в ночи и думаете над вечной диллемой: выключить напродакшене KPRI и ждать когда вас выебет Meltdown/Spectre, или же не выключать, но пососать лапу просевшей производительности, то для вас у меня нет ответа.

Для тех кто ничего не понял, но захотел разобраться, рекомендую к прочтению вот этот текст.
А теперь хоть что-то полезное на канале
Забирайте, какой-то добрый усатый человек поделился парой книг в формате PDF: Linux Bible и Linux system administration
Если у вас есть гештальт по рисованию диаграмм на python, то давайте его закроем с помощью этой библиотеки
Узнал тут что Intel выпускает свой CPU Manager которым в кубере можно через taskset автоматически пинить задачу на опреденный cpu, даже если вы выкинули его из линуксового шедулера при загрузке, дописав isolcpus в GRUB.

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

Взяли мы тут на тесты схд от 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 на новые луны. При таком количестве путей это занимает слишком много времени, чтобы вы уложились в стандартное окно.
Привет, хотите немного своего s3 быстро и бесплатно?
Думаю всем понятно что бесплатно бывает на локальной виртуалке, так что давайте сфокусируемся на слове быстро, и задеплоим 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/minio
chmod +x minio
mv ./minio /usr/bin/
4. Запускаем сервер
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/mc
chmod +x mc
mv ./mс /usr/bin/mmc
6. Включаем автодополнение по TAB и авторизуемся клиентом на сервере
mmc --autocompletion
mmc alias set myminio http://localhost:9000 minioadmin minioadmin
7. PROFIT

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

http://comparecloud.in/
Вот вам грязных хак, который полезно знать если вы пробуете оживить залипшее pci устройство без перезагрузки ОС.

В данном примере у нас есть сетевая карта 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/
2024/09/11 08:11:21
Back to Top
HTML Embed Code: