Недавно задался таким вопросом: а как собственно проверять бэкапы. Вот допустим у меня Proxmox, каждую ночь вирт. машины дампаются на диск в формате vma (контейнер такой) и подгружаются на удаленный сервер где и хранятся положеный retention period.
Мне хочется удостовериться что образ который загрузился на сервер действительно рабочий. Этот самый vma я могу смонтировать в /dev/mapper, но после этого, что именно проверять? Или просто сам факт того что образ примонтировался уже говорит о том что бэкап ок?
Потребовалось мониторить несколько хостов с помощью Zabbix, но не получается настроить active agent. Сервер его просто не видит и совершенно непонятно как делать debug.
Мои шаги по настройке:
1. Установка Zabbix Agent такой же версии что и Zabbix Server.
admin00@luna:~$ /usr/sbin/zabbix_agentd -V
zabbix_agentd (daemon) (Zabbix) 4.0.17
Revision a528a0a4bc 28 January 2020, compilation time: Jan 30 2020 10:22:22
Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.
This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).
Compiled with OpenSSL 1.1.0f 25 May 2017
Running with OpenSSL 1.1.0l 10 Sep 2019
2. Порт 10051 открыт на стороне сервере.
$ telnet zabbix-server.com 10051
Trying 185.239.202.137...
Connected to home.xand.es.
Escape character is '^]'.
^CConnection closed by foreign host.
3. Переменные в файле /etc/zabbix/zabbix_agentd.conf.
Server=zabbix-server.com
ServerActive=zabbix-server.com:10051
Hostname=luna.corp.overlap.net # этот hostname совпадает с тем что я вписываю серверу в поле Host name
4. Добавляю хост в сервер через Configuration > Hosts. Вот картинка: https://ibb.co/2ghjYTf.
И все, дальше ничего не происходит, в логе Zabbix Agent не вижу ничего:
16201:20200205:143413.072 Starting Zabbix Agent [luna.corp.overlap.net]. Zabbix 4.0.17 (revision a528a0a4bc).
16201:20200205:143413.072 **** Enabled features ****
16201:20200205:143413.072 IPv6 support: YES
16201:20200205:143413.072 TLS support: YES
16201:20200205:143413.072 **************************
16201:20200205:143413.072 using configuration file: /etc/zabbix/zabbix_agentd.conf
16201:20200205:143413.072 agent #0 started [main process]
16202:20200205:143413.073 agent #1 started [collector]
16203:20200205:143413.073 agent #2 started [listener #1]
16206:20200205:143413.073 agent #5 started [active checks #1]
16204:20200205:143413.073 agent #3 started [listener #2]
16205:20200205:143413.074 agent #4 started [listener #3]
Подскажите, пожалуйста, где я совершаю глупую ошибку?
Внезапно я озадачился такой проблемой. Вот допустим есть у меня система критическая в плане сохранения данных, к примеру сервер базы данных. На ней стоят диски, допустим HDD, хотя возможно и SSD, сути это не меняет. И предположим, диски начинают умирать потихоньку, но ведь сразу диск не умирает, наверняка сначала начнут появляться ошибки чтения в dmesg (который никто никогда не смотрит, пока все не сломается).
Отсюда два вопроса:
Есть ли какой то нативный инструмент контроля и репортинга ошибок записи/чтения на диск? S.M.A.R.T. не предлагайте, потому что в него, во первых, тоже никто никогда не смотрит, а во вторых он не всегда помогает, насколько я понимаю.
Возможно ли как то спровоцировать ошибку чтения диска не ломая сам диск при этом. Это нужно для тестинга.
Продолжаю разбираться с резервным копированием БД PostgreSQL. Появился следующий вопрос.
Насколько я понимаю, при восстановлении БД из архива Бармана, у меня получается директория с базовой копией + некоторое кол-во WAL файлов. При этом, при запуске PostgreSQL на базовую копию накатятся логи и БД придет в актуальное состояние.
Но мне непонятно каким образом сделать PITR, то есть я понимаю что можно восстановить на определенный момент времени или на определенную транзакцию, но как понять какую именно транзакцию мне надо или же в какой момент произошел сбой?
Вот допустим есть следующая последовательность транзакций:
То есть, на транзакции 1003 произошло удаление и мне по идеи надо восстановиться до транзакции 1002 включительно и перевести БД в режим production.
Читая вдоль и поперек документацию, я так и не понял каким образом можно увидеть «глазами», что именно произошло с БД и при этом получить номер транзакции.
Не мог бы мне кто нибудь из знающих людей объяснить. Или я вообще ничего не понимаю в этом деле?
То есть грубо говоря чтобы в «начале» дня делался полный бэкап, а затем просто сохранялись wal, но у них на сайте как то крайне непонятно все написано.
Если я делаю systemctl stop/start make-backup.timer то вижу следующее:
# systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2019-06-24 21:08:00 CEST 40s left n/a n/a make-backup.timer make-backup.service
Mon 2019-06-24 21:08:00 CEST 40s left Mon 2019-06-24 21:07:00 CEST 19s ago pvesr.timer pvesr.service
Mon 2019-06-24 22:00:25 CEST 53min left Sun 2019-06-23 22:00:25 CEST 23h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Tue 2019-06-25 04:55:18 CEST 7h left Mon 2019-06-24 02:27:09 CEST 18h ago pve-daily-update.timer pve-daily-update.service
Tue 2019-06-25 06:55:07 CEST 9h left Mon 2019-06-24 06:32:27 CEST 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2019-06-25 08:04:39 CEST 10h left Mon 2019-06-24 20:53:28 CEST 13min ago apt-daily.timer apt-daily.service
6 timers listed.
Pass --all to see loaded but inactive timers, too.
Но как только таймер якобы «срабатывает», происходит следующее:
# systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Mon 2019-06-24 21:09:00 CEST 54s left Mon 2019-06-24 21:08:00 CEST 5s ago pvesr.timer pvesr.service
Mon 2019-06-24 22:00:25 CEST 52min left Sun 2019-06-23 22:00:25 CEST 23h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Tue 2019-06-25 04:55:18 CEST 7h left Mon 2019-06-24 02:27:09 CEST 18h ago pve-daily-update.timer pve-daily-update.service
Tue 2019-06-25 06:55:07 CEST 9h left Mon 2019-06-24 06:32:27 CEST 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2019-06-25 08:04:39 CEST 10h left Mon 2019-06-24 20:53:28 CEST 14min ago apt-daily.timer apt-daily.service
n/a n/a Mon 2019-06-24 21:08:00 CEST 5s ago make-backup.timer make-backup.service
6 timers listed.
Pass --all to see loaded but inactive timers, too.
Разумеется на самом деле ничего не срабатывает. Мне непонятно почему NEXT и LEFT становятся в значение n/a. При этом понятно, что на самом деле таймер не срабатывает. И как это можно дебажить?
Команда в сервисе рабочая, если ее просто скопировать в терминал то все ОК.
За 20 лет пользования Линуксом на десктопе, пожалуй, самой темной для меня частью остаются шрифты.
Вот допустим поставил я Арч, с завода там какие то совсем базовые шрифты. В Thunderbird при чтении текстовых сообщений (не ХТМЛ), все отображается как то мелко и стремно. В Хромиуме шрифты свои. Панго никогда в жизни у меня не завелся. Еле еле настраиваю в консоли Consolas. neofetch вообще инфу о шрифтах не показывает.
Нет, в случаи необходимости я вроде как умею установить нужный шрифт. Но при этом, как узнать какие шрифты нужны тому же thunderbird?
В общем на этих выходных я решил восполнить этот пробел знаний с помощью любимых форумчан.
push "dhcp-option DNS 10.90.0.1"
push "dhcp-option DOMAIN corp.domain.net"
3. После старта клиента вижу следующее:
$ resolvectl status
[...]
Link 31 (tun0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: allow-downgrade
DNSSEC supported: no
Current DNS Server: 10.90.0.1
DNS Servers: 10.90.0.1
DNS Domain: corp.domain.net
[...]
Link 2 (enp42s0)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: allow-downgrade
DNSSEC supported: no
Current DNS Server: 192.168.35.1
DNS Servers: 192.168.35.1
После этого не резолвится имя server.corp.domain.net. Сами сервера в VPN пингуются, все остальное резолвится также норм.
В общем я собрал с нуля новый комп и крайне успешно пробросил видеокарту в вирт. машину с виндой чтобы играть в игрушки. В итоге все получилось даже немного лучше чем я ожидал.
По ходу дела столкнулся с множеством трудностей, но готов поделиться своими свежеприобретенными знаниями с ЛОРом. Так что задавайте ваши ответы, если кому интересно, конечно.
Система:
- ASRock X470 Taichi Ultimate
- AMD Ryzen 2700X
- P. GPU: Radeon RX580
- S. GPU: Radeon 2400 HD
- RAM 32GB
- Arch Linux
Детали виртуализации:
- QEMU/KVM.
- P. GPU отходит вирт. машине с Windows 10.
- Нашел два порта USB 3.0 на отдельном контроллере и в отдельной IOMMU группе, отдал виртуалке.
- Пробросить SATA контроллер не получилось, неудачно совпали группы, использую raw партицию + SSD для кэша.
- Звук по HDMI.
- Hugepages (1Gb), 8 штук для вирт. машины.
- 8 ядер отходит виртуалке, topoext включен в qemu.
- Для процессора, видеокарты и звука настроил прерывания MSI.
- На хосте использую vfio-pci.
- TianoCore UEFI BIOS.
В общем на все про все ушло 2 недели безнапряжных занятий после работы. Результат превзошел все ожидания, хотя некоторые ситуации казались что уже безвыходные, например, при перезагрузке вирт. машины намертво зависал хост.
В общем встала задача: надо воткнуть в локалку комп, так чтобы люди снаружи могли к нему подключаться на определенных портах (port forwarding). К тому же, этот комп должен быть полностью изолирован от других участников сети.
На свою голову решил это сделать с помощью VLAN (а можно как то по другому?), прикладываю диаграмму моей изначальной задумки. Разумеется ничего не работает еще на стадии пинга из микротика на адрес собственно компа.
1. На стороне микротика где надо VLAN создавать? На бридже или на самом интерфейсе куда провод воткнут?
2. На делле я создал группу vlan 20, и обозначил 8ой порт. Следует ли еще и порт 1 добавлять?
Недавно приобрел клавиатуру DREVO Calibur, которая блютуз. Сразу оговорюсь, все тесты провел на Виндоус и там все работает четко, проблема проявляется только на моем Арче.
Итак, с помощью утилиты bluetoothctl подключаю клавиатуру, в процессе спаривания генерится код, который я ввожу с клавиатуры, с этим пробем нет. Все работает, все подключается, ровно до этого момента.
Дальше происходит следующее — клавиатура не реагирует на клавиши, вообще ни на какие. xev молчит. Полез разбираться, посмотрел с помощью udevadm, после того как происходит подключение hci устройства полный молчок. У людей из интернета после этого еще видно как автоматом добавляется устройство hdi, у меня нет.
Вроде пересмотрел все профильные ветки, без результатов.
Столкнулся с такой проблемой что рандомно перестает работать клавиша Win. У меня на ней висят воркспейсы, ну то есть Win+1,2,3,4,5. Так вот периодически, раз в неск. часов, нажимая Win+5 например просто тупо пропечатывается «5».
Лечится путем вкл/выкл клавиатуры от USB. Причем что странно, на ноутбучной клавиатуре ситуация аналогичная, то есть дело не в клаве.
Как такое можно дебажить учитывая что проявляется рандомно совершенно?
Поставил тут поиграться Firefox Quantum и обалдел от того насколько все плохо на моей машине.
1. Использую i3wm, при переключении в воркспейс браузера не отрисовывается его окно. То есть если вслепую проскроллить немного контент он его отрисует, но не ранее.
2. Tridactyl (замена vimperator) тормозит, на некоторых страницах вообще не работает.
3. В общем и целом браузер «подвисает». То есть иногда вообще первая реакция на клик или на прокрутку занимает секунд 5.
Понятно что это я что то делаю неправильно, но в какую сторону смотреть примерно?
Так уж получилось что законодательство Испании весьма лояльно относится к торрентам которые раздаются частными лицами из дома. Ну типа у нас неприкосновенность жилища, а также коммуникаций граждан важнее интересов всяких там корпораций.
Плюс ко всему, у меня уже несколько лет до дома проложена оптика 600/600 мбит которую я использую хорошо если на 10% и то временами. IP белый, публичный, правда динамический — меняется каждый раз как ребутаешь рутер, т.е. раз в год. Порты открываю сам на своем рутере.
Отсюда вопрос, а как можно было бы это дело монетизировать так чтобы хотя бы эту линию и электричество мне платили другие люди взамен на какой нибудь сервис? Первая идея которая приходит в голову это сидбокс, но хотелось бы обезопасить себя от ЦП и прочего говна.
Не то чтобы я переживал что меня поймают, просто резко осуждаю такое.
В общем озадачился я тут наведением порядка в доме, а именно надо бы организовать full size ATX tower, миллион висящих проводов, роутер, Netgear Stora, и два удлинителя работающих по схеме один-в-другой. Для этого я решил прикупить стойку rack 12U и поместить все туда. Проблема в том что я ни разу не собирал стойки с серверами, поэтому не знаю какие проблемы меня могут ожидать.
Еще нужно докупить свитч и бесперебойник, но это самое простое. Итого получается 4 + 1 + 1 + 1 = 7U. У меня остается свободными 5U, и вот туда надо будет поставить все «неформатное» оборудование, роутер Microtik и Netgear Stora, плюс еще хотелось бы чтобы осталось место чтобы покидать всякие запасные провода, отвертку и т.п. Как это лучше всего сделать? Есть ли какие то ящики которые можно будет прикрутить и сложить все туда?
Вообще, что скажут знающие люди про всю эту идею? Стоит ли делать или забить и пусть все дальше висит в пожароопасных условиях?
P.D. Не предлагайте столик из Икеи, он у меня уже есть. Надо очень не ценить свое оборудование чтобы в такое его ставить.
В целях облегчения системы управления юзерами есть идея создания веб-морды для генерации сертификатов для OpenVPN. Юзеры в основном не подкованы в тех. темах и все делают из браузера, однако им надо предоставить возможность генерить где то «честный» приватный ключ.
Отсюда вопрос: надежна ли генерация 4096-ключа из браузера с помощью JS?