Уменьшение размера LVM и миграция на обычный раздел

Основной целью описанных шагов была виртуализация сервера asterisk – занимавшего физический сервер в шкафу – в виртуальную машину VMWare.

Asterisk был установлен несколько лет назад на двух разделах – /boot (100mb) и LVM (500gb – 495gb для корня и 5gb своп). На деле, однако, asterisk “съедал” всего 6-8 gb на диске.
Теперь бэкап asterisk’a, уменьшение LVM type 8e до 20gb и переезд на обычный раздел (partition type 83).

С помощью Acronis True Image (sector-by-sector) снял копию hdd в файл *.tib. Затем развернул tlb на в виртуальную машину, в vmdk-HDD.

Дальше грузимся в VM используя system-rescue-cd(.org) и

(без проверки e2fsck – не даст изменить размер томов).
Команды vgdisplay и lvdisplay выведут более детальную информацию об LVM-томах.
Уменьшаем том до 20gb:

(параметр “-r” это пропуск использования resize2fs – мы уменьшаем файловую систему одновременно с размером тома).
Теперь, согласно pvmove у нас есть возможность перемещать экстенты (непрерывные участки дискового пространства) на устройстве:

Если получим сообщение “No extents available for allocation (overlapping regions are forbidden)” – то тогда перемещаем в два шага:

Начало и конец подскажет команда:

Далее шринк физического тома до 20gb:

Запускаем fdisk /dev/sda, жмём “p”, чтобы взглянуть на наши разделы. Запоминаем начальный сектор раздела sda2. Затем удаляем раздел sda2 — данные фактически не будут затронуты, просто удалится запись начала и конца — затем создаем новый раздел sda2 с тем же начальным сектором и с размером 20.1G. Тип раздела должен быть 8e, “Linux LVM”.
В grub.conf меняем, чтобы / (корень) указывал на новый /dev/sda2:

Также я закомментировал строчку volume group в /etc/mtab.
Теперь грузим Centos rescue CD и с помощью F5 (скачана такая же версия, какая и установлена).
chroot в /mnt/sysimage и вводим:

Создаём раздел своп sda3, вносим его в fstab, перезагружаемся и настраиваем сеть.

SFTP server, Debian 7 Wheezy, одна директория

cat /etc/passwd

cat /etc/group
(чтобы sftp_user получил доступ к папке сайта в корне, он также находится в группе www-data)

Ставим 755 на директории public_html и www и делаем рута владельцем (“…All components of the pathname must be root-owned directories that are not writable by any other user or group…”, такое же требование есть у ftpd-серверов в случае с пользовательским chroot):

После входа по SFTP, SSHD меняет эффективного пользователя на залогинившегося – работает не от рута (т.е. выполнивший вход, не сможет писать в корень www или уйти выше).
Добавляем в конец sshd_conf:

Скачать пересобранный vsftpd 2.3.5 с опцией allow_writeable_chroot=YES:
vsftpd_2.3.5-10~update.1_amd64.deb
vsftpd_2.3.5-10-update.1_i386.deb

Pound proxy под Windows

Pound это обратный прокси и балансировщик нагрузки для протоколов HTTP и HTTPS. Отличительные способности включают в себя возможность фронтальной обработки SSL и распределения на обслуживающие сервера в виде HTTP, дезинфекция HTTP и HTTPS на предмет неправильно сформированных запросов, балансировка по состоянию сессии и другим параметрам (URL, идентификации (Basic HTTP), кукам (cookies), HTTP headers). Полная поддержка WebDAV. В режиме балансировки он сам определяет, отвалился ли бекэнд и перенаправляет весь трафик на оставшиеся, периодически чекая отвалившейся хост. Как только Backend восстановился, Pound начинает перебрасывать трафик и на него.

Pound имеет встроенный механизм балансировки и проверки работоспособности обслуживающих серверов. Разработчики отмечают что дизайн изначально был спланирован из принципа не вмешиваться в проходящий трафик, исходя из этого не используют методы встраивания “печенек” и т.п. в сессии, довольно таки на прямую намекая на противоположность методам HAProxy. Несмотря на это замечание, может встраивать в хедэры “X-Forwarded-for” для передачи на бэкенд сервера IP адрес пользователя с целью записи в логи и т.п. Изначально проект разрабатывался как фронтэнд для нескольких серверов Zope (ZEO). Считается легковесным и безопасным, т.к. практически не обращается к диску (кроме чтения сертификатов SSL во время загрузки). Встроенных механизмов отказоустойчивости не имеет.
Проект скромен, манией величия не страдает. Установка и настройка не представляют больших сложностей. Существуют неофициальные пакеты под крупные сборки Линукса, на сайте распространяется только в виде сорсов. Официально тестирован на Линуксе, OpenBSD и Solaris. О использующих проект данных не много, но часто упоминается как решение для балансировки HTTPS в связке с другими решениями.

