Моя записная книжка. Комментарии отключены из-за спама. Для вопросов используйте эту страничку

Позднее Ctrl + ↑

ESP8266 NodeMCU V3 Lua

Готовые прошивки теперь компилятся в облаке вот тут: https://nodemcu-build.com/
Прошивальщик берем вот тут: https://github.com/nodemcu/nodemcu-flasher
Для работы с платой удобнее всего оказался https://github.com/4refr0nt/ESPlorer

При прошивке надо убедиться что со скоростью порта всё норм, я делал принудительно 9600, это чуть дольше, но без проблем.
Также момент, у меня после прошивки ESP8266 срала в порт мусором. Не знаю в чем было дело точно, но решил так:

  1. Компилим прошивку: к дефолту добавлял i2c, http, tsl2561. SSL/TSL не добавлял, размер больше, а разницы никакой и https не заработает.
  2. Заливаем её флэшером на адрес 0x000000
  3. Не закрывая флэшер указываем прошивку «INTERNAL://BLANK» и льем её по адресу 0x3FC000

Это всё справедливо для ESP-12/Е/F с 4мб памяти. Частота вроде бы 26,7МГц 40МГц.

p.s. Попробовал перепрошивать на скорости 115200 и с выставленной частотой 40МГц — тоже всё нормально. Иногда надо сделать пару перезагрузок.

 50   8 мес   esp8266

Управление P410 под linux

Утилита hpacucli сдохла, а hpssacli переименовалась в ssacli. Её и надо использовать.

Перечень команд https://gist.github.com/mrpeardotnet/a9ce41da99936c0175600f484fa20d03

На всякий случай копия основных.

Допустимые сокращения:
chassisname = ch
controller = ctrl
logicaldrive = ld
physicaldrive = pd
drivewritecache = dwc
licensekey = lk

Show available controllers

ssacli ctrl all show

Show controllers status

ssacli ctrl all show status

Show detailed controllers information

ssacli ctrl all show detail

Show controllers configuration

ssacli ctrl all show config

Rescan for new devices Useful after swapping disks in bays, etc...

ssacli rescan

Show all physical disks (or their status) (controller slot 0)

ssacli ctrl slot=0 pd all show
ssacli ctrl slot=0 pd all show status

Show all physical disks detailed information (controller slot 0)

ssacli ctrl slot=0 pd all show detail

Show logical drives (or their status) (controller slot 0, all or specific logical drive(s))

ssacli ctrl slot=0 ld all show
ssacli ctrl slot=0 ld all show status

ssacli ctrl slot=0 ld 1 show
ssacli ctrl slot=0 ld 1 show status

Show detailed logical drives information (controller slot 0, all or specific logical drive(s))

ssacli ctrl slot=0 ld all show detail
ssacli ctrl slot=0 ld 1 show detail

Show array information (controller slot 0, array A)

ssacli ctrl slot=0 array a show

Show array status (controller slot 0, all arrays)

ssacli ctrl slot=0 array all show status

Create new RAID 0 logical drive (controller slot 0, disk in port 1I:box 1:bay 1)

ssacli ctrl slot=0 create type=ld drives=1I:1:1 raid=0

Create new RAID 1 logical drive (controller slot 0, disks in port 1I:box 1:bay 1 and 2)

ssacli ctrl slot=0 create type=ld drives=1I:1:1,1I:1:2 raid=1

Create new RAID 5 logical drive (controller slot 0, diks in port 1I:box 1:bay 1 to 4)

ssacli ctrl slot=0 create type=ld drives=1I:1:1-1I:1:4 raid=5

Delete logical drive (controller slot 0, logical drive 1)

ssacli ctrl slot=0 ld 1 delete

Add new physical disks to logical drive (controller slot 0, logical drive 1, disks in port 1I:box 1:bay 6 and 7)

ssacli ctrl slot=0 ld 2 add drives=1I:1:6,1I:1:7

Add spare disks (controller slot 0, logical drive 1, array A, disks in port 1I:box 1:bay 6 and 7)

ssacli ctrl slot=0 array a add spares=1I:1:6,1I:1:7

Add global spare disks (controller slot 0, logical drive 1, all arrays, disks in port 1I:box 1:bay 6 and 7)

ssacli ctrl slot=0 array all add spares=1I:1:6,1I:1:7

Turn on/off blink logical drive LED (controller slot 0, logical drive 1)

ssacli ctrl slot=0 ld 1 modify led=on
ssacli ctrl slot=0 ld 1 modify led=off

Turn on/off blink physical disk LED (controller slot 0, physical disk port 1I:box 1:bay 1)

ssacli ctrl slot=0 pd 1I:1:1 modify led=on
ssacli ctrl slot=0 pd 1I:1:1 modify led=off

Modify smart array cache read and write ratio (controller slot 0, cacheratio 80% read/20% write)

ssacli ctrl slot=0 modify cacheratio=80/20

Show physical drive write cache status (controller slot 0)

ssacli ctrl slot=0 modify dwc=?

Enable/disable physical drive write cache (controller slot 0) Important: Because physical drive write cache is not battery-backed, you could lose data if a power failure occurs during a write process. To minimize this possibility, use a backup power supply.

ssacli ctrl slot=0 modify dwc=enable
ssacli ctrl slot=0 modify dwc=disable

Show status of smart array write cache when no battery is present (no-battery write cache option, controller slot 0)

ssacli ctrl slot=0 modify nbwc=?

Enable/disable smart array write cache when no battery is present (no-battery write cache option, controller slot 0)

ssacli ctrl slot=0 modify nbwc=enable
ssacli ctrl slot=0 modify nbwc=disable

Enable/disable smart array cache for certain Logical Volume (controller slot 0, logical drive 1)

ssacli ctrl slot=0 ld 1 modify arrayaccelerator=enable
ssacli ctrl slot=0 ld 1 modify arrayaccelerator=disable

Enable/disable SSD Smart Path (controller slot 0, array A)

ssacli ctrl slot=0 array a modify ssdsmartpath=enable
ssacli ctrl slot=0 array a modify ssdsmartpath=disable

Show spare activation mode

ssacli ctrl slot=0 modify spareactivationmode=?

Set spare activation mode

ssacli ctrl slot=0 modify spareactivationmode=predictive
ssacli ctrl slot=0 modify spareactivationmode=failure

Show rebuild priority

ssacli ctrl slot=0 modify rp=?

Modify rebuild priority

ssacli ctrl slot=0 modify rp=low
ssacli ctrl slot=0 modify rp=medium
ssacli ctrl slot=0 modify rp=mediumhigh
ssacli ctrl slot=0 modify rp=high

Erase Physical Drive (controller slot 0, physical disk port 1I:box 1:bay 1)

ssacli ctrl slot=0 pd 1I:1:1 modify erase

 54   10 мес   hp   linux

Мне вас жаль

Эта фраза говорится, когда аргументов нет, а признать своё поражение очень не хочется. Является пассивно-агрессивной и выражает скрытое пожелание смерти. «Я бы вас убил, но не могу».

 83   11 мес   лурк

Читаем резюме

Динамичный работник — вечно где-то шляется.

Обладает представительскими навыками — классно врёт.

Коммуникабелен — много треплется по телефону.

Характер общительный — поддерживает каждую пьянку.

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

Самостоятельный работник — никто вообще не знает, что он делает.

Живой ум — всегда наготове отмазки.

Обладает взвешенными суждениями — не принимает решений.

Не всегда точно исполняет указания руководства — соображает лучше начальства.

Рационально подходит к сложным задачам — умеет спихнуть сложную работу на других.​​

Стремится к повышению — угощает сотрудников пивом.

Обладает свойствами лидера — на совещаниях орёт громче всех.

Проявляет внимание к деталям — копуша.

Эффективно использует рабочее время — часто смотрит на часы.

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

Ориентирован на служебный рост — ради карьеры готов на любую подлянку.

Верен интересам компании, исключительно лоялен — на другую работу устроиться не способен.

Использует каждую возможность для своего развития — часто поддаёт с начальством.

Тактичен — знает, когда нужно заткнуться.

Представляет большую ценность для компании — является на работу вовремя.

Свою работу любит — вполне можно платить ему меньше.

Далеко пойдёт — имеет родню в дирекции.

Часто консультируется с коллегами и руководством — всех задолбал уже.

Усердный работник — упрям, как осёл.

Аккуратен, вникает во все детали — зануда.

Спокойный характер — спит на рабочем месте.

Изобретателен — всегда найдёт сто причин, чтобы делать что угодно, только не то, что требуется.

Обладает неограниченным потенциалом — хрен выгонишь до пенсии.

 103   2022   юмор

Rsync

-r рекурсивно
-l пересоздавать линки
-p сохранить пермишнс
-t сохранить время
-g сохранить группу
-o сохранить владельца
-D пересоздавать устройства
-a аналог -rlptgoD

-z сжимать
—progress показывать прогресс
-n пробный прогон
-v с комментариями
-u только обновлять

например скопировать директорию не перенося повторно то, что там уже есть
rsync -rupogtv source destination

 71   2022   linux

bash

если есть ключ, но нет пароля:
ssh -i ssh_key login@host

ключ должен иметь режим 600
chmod 600 keyfile

создать файл из 100 блоков по 1 мегабайту рандомных цифр
dd if=/dev/urandom of=/tmp/somefile bs=1M count=100

сделать какую то манипуляцию 10000 раз в командной строке
for i in {0000..9999}; do cp /tmp/source /tmp/dest$i; done

найти все директории с правом записи для всех
find / -perm /o=w -type d

 60   2022   it   linux

Апгрейд сервера

Сейчас стоит Intel(R) Core(TM) i3-3240 CPU @ 3.40GHz (TDP 55 ватт, радиатор до 65 ватт рассчитан)

Хочу заменить на Intel Xeon E3-1265L V2
Прирост производительности в 1,5 раза, а TDP 45 ватт!

The Microserver Gen8 has a Socket 1155 platform, and will support Xeon E3 (Sandy Bridge) and Xeon E3 v2 (Ivy Bridge) processors —Xeon E3 v3 (Haswell) processors are a different architecture with a different socket (Socket 1150) and are *not* supported. IMO, these are the five processors to consider when upgrading the HP Microserver Gen8:

Xeon E3-1220L (2 cores, 4 threads, Sandy Bridge)
Xeon E3-1220L v2 (2 cores, 4 threads, Ivy Bridge)
Xeon E3-1260L (4 cores, 8 threads, Sandy Bridge)
Xeon E3-1265L v2 (4 cores, 8 threads, Ivy Bridge
Xeon E3-1230 v2 (4 cores, 8 threads, Ivy Bridge -see caveats)

Итоги.
Замена процессора на Xeon E3-1265L v2 прошла успешно, все легко разбирается и собирается. Заменил за одно термопасту.
Также заменил оригинальную HP 4Gb планку памяти на Samsung 8Gb и вот что заметил.
HP 4Gb стояла PC3L-12800E (низковольтная), а рядом стоял Kingstone 8Gb PC3-12800E (обычный). Т. е. PC3 и PC3L работали одновременно без проблем.
Добавленный Samsung также купил PC3L-12800E (просто не посмотрел). Если б покупал сейчас — купил бы без L чтобы одинаковые стояли.
У ILO временно оторван патчкорд, поэтому не могу сказать как сервер определил память, но работает без проблем.

В итоге стало в 2 раза больше ядер, явно больше производительность (мельком глянул по времени конвертирования видео), больше памяти. Можно переезжать на ESXi.

p.s.

Core stepping S-spec number(s) BIOS Partnumber
L1 QC8J, SR0RH F5 BX80637I33240, BXC80637I33240, CM8063701137900
P0 QCFX F7 CM8063701247800

p.p.s. Подключенные на мамку диски работают на 6Gbps, а вот воткнутые в корзину ВСЕ на 3Gbps.
Только сейчас нашел в мануале мелкий шрифт:

NOTE: HDD bays 1 and 2 support 6.0Gb/s SATA. HDD bays 3 and 4 support 3.0Gb/s SATA.

 108   2022   hp   todo   купить

CI/CD

CD — это когда ты только пушнул, а у клиента уже всё упало.

 73   2022   devops   юмор

P2V или как преобразовать физический сервер в виртуальный

Задача: превратить старый физический сервер с Debian11 в виртуальную машину на ESXi гипервизоре.
Вариант с конвертером (converter standalone / vCenter converter) у меня не удался ни разу, поэтому пошел другим путем.
В процессе понадобится виндовая машина со свободным местом на диске >= двухкратному размеру системного диска сервера.
При желании можно обойтись без нее.

  1. Подготовка.
    Останавливаем на сервере все задачи, изменяющие критичные данные (типа mysql).
    Убеждаемся что помним пароль рута, а если его не было — устанавливаем.
    Если кроме системного раздела на сервере были монтирующиеся дополнительные, но которые переносить не надо, желательно сразу отредактировать fstab — закоментить лишнее.
    Устанавливаем если ранее не было qemu: apt update && apt install qemu qemu-utils
  1. Копируем системный раздел в образ примерно так:
    dd if=/dev/sda of=/root/sda.img bs=8M conv=sync,noerror status=progress
  1. Конвертируем образ в vmdk:
    qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
  1. Вытаскиваем vmdk файл на виндовую машину. Устанавливаем VMware Workstation. Создаем в последнем новую ВМ с параметрами примерно как у сервера (проц, память), указываем что будет ubuntu18 x64, и что систему поставим позже (диск по дефолту 20Гб). Теперь, не запуская новую ВМ подменяем vmdk файл (тут есть вариант указать при создании «использовать имеющийся диск», но этот пункт есть не у всех версий VMware Workstation).
  1. Запускаем виртуальную машину. Тут могут посыпаться некоторые ошибки, может понадобиться пароль рута. У меня в частности наругалось на отсутствующие диски. Также может измениться UUID, тогда делаем blkid и прописываем в fstab верные.
  1. Гасим виртуальную машину и делаем экспорт в OVF.
  1. Подключаемся к гипервизору ESXi и загружаем в него OVF.
    Если возникнет ошибка типа «No supported hardware versions among» — нужно отредактировать ovf-файл, исправить в нем vmx-xx (где хх например 16) на поддерживаемую гипервизором версию, например 13 или 12.
 74   2022   linux

Почему не работает отключение пароля sudoer’а?

Чтобы `sudo` не спрашивало пароль, надо отредактировать файл /etc/sudoers с помощью visudo.
Во всех найденных инструкциях приводится один и тот же пример:

под строкой
root ALL=(ALL:ALL) ALL
добавляют юзера
username ALL=(ALL) NOPASSWD: ALL

всё верно, вот только дальше в файле есть строчка
%sudo ALL=(ALL:ALL) ALL
которая срабатывает для username если он входит в группу sudoer и соответственно запрос пароля не отключится.

Решение тупое — написать юзера username ниже строчки %sudo.
Решение правильное — вынести юзера username в отдельный файл в /etc/sudoers.d/username
т.к .подключение этих файлов идет в конце /etc/sudoers

 137   2022   know how   linux
Ранее Ctrl + ↓