<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>SOREX.ORG: заметки с тегом linux</title>
<link>https://sorex.org/?go=tags/linux/</link>
<description>Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid</description>
<author>sorex</author>
<language>ru</language>
<generator>E2 (v3820;)</generator>

<itunes:owner>
<itunes:name>sorex</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Exchange, esx, AD, GPO, veeam, adaptec,lsi megaraid</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Не работает DNS в resolv.conf в CENTOS</title>
<guid isPermaLink="false">71</guid>
<link>https://sorex.org/?go=all/ne-rabotaet-dns-v-resolv-conf-v-centos/</link>
<pubDate>Fri, 11 Apr 2025 05:29:37 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/ne-rabotaet-dns-v-resolv-conf-v-centos/</comments>
<description>
&lt;p&gt;Если не добавляется DNS сервер из network scripts то нужно добавить в настройки dhcp службы:&lt;br /&gt;
vi /etc/dhcp/dhclient.conf добавить fqdn.fqdn = gethostname();&lt;br /&gt;
После этого запускаем dhclient -r; dhclient&lt;/p&gt;
</description>
</item>

<item>
<title>LSI Megaraid увеличение скорости дисков Disk Cache Policy</title>
<guid isPermaLink="false">66</guid>
<link>https://sorex.org/?go=all/lsi-megaraid-uvelichenie-skorosti-diskov-disk-cache-policy/</link>
<pubDate>Thu, 16 Sep 2021 10:42:12 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/lsi-megaraid-uvelichenie-skorosti-diskov-disk-cache-policy/</comments>
<description>
&lt;p&gt;Проверяем статус кеша:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;megacli -LDInfo -LAll -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Получаем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 2.728 TB
Sector Size         : 512
Is VD emulated      : Yes
Mirror Data         : 2.728 TB
State               : Degraded
Strip Size          : 256 KB
Number Of Drives    : 2
Span Depth          : 1
Default Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Disk's Default
Encryption Type     : None
Bad Blocks Exist: No
Is VD Cached: No&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Включаем принудительно кэш на горячую:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;megacli -LDSetProp EnDskCache -L0:0 -aAll

Set Disk Cache Policy to Enabled on Adapter 0, VD 0 (target id: 0) success
Set Disk Cache Policy to Enabled on Adapter 0, VD 0 (target id: 0) success&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;В итоге получаем:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Virtual Drive: 1 (Target Id: 1)
Name                :
RAID Level          : Primary-1, Secondary-0, RAID Level Qualifier-0
Size                : 2.728 TB
Sector Size         : 512
Is VD emulated      : Yes
Mirror Data         : 2.728 TB
State               : Degraded
Strip Size          : 256 KB
Number Of Drives    : 2
Span Depth          : 1
Default Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteThrough, ReadAhead, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy   : Enabled
Encryption Type     : None
Bad Blocks Exist: No
Is VD Cached: No&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Перенос qcow диска из libvirt в ESXi</title>
<guid isPermaLink="false">64</guid>
<link>https://sorex.org/?go=all/perenos-qcow-diska-iz-libvirt-v-esxi/</link>
<pubDate>Mon, 06 Sep 2021 11:19:24 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/perenos-qcow-diska-iz-libvirt-v-esxi/</comments>
<description>
&lt;p&gt;qemu-img convert -f qcow2 myImage.qcow2 -O vmdk myNewImage.vmdk&lt;br /&gt;
потом переносим на esxi и в консоли хоста делаем:&lt;br /&gt;
vmkfstools -i myImage.vmdk outputName.vmdk -d thin&lt;br /&gt;
на выходе получаем 2 файла один заголовок диска и второй flat диск&lt;/p&gt;
</description>
</item>

<item>
<title>Команды для LSI рейд контроллера</title>
<guid isPermaLink="false">63</guid>
<link>https://sorex.org/?go=all/komandy-dlya-lsi-reyd-kontrollera/</link>
<pubDate>Mon, 30 Aug 2021 10:34:32 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/komandy-dlya-lsi-reyd-kontrollera/</comments>
<description>
&lt;p&gt;Диск исправен — запуск перестроения массива&lt;br /&gt;
Если диск исправен, можно попробовать перестроить массив. Для этого находим значения полей Enclosure Device ID и Slot Number у неисправного диска и выполняем для него команду запуска перестроения массива. В примере ниже используются значения 252 и 3:&lt;/p&gt;
&lt;/code&gt;&lt;h2&gt;megacli -PdRbld -Start -PhysDrv[252:3] -a0&lt;/h2&gt;
&lt;/code&gt;&lt;p&gt;Наблюдать за состоянием перестроения массива можно при помощи команды:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdRbld -ShowProg -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Диск неисправен — замена диска&lt;br /&gt;
Если диск неисправен, его нужно заменить. Помечаем его как отключенный:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdOffline -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Затем — как отсутствующий в массиве:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdMarkMissing -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И теперь — как подготовленный к удалению из системы:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdPrpRmv -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Неисправный диск можно подсветить светодиодом:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdLocate -start -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если индикация не заработала, можно попробовать починить её при помощи следующей команды:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -AdpSetProp \{UseDiskActivityforLocate -1\} -aALL&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Заменяем диск (в случае SAS это можно сделать на горячую, если по светодиодным индикаторам видно, какой из дисков неактивен).&lt;/p&gt;
&lt;p&gt;Когда новый диск вставлен, убираем подсветку светодиодом:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdLocate -stop -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;После замены диска смотрим, каких дисков не хватает в RAID-массиве:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdGetMissing -a0
                                     
    Adapter 0 - Missing Physical drives

    No.   Array   Row   Size Expected
    0     1       1     428199 MB

Exit Code: 0x00&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вставляем новый диск в пустующее место в массиве:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdReplaceMissing -PhysDrv [252:3] -array1 -row1 -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если диск не вставляется и выводится ошибка следующего вида:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Adapter: 0: Failed to replace Missing PD at Array 1, Row 1.

FW error description: 
 The specified device is in a state that doesn't support the requested command.  

Exit Code: 0x32&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;То можно проверить текущее состояние прошивки диска:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdInfo -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если в строке Firmware state отображается состояние JBOD, то исправить это состояние можно следующим образом:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdMakeGood -PhysDrv[252:3] -Force -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если же в строке Firmware state отображается состояние Unconfigured(good), Spun Up, но в строке Foreign State отображается состояние Foreign, то надо просканировать наличие дисков, переставленных из других RAID-контроллеров и снять у таких дисков отметку о других контроллерах:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -CfgForeign -Scan -aALL
# megacli -CfgForeign -Сlear -aALL&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Включаем новый диск в работу массива:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdRbld -Start -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Посмотреть продвижение процесса перестроения можно так:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# megacli -PdRbld -ShowProg -PhysDrv [252:3] -a0&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Переключение режима кеширования контролеров lsi на ходу</title>
<guid isPermaLink="false">62</guid>
<link>https://sorex.org/?go=all/pereklyuchenie-rezhima-keshirovaniya-kontrolerov-lsi-na-hodu/</link>
<pubDate>Fri, 27 Aug 2021 16:28:14 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/pereklyuchenie-rezhima-keshirovaniya-kontrolerov-lsi-na-hodu/</comments>
<description>
&lt;p&gt;При мертвой батарее&lt;br /&gt;
megacli -LDSetProp CachedBadBBU -L0 -a0&lt;/p&gt;
&lt;p&gt;вернуть обратно&lt;br /&gt;
megacli -LDSetProp NoCachedBadBBU -L0 -a0&lt;/p&gt;
</description>
</item>

<item>
<title>MySQL error «Can’t create new tempfile» при восстановлении таблицы.</title>
<guid isPermaLink="false">57</guid>
<link>https://sorex.org/?go=all/mysql-error-cant-create-new-tempfile-pri-vosstanovlenii-tablicy/</link>
<pubDate>Tue, 13 Apr 2021 10:29:15 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/mysql-error-cant-create-new-tempfile-pri-vosstanovlenii-tablicy/</comments>
<description>
&lt;p&gt;В логах mysql много ошибок подобного рода.&lt;br /&gt;
&lt;i&gt;120920  9:25:28 [ERROR] /usr/sbin/mysqld: Table ’./old_sm/phones’ is marked as crashed and last (automatic?) repair failed&lt;/i&gt;&lt;br /&gt;
Поскольку автоматическое исправление не сработало, то будем исправлять вручную.&lt;br /&gt;
Перед любым таким действием настоятельно рекомендуется сделать резервное копирование данных.&lt;br /&gt;
Заходим в командную строку mysql.&lt;br /&gt;
Запускаем проверку таблицы.&lt;/p&gt;
&lt;pre class=""&gt;mysql -u root -p stalker_db&lt;/pre&gt;
&lt;p&gt;&lt;i&gt;mysql&amp;gt; check table phones;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;—-&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;—————————————————————+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|           Table                 | Op      | Msg_type | Msg_text                                          |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;—-&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;—————————————————————+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|             old_sm.phones | check | warning     | Table is marked as crashed and last repair failed |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|             old_sm.phones | check | error         | Found 6833 keys of 3930951                        |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|             old_sm.phones | check | error         | Corrupt                                           |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;—-&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;—————————————————————+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;3 rows in set (0.37 sec&lt;/i&gt;)&lt;/p&gt;
&lt;p&gt;Запускаю восстановление таблицы.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;mysql&amp;gt; repair table phones;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;——&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;————————————————————-+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|           Table                 | Op        | Msg_type | Msg_text                                                 |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;——&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;————————————————————-+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|             old_sm.phones | repair    | error        | Can’t create new tempfile: ’./old_sm/phones.TMD’ |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;|             old_sm.phones | repair    | status       | Operation failed                                         |&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;+——————————-&lt;s&gt;+&lt;/s&gt;——&lt;s&gt;+&lt;/s&gt;———&lt;s&gt;+&lt;/s&gt;————————————————————-+&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;2 rows in set (0.01 sec)&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Т. е. при запущенном mysql-сервере восстановлению не подлежит. Останавливаю mysql&lt;br /&gt;
&lt;i&gt;service mysql stop&lt;/i&gt;&lt;br /&gt;
Запускаю восстановление с помощью myisamchk. Данный метод будем работать с таблицами на движке MyISAM. Если у вас таблицы на движке InnoDB может помочь пересоздание таблицы с заливкой старых данных.&lt;br /&gt;
&lt;i&gt;root@112-1:/var/lib/mysql/old_sm# myisamchk -r -f phones.MYI &lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— recovering (with sort) MyISAM-table ’phones.MYI’&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Data records: 3930951&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— Fixing index 1&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— Fixing index 2&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— Fixing index 3&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— Fixing index 4&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;— Fixing index 5&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Запускаю mysql сервер&lt;br /&gt;
&lt;i&gt;service mysql start&lt;/i&gt;&lt;br /&gt;
Ошибка пропала, что и требовалось.&lt;/p&gt;
</description>
</item>

<item>
<title>Монтирование архивов в Linux (Debian Lenny)</title>
<guid isPermaLink="false">53</guid>
<link>https://sorex.org/?go=all/montirovanie-arhivov-v-linux-debian-lenny/</link>
<pubDate>Tue, 13 Apr 2021 10:27:02 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/montirovanie-arhivov-v-linux-debian-lenny/</comments>
<description>
&lt;p&gt;Исходная ситуация: на сетевом диске лежит архив backup.tgz размером &amp;gt;50GB, надо внутри найти некие файлы и скопировать на новый сервер. Распаковать все это не представляется возможным, какие файлы из архива необходимы тоже известно достаточно приблизительно. В таком случае лучше архив смонтировать как виртуальную файловую систему и работать уже с ней. Основная система Debian Lenny 5.0 (x64).&lt;/p&gt;
&lt;p&gt;Во-первых, нам понадобится &lt;a title="AVFS Overview" href="http://www.boomerangsworld.de/cms/avfs/" target="_blank"&gt;AVFS&lt;/a&gt;:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ sudo apt-get update
$ sudo apt-get install avfs&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Во-вторых, просто заходим в нужный архив и работаем с ним как с любой файловой системой в режиме [read only].&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ cd /home/rat/.avfs/mnt/backup/server.domain.lv/backup.tgz#&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Внутри архива прекрасно работает find, любители могут воспользоваться Midnight Commander.&lt;/p&gt;
&lt;p&gt;Вообще, AVFS поддерживает множество типов архивов, подключения по ftp. Есть возможность автоматически запускать AVFS в режиме демона (avfsd) при старте компьютера.&lt;/p&gt;
&lt;p&gt;P.S. Если возникает проблема с fuse, например такая:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;fuse: failed to open /dev/fuse: Permission denied&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Проверьте, что ваш пользователь в группе fuse.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ groups
rat adm dialout cdrom floppy audio video plugdev&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Тогда делаем так:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ sudo usermod -a -G fuse rat
$ groups
rat adm dialout cdrom floppy audio video fuse plugdev&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Mounting raw and qcow2 VM disk images</title>
<guid isPermaLink="false">52</guid>
<link>https://sorex.org/?go=all/mounting-raw-and-qcow2-vm-disk-images/</link>
<pubDate>Tue, 13 Apr 2021 10:26:19 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/mounting-raw-and-qcow2-vm-disk-images/</comments>
<description>
&lt;pre class="language-bash"&gt;&lt;code class="bash"&gt;&lt;span class="comment"&gt;# Загружаем модуль ядра Network Block Device&lt;/span&gt;
modprobe nbd

&lt;span class="comment"&gt;# "Подключаем" образ к устройству /dev/nbd0.&lt;/span&gt;
qemu-nbd --connect /dev/nbd0 --read-only /путь/к/образу.qcow2

&lt;span class="comment"&gt;# Ищем разделы на устройстве.&lt;/span&gt;
kpartx -arvs /dev/nbd0

&lt;span class="comment"&gt;# Здесь ты можешь делать с разделами /dev/mapper/ndb0p* что угодно: монтировать, форматировать и т.п.&lt;/span&gt;

&lt;span class="comment"&gt;# Убираем девайсы разделов.&lt;/span&gt;
kpartx -dvs /dev/nbd0

&lt;span class="comment"&gt;# Выключаем qemu-nbd.&lt;/span&gt;
qemu-nbd --disconnect /dev/nbd0&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Mounting a partition from raw image is pretty simple:&lt;/p&gt;
&lt;pre&gt;losetup /dev/loop0 image.img
kpartx -a /dev/loop0
mount /dev/mapper/loop0p1 /mnt/image&lt;/pre&gt;
&lt;p&gt;If kernel parameter (as loop in compiled into Fedora’s kernel) like&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;loop.max_part=63&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;added it is even simplier:&lt;/p&gt;
&lt;pre&gt;losetup /dev/loop0 image.img
mount /dev/loop0p1 /mnt/image&lt;/pre&gt;
&lt;p&gt;Alternative way is to specify direct offset to partition:&lt;/p&gt;
&lt;pre&gt;mount image.img /mnt/image -o loop,offset=32256&lt;/pre&gt;
&lt;p&gt;To mount qcow2 images there is (at least in F-11 qemu) very useful &lt;b&gt;qemu-nbd&lt;/b&gt; util. It shares image through kernel &lt;a href="http://en.wikipedia.org/wiki/Network_block_device"&gt;network block device&lt;/a&gt; protocol and this allows to mount it:&lt;/p&gt;
&lt;pre&gt;modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 image.img
mount /dev/nbd0p1 /mnt/image&lt;/pre&gt;
&lt;p&gt;If LVM is present on image it could be initialized with:&lt;/p&gt;
&lt;pre&gt;vgscan
vgchange -ay
mount /dev/VolGroupName/LogVolName /mnt/image&lt;/pre&gt;
&lt;p&gt;Finishing is done with (depending on how it was initalized):&lt;/p&gt;
&lt;pre class=""&gt;umount /mnt/image
vgchange -an VolGroupName
killall qemu-nbd
kpartx -d /dev/loop0
losetup -d /dev/loop0&lt;/pre&gt;
</description>
</item>

<item>
<title>Монтирование флешки в debian из образа dd</title>
<guid isPermaLink="false">51</guid>
<link>https://sorex.org/?go=all/montirovanie-fleshki-v-debian-iz-obraza-dd/</link>
<pubDate>Tue, 13 Apr 2021 10:25:37 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/montirovanie-fleshki-v-debian-iz-obraza-dd/</comments>
<description>
&lt;p&gt;Как смонтировать образ флешки, снятый командой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;dd if=/dev/sde of=~/disk.img&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ sudo fdisk -C 592 -l -u ~/disk.img&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;Disk /home/rat/disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 592 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0xc6aafc6c
Device Boot Start End Blocks Id System
/home/rat/disk.img1 44 15679439 7839698 b W95 FAT32&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$ sudo mount -o loop,offset=22528 -t vfat ~/disk.img /mnt/disk&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Смещение 22528 байтов вычисляется как 44 сектора * 512 байтов = 22528 байтов.&lt;/p&gt;
</description>
</item>

<item>
<title>L2TP IpSEC для IPHONE IPAD</title>
<guid isPermaLink="false">49</guid>
<link>https://sorex.org/?go=all/l2tp-ipsec-dlya-iphone-ipad/</link>
<pubDate>Tue, 13 Apr 2021 10:20:40 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/l2tp-ipsec-dlya-iphone-ipad/</comments>
<description>
&lt;p&gt;Порты которые необходимо открыть на шлюзе:&lt;/p&gt;
&lt;p&gt;L2TP traffic — UDP 1701&lt;br /&gt;
Internet Key Exchange (IKE) — UDP 500&lt;br /&gt;
IPSec Network Address Translation (NAT-T) — UDP 4500&lt;br /&gt;
Allows IPsec Encapsulating Security Payload (ESP) traffic to the VPN server — UDP 50&lt;/p&gt;
&lt;p&gt;Установим необходимые приложения:&lt;/p&gt;
&lt;pre class="lang:default decode:true"&gt;apt-get install openswan xl2tpd ppp&lt;/pre&gt;
&lt;p&gt;При установке инсталлятор задаст вопрос о генерации ключей. Откажемся от автоматической генерации ключей (выберем “No” в диалоге).&lt;/p&gt;
&lt;p&gt;С помощью любимого текстового редактора (vi или nano) отредактируем файл &lt;strong&gt;/etc/ipsec.conf&lt;/strong&gt;:&lt;/p&gt;
&lt;div id="crayon-566dd3699695f063365947" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;version 2.0
 
config setup
    nat_traversal=yes
    oe=off
    protostack=netkey
 
conn L2TP-PSK
    authby=secret
    pfs=no
    rekey=no
    type=tunnel
    esp=aes128-sha1
    ike=aes128-sha-modp1024
    ikelifetime=8h
    keylife=1h
    left=185.14.XX.XX
    leftnexthop=%defaultroute
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    rightsubnetwithin=0.0.0.0/0
    auto=add
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Обратите внимание на параметр &lt;strong&gt;left=&lt;/strong&gt;, в нем нужно указать IP-адрес VDS.&lt;/p&gt;
&lt;p&gt;Следующим шагом — добавим ключ шифрования. Для этого в укажем в файле &lt;strong&gt;/etc/ipsec.secrets&lt;/strong&gt; желаемый ключ (смените его значение на какое-то более секретное):&lt;/p&gt;
&lt;div id="crayon-566dd36996965388025306" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;%any %any: PSK «TestSecret»&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Перейдем к настройке L2TP. Откроем в редакторе файл &lt;strong&gt;/etc/xl2tpd/xl2tpd.conf&lt;/strong&gt; и приведем его содержимое к следующему виду:&lt;/p&gt;
&lt;div id="crayon-566dd3699696a081778318" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;[global]
ipsec saref = yes
[lns default]
ip range = 192.168.1.231-192.168.1.239
local ip = 192.168.1.230
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Теперь займемся настройкой PPP. Наша следующая цель — файл конфигурации &lt;strong&gt;/etc/ppp/options.xl2tpd&lt;/strong&gt;:&lt;/p&gt;
&lt;div id="crayon-566dd3699696f835786555" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;require-mschap-v2
ms-dns 8.8.8.8
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Наше соединение использует авторизацию по паролю, поэтому укажем его в соответствующем файле —&lt;strong&gt;/etc/ppp/chap-secrets&lt;/strong&gt;:&lt;/p&gt;
&lt;div id="crayon-566dd36996973120052196" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;* * TestPassword *&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;С настройками VPN мы закончили, но нам нужно включить NAT (трансляцию адресов) в сетевых настройках операционной системы. Откроем файл &lt;strong&gt;/etc/rc.local&lt;/strong&gt; и в его самом начале укажем следующие команды:&lt;/p&gt;
&lt;div id="crayon-566dd36996978984485853" class="crayon-syntax crayon-theme-familiar crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover"&gt;&lt;div class="crayon-plain-wrap"&gt;&lt;pre class="lang:default decode:true "&gt;echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;p&gt;На этом настройка нашего VPN-сервера окончена. Перезагрузим VDS командой &lt;strong&gt;reboot&lt;/strong&gt; и через минуту можно начинать пользоваться нашим шифрованным каналом доступа в Интернет. А пока давайте произведем настройку нашего iPhone. Перейдем в “Настройки” — “VPN”, затем выберем “Добавить конфигурацию VPN…”. Заполним поля:&lt;/p&gt;
&lt;p&gt;&lt;img class="alignright wp-image-1209 size-medium" src="https://sorex.org/wp-content/uploads/2015/12/iphone-vpn-ssd-vds-200x300-2.jpg" alt="Настройки L2TP/IPSec VPN в iPhone" width="200" height="300"&gt;&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;Тип VPN — L2TP&lt;/li&gt;
 	&lt;li&gt;Описание — выберите любое удобное название, например My VPN или ITLDC VPN&lt;/li&gt;
 	&lt;li&gt;Сервер — указываем IP-адрес нашей VDS&lt;/li&gt;
 	&lt;li&gt;Учетная запись — любое имя&lt;/li&gt;
 	&lt;li&gt;RSA SecurID — выключен&lt;/li&gt;
 	&lt;li&gt;Пароль — выбранный пароль (в нашем примере — TestPassword)&lt;/li&gt;
 	&lt;li&gt;Общий ключ — ключ шифрования (TestSecret)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;На этом настройка клиентской части окончена, выбираем “Сохранить”. Чтобы подключиться к VPN, необходимо в “Настройках” нашего iPhone или iPad включить слайдером соответствующий режим. Подключение производится достаточно быстро и через несколько секунд можно пользоваться всеми благами Интернет — без каких либо ограничений.&lt;/p&gt;
</description>
</item>

<item>
<title>Proxmox настройка сети trunk и management vlan</title>
<guid isPermaLink="false">46</guid>
<link>https://sorex.org/?go=all/proxmox-nastroyka-seti-trunk-i-management-vlan/</link>
<pubDate>Tue, 13 Apr 2021 10:17:44 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/proxmox-nastroyka-seti-trunk-i-management-vlan/</comments>
<description>
&lt;p&gt;Конфиг на cisco для порта сервера&lt;/p&gt;
&lt;p&gt;interface GigabitEthernet1/0/38&lt;br /&gt;
switchport access vlan 50&lt;br /&gt;
switchport trunk allowed vlan 1,50,124&lt;br /&gt;
switchport mode trunk&lt;br /&gt;
switchport nonegotiate&lt;br /&gt;
switchport port-security maximum 3&lt;br /&gt;
load-interval 60&lt;br /&gt;
no cdp enable&lt;br /&gt;
no cdp tlv server-location&lt;br /&gt;
no cdp tlv app&lt;/p&gt;
&lt;p&gt;Конфиг сети на proxmox&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;/p&gt;
&lt;p&gt;iface eth0 inet manual&lt;/p&gt;
&lt;p&gt;iface eth1 inet manual&lt;/p&gt;
&lt;p&gt;iface eth2 inet manual&lt;/p&gt;
&lt;p&gt;iface eth3 inet manual&lt;/p&gt;
&lt;p&gt;auto bond0&lt;br /&gt;
iface bond0 inet manual&lt;br /&gt;
slaves eth0 eth1 eth2 eth3&lt;br /&gt;
bond_miimon 100&lt;br /&gt;
bond_mode active-backup&lt;/p&gt;
&lt;p&gt;auto vlan50&lt;br /&gt;
iface vlan50 inet manual&lt;br /&gt;
vlan_raw_device bond0&lt;/p&gt;
&lt;p&gt;auto vlan124&lt;br /&gt;
iface vlan124 inet manual&lt;br /&gt;
vlan_raw_device bond0&lt;/p&gt;
&lt;p&gt;auto vmbr0&lt;br /&gt;
iface vmbr0 inet static&lt;br /&gt;
address 10.101.50.10&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
gateway 10.101.50.1&lt;br /&gt;
bridge_ports vlan50&lt;br /&gt;
bridge_stp off&lt;br /&gt;
bridge_fd 0&lt;/p&gt;
&lt;p&gt;auto vmbr50&lt;br /&gt;
iface vmbr50 inet static&lt;br /&gt;
address 0.0.0.0&lt;br /&gt;
netmask 255.255.255.255&lt;br /&gt;
bridge_ports vlan50&lt;br /&gt;
bridge_stp off&lt;br /&gt;
bridge_fd 0&lt;/p&gt;
&lt;p&gt;auto vmbr124&lt;br /&gt;
iface vmbr124 inet static&lt;br /&gt;
address 0.0.0.0&lt;br /&gt;
netmask 255.255.255.255&lt;br /&gt;
bridge_ports vlan124&lt;br /&gt;
bridge_stp off&lt;br /&gt;
bridge_fd 0&lt;/p&gt;
</description>
</item>

<item>
<title>Let’s Encrypt защищаем корпоративный Exchange 2016 трехмесячными сертификатами</title>
<guid isPermaLink="false">41</guid>
<link>https://sorex.org/?go=all/lets-encrypt-zaschischaem-korporativny-exchange-2016-trehmesyach/</link>
<pubDate>Tue, 13 Apr 2021 10:10:50 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/lets-encrypt-zaschischaem-korporativny-exchange-2016-trehmesyach/</comments>
<description>
&lt;p&gt;Вот такой конфиг полностью работает с 2016 Exchange причем позволяет переключить текущую конфигурацию незаметно для директорских Iphone и Ipad без запросов на смену сертификата:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;server {
listen 80;
server_name mail.company.com autodiscover.company.com;
root /var/www/html;
location ~ /.well-known { allow all; }
return 301 https://$host$request_uri;
}

server {
tcp_nodelay on;
#keepalive_timeout 3h;
#proxy_read_timeout 3h;
listen 443;
#listen [::]:443 ipv6only=on;
ssl on;
ssl_certificate /etc/letsencrypt/live/mail.company.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.company.com/privkey.pem;

ssl_session_timeout 5m;
server_name mail.company.com;

location / {
return 301 https://mail.company.com/owa;
}

proxy_http_version 1.1;
proxy_read_timeout 360;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_pass_header Authorization;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_request_headers on;
#more_set_input_headers 'Authorization: $http_authorization';
proxy_set_header Accept-Encoding &amp;quot;&amp;quot;;
#more_set_headers -s 401 'WWW-Authenticate: Basic realm=&amp;quot;http://10.0.0.2&amp;quot;';
# proxy_request_buffering off;
proxy_buffering off;
proxy_set_header Connection &amp;quot;Keep-Alive&amp;quot;;

location ~ /.well-known { allow all; }
location ~* ^/owa { proxy_pass https://10.0.0.2; }
location ~* ^/Microsoft-Server-ActiveSync { proxy_pass https://10.0.0.2; }
location ~* ^/ecp { proxy_pass https://10.0.0.2; }
location ~* ^/rpc { proxy_pass https://10.0.0.2; }
#location ~* ^/mailarchiver { proxy_pass https://mailarchiver.local; }

error_log /var/log/nginx/owa-ssl-company-error.log;
access_log /var/log/nginx/owa-ssl-company-access.log;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt; &lt;/p&gt;
</description>
</item>

<item>
<title>Рекурсивное изменение даты модификации файлов и папок в linux</title>
<guid isPermaLink="false">40</guid>
<link>https://sorex.org/?go=all/rekursivnoe-izmenenie-daty-modifikacii-faylov-i-papok-v-linux/</link>
<pubDate>Tue, 13 Apr 2021 10:09:09 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/rekursivnoe-izmenenie-daty-modifikacii-faylov-i-papok-v-linux/</comments>
<description>
&lt;p&gt;После анализа взлома сайта потребовалось выставить для всех файлов и папок определенную дату и время, выполняем:&lt;/p&gt;
&lt;pre class="lang:default decode:true"&gt;cd /var/www/
find ./ -type f -exec touch -t 201611211300 {} + 
find ./ -type d -exec touch -t 201611211300 {} +&lt;/pre&gt;
&lt;p&gt;Получаем дату модификации 2016г. 21 ноября 13-00&lt;/p&gt;
</description>
</item>

<item>
<title>Заметки по оконному менеджеру tmux</title>
<guid isPermaLink="false">37</guid>
<link>https://sorex.org/?go=all/zametki-po-okonnomu-menedzheru-tmux/</link>
<pubDate>Tue, 13 Apr 2021 10:04:55 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/zametki-po-okonnomu-menedzheru-tmux/</comments>
<description>
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tmux&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;— это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;screen&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;, только лучше (в первую очередь потому, что использует модель клиент—сервер).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://sorex.org/wp-content/uploads/2017/02/7b49e404f2c1a98a7d8978b7fca8db34.png" alt="image"&gt;&lt;/p&gt;
&lt;p&gt;Очень хороший способ запустить tmux:&lt;br /&gt;
&lt;b&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;tmux attach || tmux new&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/b&gt; — делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.&lt;/p&gt;
&lt;p&gt;После этого вы попадаете в полноценную консоль.&lt;br /&gt;
&lt;b&gt;Ctrl+b d&lt;/b&gt; — отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)&lt;/p&gt;
&lt;p&gt;В одной сессии может быть сколько угодно окошек:&lt;br /&gt;
&lt;b&gt;Ctrl+b c&lt;/b&gt; — создать окошко;&lt;br /&gt;
&lt;b&gt;Ctrl+b 0...9&lt;/b&gt; — перейти в такое-то окошко;&lt;br /&gt;
Ctrl+b p — перейти в предыдущее окошко;&lt;br /&gt;
Ctrl+b n — перейти в следующее окошко;&lt;br /&gt;
Ctrl+b l — перейти в предыдущее активное окошко (из которого вы переключились в текущее);&lt;br /&gt;
Ctrl+b &amp;amp; — закрыть окошко (а можно просто набрать &lt;b&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;exit&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/b&gt; в терминале).&lt;/p&gt;
&lt;p&gt;В одном окошке может быть много панелей:&lt;br /&gt;
&lt;b&gt;Ctrl+b %&lt;/b&gt; — разделить текущую панель на две, по вертикали;&lt;br /&gt;
&lt;b&gt;Ctrl+b «&lt;/b&gt; — разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);&lt;br /&gt;
&lt;b&gt;Ctrl+b&lt;/b&gt; →←↑↓ — переходить между панелями;&lt;br /&gt;
Ctrl+b x — закрыть панель (а можно просто набрать &lt;b&gt;&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;exit&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/b&gt; в терминале).&lt;/p&gt;
&lt;p&gt;Недостаток — непривычным становится скроллинг:&lt;br /&gt;
&lt;b&gt;Ctrl+b PgUp&lt;/b&gt; — вход в «режим копирования», после чего:&lt;br /&gt;
PgUp, PgDown — скроллинг;&lt;br /&gt;
q — выход из «режима копирования».&lt;/p&gt;
</description>
</item>

<item>
<title>Tempcontrol добавление своих датчиков DS18B20 бесплатно без регистрации и смс</title>
<guid isPermaLink="false">28</guid>
<link>https://sorex.org/?go=all/tempcontrol-dobavlenie-svoih-datchikov-ds18b20-besplatno-bez-reg/</link>
<pubDate>Tue, 13 Apr 2021 09:58:09 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/tempcontrol-dobavlenie-svoih-datchikov-ds18b20-besplatno-bez-reg/</comments>
<description>
&lt;p&gt;Сайт tempcontrol.ru не пашет 2 месяц, всем насрать даже тех поддержка номер которой был вытащен из гугла сказала пишите на support@visteh.ru там этим генеральный директор занимается может быть он вам ответит.&lt;/p&gt;
&lt;p&gt;&lt;img class="size-full wp-image-718 aligncenter" src="https://sorex.org/wp-content/uploads/2017/06/Screenshot_22.png" alt="" width="682" height="359"&gt;&lt;/p&gt;
&lt;p&gt;я охерел от такого при цене этой дерьмо коробки в 15000р должна быть и поддержка нормальная а не эта шляпа. Вообщем всем кто потерял датчики или хочет добавить новые описываю способ бесплатного добавления чтоб не платить хитрожопым из tempcontrol&lt;/p&gt;
&lt;p&gt;Вот такой процессор там&lt;/p&gt;
&lt;p&gt;root [ ~ ]# cat /proc/cpuinfo&lt;br /&gt;
Processor : ARM926EJ-S rev 4 (v5l)&lt;br /&gt;
BogoMIPS : 133.01&lt;br /&gt;
Features : swp half thumb fastmult vfp edsp java&lt;br /&gt;
CPU implementer : 0x41&lt;br /&gt;
CPU architecture: 5TEJ&lt;br /&gt;
CPU variant : 0x0&lt;br /&gt;
CPU part : 0x926&lt;br /&gt;
CPU revision : 4&lt;/p&gt;
&lt;p&gt;Hardware : tc3250 board with the LPC3250 Microcontroller&lt;br /&gt;
Revision : 0000&lt;br /&gt;
Serial : 0000000000000000&lt;/p&gt;
&lt;p&gt;Вот лог прогрузки dmesg&lt;/p&gt;
&lt;pre class="lang:default decode:true "&gt;root [ ~ ]# dmesg
Linux version 2.6.39.2-g7fda40b (yakor@amd64) (gcc version 4.6.3 (Gentoo 4.6.3 p1.3, pie-0.5.1) ) #32 PREEMPT Wed Jun 20 14:11:15 MSK 2012
CPU: ARM926EJ-S [41069264] revision 4 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: tc3250 board with the LPC3250 Microcontroller
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c0294da4, node_mem_map c02a4000
  Normal zone: 128 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 16256 pages, LIFO batch:3
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: console=ttyS0,115200 ubi.mtd=3 ubi.mtd=5 ubi.mtd=6 root=ubi1:rootfs rootfstype=ubifs ethaddr=02:74:66:fa:99:40
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 62216k/62216k available, 3320k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 — 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 — 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 — 0xffe00000   (   2 MB)
    vmalloc : 0xc4800000 — 0xf0000000   ( 696 MB)
    lowmem  : 0xc0000000 — 0xc4000000   (  64 MB)
    modules : 0xbf000000 — 0xc0000000   (  16 MB)
      .init : 0xc0008000 — 0xc0023000   ( 108 kB)
      .text : 0xc0023000 — 0xc027c000   (2404 kB)
      .data : 0xc027c000 — 0xc0295440   ( 102 kB)
Preemptable hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:96
Console: colour dummy device 80x30
Calibrating delay loop... 133.01 BogoMIPS (lpj=665088)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
LPC32XX unique ID: 0005b6dd75701b6e591c8cb710831800
bio: create slab &amp;lt;bio-0&amp;gt; at 0
Switching to clocksource lpc32xx_clksrc
Switched to NOHz mode on CPU #0
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
msgmni has been set to 121
io scheduler noop registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x40090000 (irq = 9) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x40080000 (irq = 7) is a U6_16550A
serial8250.0: ttyS2 at MMIO 0x40088000 (irq = 8) is a 16550A
serial8250.0: ttyS3 at MMIO 0x40098000 (irq = 10) is a 16550A
lpc32xx_hsuart.0: ttyTX0 at MMIO 0x40014000 (irq = 26) is a lpc32xx_hsuart
lpc32xx_hsuart.0: ttyTX1 at MMIO 0x4001c000 (irq = 24) is a lpc32xx_hsuart
brd: module loaded
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Bad block table found at page 131008, version 0x01
Bad block table found at page 130944, version 0x01
nand_read_bbt: Bad block at 0x000000000000
nand_read_bbt: Bad block at 0x000006520000
nand_read_bbt: Bad block at 0x00000a260000
nand_read_bbt: Bad block at 0x00000ea80000
nand_read_bbt: Bad block at 0x00000f8c0000
Creating 7 MTD partitions on «lpc32xx-nand»:
0x000000000000-0x000000020000 : «boot»
0x000000020000-0x000000180000 : «uboot»
0x000000180000-0x000000580000 : «safe-kernel»
0x000000580000-0x000003780000 : «safe-rootfs»
0x000003780000-0x000003b80000 : «kernel»
0x000003b80000-0x000006d80000 : «rootfs»
0x000006d80000-0x000010000000 : «work»
UBI: attaching mtd3 to ubi0
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: max. sequence number:       2
UBI: attached mtd3 to ubi0
UBI: MTD device name:            «safe-rootfs»
UBI: MTD device size:            50 MiB
UBI: number of good PEBs:        400
UBI: number of bad PEBs:         0
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 400
UBI: number of PEBs reserved for bad PEB handling: 4
UBI: max/mean erase counter: 1/0
UBI: image sequence number:  1424920104
UBI: background thread «ubi_bgt0d» started, PID 270
UBI: attaching mtd5 to ubi1
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: max. sequence number:       269
UBI: attached mtd5 to ubi1
UBI: MTD device name:            «rootfs»
UBI: MTD device size:            50 MiB
UBI: number of good PEBs:        399
UBI: number of bad PEBs:         1
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 399
UBI: number of PEBs reserved for bad PEB handling: 3
UBI: max/mean erase counter: 3/0
UBI: image sequence number:  438166388
UBI: background thread «ubi_bgt1d» started, PID 273
UBI: attaching mtd6 to ubi2
UBI: physical eraseblock size:   131072 bytes (128 KiB)
UBI: logical eraseblock size:    129024 bytes
UBI: smallest flash I/O unit:    2048
UBI: sub-page size:              512
UBI: VID header offset:          512 (aligned 512)
UBI: data offset:                2048
UBI: max. sequence number:       88
UBI: attached mtd6 to ubi2
UBI: MTD device name:            «work»
UBI: MTD device size:            146 MiB
UBI: number of good PEBs:        1165
UBI: number of bad PEBs:         7
UBI: number of corrupted PEBs:   0
UBI: max. allowed volumes:       128
UBI: wear-leveling threshold:    4096
UBI: number of internal volumes: 1
UBI: number of user volumes:     1
UBI: available PEBs:             0
UBI: total number of reserved PEBs: 1165
UBI: number of PEBs reserved for bad PEB handling: 11
UBI: max/mean erase counter: 2/1
UBI: image sequence number:  1323325530
UBI: background thread «ubi_bgt2d» started, PID 276
lpc_mii_bus: probed
eth0: using RMII interface
eth0: LPC mac at 0x31060000 irq 29
eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, irq=-1)
rtc-lpc32xx rtc-lpc32xx: rtc core: registered rtc-lpc32xx as rtc0
PNX4008-WDT: PNX4008 Watchdog Timer: heartbeat 19 sec
cpuidle: using governor ladder
cpuidle: using governor menu
Registered led device: 1-wire_port2
Registered led device: 1-wire_port1
Registered led device: 1-wire_port4
Registered led device: 1-wire_port3
Registered led device: power
Registered led device: nand-io
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev 1
rtc-lpc32xx rtc-lpc32xx: setting system clock to 1970-01-01 00:00:08 UTC (8)
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 1, volume 0, name «rootfs»
UBIFS: file system size:   49029120 bytes (47880 KiB, 46 MiB, 380 LEBs)
UBIFS: journal size:       6580224 bytes (6426 KiB, 6 MiB, 51 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:10.
Freeing init memory: 108K
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 2, volume 0, name «work»
UBIFS: file system size:   140507136 bytes (137214 KiB, 133 MiB, 1089 LEBs)
UBIFS: journal size:       9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Берете список датчиков из панели или из консоли&lt;/p&gt;
&lt;p&gt;&lt;img class="size-full wp-image-719 aligncenter" src="https://sorex.org/wp-content/uploads/2017/06/Screenshot_92.png" alt="" width="1185" height="613"&gt;&lt;/p&gt;
&lt;p&gt;далее берем ардуино и пишем код который будет брать ваш новый датчик ds18b20 и изменять его id на тот что есть в вашей коробке и отправлять его коробке&lt;/p&gt;
&lt;pre class="lang:default decode:true "&gt;/*
 *    Example-Code that emulates a DS18B20
 *
 *    Tested with:
 *    — &lt;a href="https://github.com/PaulStoffregen/OneWire"&gt;https://github.com/PaulStoffregen/OneWire&lt;/a&gt; —&amp;gt; DS18x20-Example, atmega328@16MHz as Slave
 *    — DS9490R-Master, atmega328@16MHz and teensy3.2@96MHz as Slave
 */

#include «OneWireHub.h»
#include «DS18B20.h»  // Digital Thermometer, 12bit
#include &amp;lt;OneWire.h&amp;gt;
OneWire  ds(11);  // on pin 10 (a 4.7K resistor is necessary)

constexpr uint8_t pin_led       { 13 };
constexpr uint8_t pin_onewire   { 12 };
float celsius, fahrenheit;
auto hub    = OneWireHub(pin_onewire);

auto ds18b20 = DS18B20(0x28, 0xA0, 0x36, 0x14, 0x03, 0x00, 0x00); // DS18B20: 9-12bit, -55 —  +85 degC
//28A0361403000088
auto ds18s20 = DS18B20(0x10, 0x00, 0x00, 0xA2, 0x18, 0xDA, 0x00);                 // DS18S20: 9   bit, -55 —  +85 degC
auto ds1822  = DS18B20(0x22, 0x00, 0x00, 0x22, 0x18, 0xDA, 0x00);                 // DS1822:  9-12bit, -55 — +125 degC

bool blinking(void);

void setup()
{
    Serial.begin(9600);
    Serial.println(«OneWire-Hub DS18B20 Temperature-Sensor»);
    Serial.flush();

    pinMode(pin_led, OUTPUT);

    // Setup OneWire
    hub.attach(ds18b20);
   // hub.attach(ds18s20);
   // hub.attach(ds1822);


    ds18b20.setTemperature(int8_t(85));

};

void loop()
{
    // following function must be called periodically
    hub.poll();
    // this part is just for debugging (USE_SERIAL_DEBUG in OneWire.h must be enabled for output)
    if (hub.hasError()) hub.printError();




    // Blink triggers the state-change
    if (blinking())
    {

        // Set temp
        static float temperature = celsius;
        //temperature += 0.1;
        if (temperature &amp;gt; 30.0) temperature = 20.0;
        ds18b20.setTemperature(celsius);
        //ds18s20.setTemperature(temperature);
        //ds1822.setTemperature(temperature);
        Serial.println(celsius);

              //—————————————————————————
  byte i;
  byte present = 0;
  byte type_s;
  byte data[12];
  //byte addr[8];
  //28 FF 7 DD 61 15 1 C6
unsigned char addr[8] = {0x28, 0xFF, 0x07, 0xDD, 0x61, 0x15, 0x01, 0xC6};
  //float celsius, fahrenheit;
  

  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);        // start conversion, with parasite power on at the end
  

  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // Read Scratchpad

  for ( i = 0; i &amp;lt; 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    //Serial.print(data[i], HEX);
   // Serial.print(» «);
  }


  int16_t raw = (data[1] &amp;lt;&amp;lt; 8) | data[0];
  if (type_s) {
    raw = raw &amp;lt;&amp;lt; 3; // 9 bit resolution default
    if (data[7] == 0x10) {
      // «count remain» gives full 12 bit resolution
      raw = (raw &amp;amp; 0xFFF0) + 12 — data[6];
    }
  } else {
    byte cfg = (data[4] &amp;amp; 0x60);
    // at lower res, the low bits are undefined, so let’s zero them
    if (cfg == 0x00) raw = raw &amp;amp; ~7;  // 9 bit resolution, 93.75 ms
    else if (cfg == 0x20) raw = raw &amp;amp; ~3; // 10 bit res, 187.5 ms
    else if (cfg == 0x40) raw = raw &amp;amp; ~1; // 11 bit res, 375 ms
    //// default is 12 bit resolution, 750 ms conversion time
  }
  celsius = (float)raw / 16.0;
  //fahrenheit = celsius * 1.8 + 32.0;
  Serial.print(»  Temperature = «);
  Serial.print(celsius);
  Serial.print(» Celsius, «);
  //Serial.print(fahrenheit);
  //Serial.println(» Fahrenheit»);
//—————————————————————————
    }
}

bool blinking(void)
{
    constexpr  uint32_t interval    = 1000;          // interval at which to blink (milliseconds)
    static uint32_t nextMillis  = millis();     // will store next time LED will updated

    if (millis() &amp;gt; nextMillis)
    {
        nextMillis += interval;             // save the next time you blinked the LED
        static uint8_t ledState = LOW;      // ledState used to set the LED
        if (ledState == LOW)    ledState = HIGH;
        else                    ledState = LOW;
        digitalWrite(pin_led, ledState);
        return 1;
    }
    return 0;
}

&lt;/pre&gt;
&lt;p&gt;Пин 12 это выход на разьем в коробку, пин 11 это дата пин вашего нового датчика ds18b20, так же не забываем подтягивать новый датчик резистором на 4,7ком на шину +5В&lt;/p&gt;
&lt;p&gt;После этого заходим в консоль коробки и проверяем как она видит ваш датчик&lt;/p&gt;
&lt;p&gt;root [ ~ ]# tempcontrol&lt;br /&gt;
Found sensors:&lt;br /&gt;
0: 28 A0 36 14 03 00 00 88&lt;br /&gt;
RomCode: 28A0361403000088 Port: 0 Order :0 Time: 1496909700 Temp: 335&lt;br /&gt;
RomCode: 28A0361403000088 Port: 0 Order :0 Time: 1496909702 Temp: 335&lt;br /&gt;
RomCode: 28A0361403000088 Port: 0 Order :0 Time: 1496909703 Temp: 340&lt;br /&gt;
RomCode: 28A0361403000088 Port: 0 Order :0 Time: 1496909704 Temp: 340&lt;br /&gt;
RomCode: 28A0361403000088 Port: 0 Order :0 Time: 1496909705 Temp: 335&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
</description>
</item>

<item>
<title>Ключ для avreg на 100 каналов</title>
<guid isPermaLink="false">24</guid>
<link>https://sorex.org/?go=all/klyuch-dlya-avreg-na-100-kanalov/</link>
<pubDate>Tue, 13 Apr 2021 09:48:20 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/klyuch-dlya-avreg-na-100-kanalov/</comments>
<description>
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;exec(&amp;quot;ifconfig -a &amp;gt;eth.out&amp;quot;);

$str1='';
$str2=&amp;quot;HWaddr&amp;quot;;

$ff=fopen(&amp;quot;eth.out&amp;quot;,'r');
$str1=fgets($ff);
fclose($ff);

$mac=substr(str_replace(' ','',str_replace($str2,'',strstr($str1,$str2))),0,17);
$mac=$mac . '-64:64:64:64';
$salt='$1$e4_Z3G-x


';
$key2 = crypt($mac,$salt);

$key2=str_replace($salt,&amp;quot;&amp;quot;,$key2);

$ff=fopen('avreg-v5',&amp;quot;w&amp;quot;);
fputs($ff,&amp;quot;key_ver5_part1=&amp;quot;.$mac.&amp;quot;\n&amp;quot;);
fputs($ff,&amp;quot;key_ver5_part2=&amp;quot;.$key2.&amp;quot;\n&amp;quot;);

fclose($ff);
?&amp;gt;&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Сброс настроек IPMI Supermicro через Ubuntu или Esxi 5.5</title>
<guid isPermaLink="false">15</guid>
<link>https://sorex.org/?go=all/sbros-nastroek-ipmi-supermicro-cherez-ubuntu-ili-esxi-5-5/</link>
<pubDate>Tue, 13 Apr 2021 09:36:36 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/sbros-nastroek-ipmi-supermicro-cherez-ubuntu-ili-esxi-5-5/</comments>
<description>
&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для сброса закидывает всю папку linux\x64 и выполняем &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;chmod +x IPMICFG-Linux.x86_64; ./IPMICFG-Linux.x86_64 -fd&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Ждем рестарта SMC и после этого входим по DHCP с логином паролем ADMIN ADMIN&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:file {"id":1552,"href":"https://sorex.org/wp-content/uploads/2019/12/IPMICFG_1.30.0_build.190710.zip"} --&gt;&lt;div class="wp-block-file"&gt;&lt;p&gt;&lt;a href="https://sorex.org/wp-content/uploads/2019/12/IPMICFG_1.30.0_build.190710.zip"&gt;IPMICFG_1.30.0_build.190710&lt;/a&gt;&lt;a href="https://sorex.org/wp-content/uploads/2019/12/IPMICFG_1.30.0_build.190710.zip" class="wp-block-file__button" download&gt;Скачать&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;!-- /wp:file --&gt;</description>
</item>

<item>
<title>Flashcache + munin на Ubunt 16.04</title>
<guid isPermaLink="false">14</guid>
<link>https://sorex.org/?go=all/flashcache-munin-na-ubunt-16-04/</link>
<pubDate>Tue, 13 Apr 2021 09:35:40 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/flashcache-munin-na-ubunt-16-04/</comments>
<description>
&lt;!-- wp:paragraph --&gt;&lt;p&gt;Устанавливаем пакеты и компилим с исходников&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo apt-get install dkms build-essential linux-headers-$(uname -r) git&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git clone git://github.com/facebook/flashcache; cd flashcache&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;make -f Makefile.dkms&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;make install&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После этого подгружаем модуль &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;modprobe flashcache&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Дальше добавлем кеш к диску sdaX в режиме writeback&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt; sudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для проверки попаданий в кеш вводим&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt; dmsetup status cachedev &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для размонтирования кеша с выгрузкой грязных данных используем &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt; &lt;em&gt;dmsetup remove cachedev&lt;/em&gt; &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:image {"id":1563,"sizeSlug":"large"} --&gt;&lt;p&gt;&lt;figure class="wp-block-image size-large"&gt;&lt;img src="https://sorex.org/wp-content/uploads/2019/12/image.png" alt="" class="wp-image-1563"/&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;!-- /wp:image --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Файл /etc/fstab не менялся, т. к. кеширование делается на уровне md-устройтва, поєтому домашний каталог доступен без бубнов и танцев сразу после загрузки системы.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Твики в sysctl.conf:&lt;br&gt;
dev.flashcache.sda+md2.fallow_delay = 240&lt;br&gt;
dev.flashcache.sda+md2.fast_remove = 1&lt;br&gt;
dev.flashcache.sda+md2.reclaim_policy = 1&lt;br&gt;
dev.flashcache.sda+md2.skip_seq_thresh_kb = 1024&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;strong&gt;Убрать кеширование&lt;/strong&gt;.&lt;br&gt;1. umount /home&lt;br&gt;2. sysctl -w dev.flashcache.sda+md2.do_sync=1&lt;br&gt;(может занять продолжительное время для записи данных на медленный диск)&lt;br&gt;3. vgchange -an vg1&lt;br&gt;3. dmsetup remove ssd&lt;br&gt;4. flashcache_destroy /dev/sda&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Теперь логический раздел vg1-home можно примонтировать без SSD кеша&lt;br&gt;5. vgchange -ay vg1&lt;br&gt;6. mount /dev/mapper/vg1-home /home&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Ставим munin&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Шаг 1. Установка Munin-master и Munin-node&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Установить Munin можно из стандартных репозиториев операционной системы :&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;sudo apt-get update&lt;br&gt;sudo apt-get install munin&lt;br&gt;sudo apt-get install munin-node&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Шаг 2. Настройка Munin-master&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Откроем конфигурационный файл Munin:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;nano /etc/munin/munin.conf&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для начальной настройки необходимо изменить только имя хоста, которое будет выводиться в графиках. Для этого в секции конфигурационного файла «# a simple host tree» отредактируем строку&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;[localhost.localdomain]&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Имя хоста можно указать, например, так:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;[srv-01.example.com]&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt; Вот и всё.  Сохраняем внесённые изменения и выходим из текстового редактора.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Шаг 3. Настройка Munin-node&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Как и при настройке Munin-master, для начала необходимо открыть конфигурационный файл :&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;nano /etc/munin/munin-node.conf&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;В файле нужно найти строку&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;#host_name localhost.localdomain&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Она нужна для того, чтобы изменить имя хоста. Именно её потребуется отредактировать — например, так:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;host_name srv-01.example.com&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Обратите внимание, что строку нужно раскомментировать (удалить символ # в начале).&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;strong&gt;Управление плагинами&lt;/strong&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Чтобы посмотреть список доступных плагинов, необходимо сделать листинг директории /etc/munin/plugins&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;ls -l /usr/share/munin/plugins/&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для установки плагина нужно создать на него символическую ссылку.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Перейдём в директорию для установленных плагинов.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;cd /etc/munin/plugins/&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Установим какой-нибудь плагин (в нашем примере это плагин для DNS-сервера Bind):&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;ln -s /usr/share/munin/plugins/bind9&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После добавления всех необходимых плагинов перезапустим Munin-node для примерения изменений:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;service munin-node restart&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Шаг 4. Настройка доступа к Munin через Apache и Nginx&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Результаты мониторинга Munin отображает в виде графиков. Для этого потребуется HTTP-сервер  —  например, Apache или Nginx.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;strong&gt;Настройка доступа к Munin через Apache&lt;/strong&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для настройки доступа к Munin через Apache необходимо в конфигурацию любого виртуального хоста (в то числе стандартного) внести директиву &amp;lt;Location /munin&amp;gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для этого в файл виртуального хоста потребуется вставить следующие строки&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;&amp;lt;Location /munin&amp;gt;&lt;br&gt;    AuthType Basic&lt;br&gt;    AuthName «Munin Statistics»&lt;br&gt;    AuthUserFile /etc/munin/.passwd&lt;br&gt;    Require valid-user&lt;br&gt;&amp;lt;/Location&amp;gt;&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После внесения изменений Apache нужно будет перезапустить:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;service apache2 restart&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;strong&gt;Настройка доступа к Munin через Nginx&lt;/strong&gt;&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для настройки доступа к Munin через Nginx также понадобится внести изменения в конфигурацию любого виртуального хоста:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;location /munin {&lt;br&gt;    alias /var/www/munin;&lt;br&gt;    autoindex on;&lt;br&gt;    auth_basic «Munin Statistics»;&lt;br&gt;    auth_basic_user_file /etc/munin/.passwd;&lt;br&gt;}&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Чтобы настройки вступили в силу, Nginx нужно будет перезагрузить.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;service nginx restart&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Шаг 5. Создание файла паролей&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;По завершении настройки создадим файл с паролями пользователей, имеющих доступ к Munin.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Для этого выполним следующую команду:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;htpasswd -c /etc/munin/.passwd user&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После выполнения данной команды будет предложено два раза ввести пароль от пользователя, после чего файл будет записан. В этой команде можно заменить user на любое удобное имя пользователя.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;В конфиге для Nginx ставим&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;alias /var/cache/munin/www;
&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После этого добавляем модуль flashcache&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;wget  &lt;a href="https://raw.github.com/pkhamre/flashcache-munin/master/flashcache_stats"&gt;https://raw.github.com/pkhamre/flashcache-munin/master/flashcache_stats&lt;/a&gt; &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;chmod +x flashcache_stats;mv flashcache_stats /usr/share/munin/plugins/; ln -s   /usr/share/munin/plugins/flashcache_stats /etc/munin/plugins/&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Установка для дебиан &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt; aptitude install flashcache-dkms flashcache-utils&lt;br&gt;modprobe flashcache &lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;</description>
</item>

<item>
<title>flashcache Centos</title>
<guid isPermaLink="false">12</guid>
<link>https://sorex.org/?go=all/flashcache-centos/</link>
<pubDate>Tue, 13 Apr 2021 09:31:15 +0000</pubDate>
<author>sorex</author>
<comments>https://sorex.org/?go=all/flashcache-centos/</comments>
<description>
&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Разбивка в installimage&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;&lt;strong&gt;SSD&lt;/strong&gt;: так как он первый, то закомментирован. Остальные секции&lt;br&gt;&lt;strong&gt;DRIVE: &lt;/strong&gt;переименованы по номерами на 1 и 2.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;SWRAIDLEVEL = 1&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;( по умолчанию на 3-х пытается создать 5-й RAID)&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;PART swap swap 32G
PART /boot ext3 512M
PART lvm vg0 all
LV vg0 vz /vz ext4 600G
LV vg0 root / ext4 all
&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Далее, в соответствии с установщиком. Нажимаем f10 и enter.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;После загрузки сервера в обычном режиме с установленным чистым Centos, ставим OpenVZ. Установка описана &lt;a href="https://adminvps.ru/blog/ustanovka-i-nastrojka-openvz-na-centos-6/"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Теперь начинается самое интересное.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:heading --&gt;&lt;p&gt;&lt;h2&gt;Установка flashcache&lt;/h2&gt;&lt;/p&gt;
&lt;!-- /wp:heading --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;К сожалению, это не быстрый способ установки. Возможно, это из-за OpenVZ ядра. Мануал всего из двух строчек:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;1) Подключаем репозиторий&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;rpm -Uvh &lt;a href="http://elrepo.reloumirrors.net/elrepo/el6/x86_64/RPMS/elrepo-release-6-4.el6.elrepo.noarch.rpm"&gt;http://elrepo.reloumirrors.net/elrepo/el6/x86_64/RPMS/elrepo-release-6-4.el6.elrepo.noarch.rpm&lt;/a&gt;&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;2) И устанавливаем&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;yum -y install kmod-flashcache flashcache-utils&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;На момент написания статьи было ядро OpenVZ rhel6-2.6.32 версии 042stab074.10.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Так как для сборки FlashCache требуются некоторые внутренние заголовочные файлы, которые не входят в состав пакета kernel-headers/devel, требуется загрузить и установить полный код ядра. Нам же не хватало vzkernel-headers.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;yumdownloader —source kernel-`uname -r`
rpm -ivh kernel-`uname -r`.src.rpm
&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;&lt;!-- wp:paragraph --&gt;&lt;p&gt;Далее скачиваем и устанавливаем:&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;&lt;!-- wp:preformatted --&gt;&lt;pre class="wp-block-preformatted"&gt;git clone &lt;a href="https://github.com/facebook/flashcache.git"&gt;https://github.com/facebook/flashcache.git&lt;/a&gt;

cd flashcache

make -f Makefile.dkms&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;</description>
</item>


</channel>
</rss>