Чтобы скомпилировать Pound под Windows, используйте CygWin со следующими пакетами: coreutils, cygutils, findutils, gcc-core, gcc-g++, m4, openssl, openssl-devel, rebase, tar, w32api. Их необходимо отметить во время установки вот так:

Копируем следующие файлы в папку, например, C:\Apps\Pound:
cygssl-0.9.8.dll
cygcrypto-0.9.8.dll
cygrunsrv.exe
cygwin1.dll
pound.exe
cygz.dll

Запускаем Cygwin Terminal, переходим в папку с исходниками Pound и выполняем команду:

Затем даем команду

Чтобы запустить “фунт” как службу Windows, с ведением логов, используйте следующую команду с утилитой cygrunsrv от CygWin:

Пример конфига, показывающий весь широкий функционал Pound:

Скачать скомпилированный Pound под Windows:
pound-2.7.exe.cab

Управление моторчиком через транзистор

Изменил предыдущую схему, отсоединил резисторы, вместо диода подключил моторчик от CDROM.

Транзистор тот же – BC547.

Маппинг (нумерация) пинов WiringPi к пинам Raspbrerry Pi:

Как мигать светодиодом на Raspberry Pi 3 B V1.2

Скачиваем исходники библиотеки из репозитория —

Устанавливаем:

После того, как библиотека wiring Pi установлена, вы можете использовать её в своих проектах.

Компилируем:

Как подключить термометр к Raspberry Pi 3

Термометр BC-0303DW

Распиновка:

В обувной магазин пришли необычные покупатели

И жуки и пауки
Покупали башмаки.
Восемь ног у паука,
На две меньше у жука.
У жуков и паучков
Вместе двадцать семь голов,
И всего они купили ровно двести башмаков.
Сколько было там жуков?

У паука 4 пары ног, у жуков – 3 (8 и 6 ног соответственно).
Пусть x – жуки, y – пауки
8x + 6y = 200 (сокращать не будем)

\[ \begin{cases} \text{x + y = 27} \\ \text{8x + 6y = 200} \\ \end{cases} \]

следовательно x + y = 27, откуда следует x = 27 – y
8 * (27-y) + 6y = 200
216 – 8y + 6y = 200
216 – 2y = 200
200 + 2y = 216
216 – 200 = 2y
2y = 16
y = 16/8
y = 8
x = 27 – 8
x = 19

Проверяем: 8*19 + 6*8 = 200
(152 + 48 = 200)

Ответ: 19 пауков и 8 жуков

Реакция на нажатие кнопки Raspberry Pi

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

debwrt rspro

Embedded-роутер, который поддерживает полноценный Debian – debWrt (Debian 9 Stretch)

– 2017-Lede-ar71xx-generic-ubnt-rspro-squashfs-factory.bin
– 2017-Lede-ar71xx-generic-ubnt-rspro-squashfs-sysupgrade.bin

Project (3D-printer)

– interface
– debwrt-rootfs-sid-mips-trunk.tar.bz2

IRL:

– debwrt-headers-mips-ar71xx-generic-4.4.45-trunk.tar.gz
– debwrt-modules-mips-ar71xx-generic-4.4.45-trunk.tar.gz

Debain LXDE на WYSE Cx0 (winetricks и vncserver)

Задача – поднять debian на тонком клиенте WYSE Cx0. Данный тонкий клиент – просто инфопанель со статистикой, выдаваемой файлом sqlinfo.exe.
Понадобится wine-bin и сервер VNC.
Загрузка с флешки прекращалась с сообщением “can’t install”, так что в итоге загрузился с dvd (Sony DRX800UL) и установил Debian с openbox-lxde.
Для избавления шумов с экрана удаляем видеодрайвер:

Попутно удалил openoffice, gimp, xsane, iceweasel, alsa* и др.
Для подключения ПО к серверу SQLSERVER, установил MDAC 2.8 с помощью winetricks.

Затем ставим сервер VNC:

(команда vncserver запросит пароль).
Помещаем в автозагрузку (а у нас gui), чтобы tightvncserver висел на дисплее :0 – /home/sborka.dev/.config/autostart/x11vnc.desktop:

И добавляем локаль:

(US and ru_RU.UTF-8)

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert