• Установка proxmox и RAID?

    tonyslark
    @tonyslark
    junior system administrator
    В сети наткнулся на такую статью: https://serveradmin.ru/ustanovka-i-nastroyka-proxmox/ - может она даст Вам ответы на вашивопросы
    Ответ написан
    Комментировать
  • Как восстановить ZFS RAIDZ1?

    @elbrus56
    Сначала надо было воспользоваться инструкцией - https://docs.oracle.com/cd/E19253-01/819-5461/gbct... - попробовать откатить транзакции.

    Посмотреть на аналогичные проблемы - https://www.ixsystems.com/community/threads/pool-m...

    На худой конец вынуть проблемный диск и у вас был бы Degraded Pool.

    Надо понимать, что такое pool metadata и как это хранится. Надо понимать, что такое scrub на ZFS и почему надо использовать память ECC. Надо понимать, что reallocate сектора вряд ли решит проблему, так как данные на нем уже испорчены.

    А потом в РЛаб сходить.

    И бэкапы настроить.
    Ответ написан
    Комментировать
  • Что лучше в плане безопасности и стабильности + по ресурсу ,Ubuntu server или Cent OS??

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Примерно одинаково по стабильности, а безопасность зависит в основном от администратора. Я бы ставил Centos либо Debian.
    Ответ написан
    2 комментария
  • Стоит ли использовать Elasticsearch в качестве основной бд?

    Я бы не использовал. По причини боли при мажорных обновлениях. А они бывают не редко.
    1. Нужно переиндексировать все индексы в актуальную версию перед обновлением на следующую. (reindex api спасает, но все равно не приятно делать на горячей бд)
    2. В мажорных обновлениях часто меняют типизацию. В NoSQL с нестрогой типизацией это всегда неожиданно.
    3. Бекапы старых версий не развернуть на новых. Бекап с возрастом в пару лет становится тыквой прям по определению.
    4. Проблемы производительности если хранить много лишних данных в индексах. (Кушает память на весь документ, а не только на нужные поля - часто срабатывает gc, который кушает проц. Уменьшается эффективность кеша)
    5. И главное. Он асинхронный. т.е запись в выдаче появляется не сразу. Это иногда приводит к сложностям в коде
    Ответ написан
    Комментировать
  • Какие преимущества создания сайта на самописном движке перед тем же Wordpress?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Какие преимущества создания сайта на самописном движке перед тем же Wordpress?

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

    Выиграю я по оптимизации относительно того же Wordpress в техническом плане?

    Зависит от задачи. Если WP уже ее решает - скорее всего нет.

    С какими проблемами могу столкнуться или на что следует обратить внимание?

    На этот вопрос можно ответить только на основании ТЗ, или продуктового брифа.

    Что нужно сделать в самописном движке, чтобы он наверняка был круче CMS (быстрее, оптимизированне и т.д.)?

    Если чисто в техническом плане - можете использовать следующие соглашения https://github.com/index0h/php-conventions . Сразу гнаться за скоростью и оптимизированностью не рекомендую, потратите не порядок больше времени.

    В продуктовом же плане, сделать ширпотребную cms с теми же задачами, что и у WP и таким же охватом аудитории - это практически не реально на данный момент.
    Ответ написан
    Комментировать
  • Как в postfix найти какой сайт отсылает почту?

    @ShamblerR Автор вопроса
    Ответ написан
    Комментировать
  • Как запустить скрипт python в фоне как демон?

    @MadridianFox
    Web-программист, многостаночник
    Чтобы программа работала "в фоне", она должна либо сама позаботиться о том чтобы не блокировать консоль и не умирать при закрытии баша, либо доверить это специальной программе.

    Как уйти в фон самостоятельно:
    Процессы (работающие программы) имеют идентификаторы и знают кто их запустил, посредством хранения id родительского процесса. Т.о. у нас есть дерево процессов. Родительский процесс может управлять дочерними, и он должен при своём завершении завершать и свои дочерние процессы. Если он этого не сделает, то дочерний процесс сменит родителя на процесс с id = 1, т.е. на init процесс. Поэтому чтобы уйти в фон, ваша программа должна всего лишь остановить её родительский процесс.
    Проблема в том, что родительский процесс для программы, которую вы запускаете в консоли - это сама консоль и нам не надо чтобы она закрылась.
    Поэтому уходящие в фон программы перед остановкой родителя увеличивают уровень вложенности - т.е. запускают свою копию, и эта копия, будучи дочерней для первого процесса программы, убивает уже не баш, а вспомогательный родительский процесс.
    Другой момент - это отвязаться от консоли. Тут всё просто - надо перенаправить stdin, stderr и stdout в файлы.
    Ну и наконец надо позаботиться об управлении демоном, ведь пока что нам не остаётся ничего другого, кроме как посылать ему сигналы командой kill. Чтобы реализовать более понятные команды, надо сделать две вещи:
    1) во время ухода в фон сохранить в файл pid результирующего процесса
    2) написать немного кода в самой программе или во вспомогательном скрипте, который, при вызове его в консоли, будет читать pid из файла и манипулировать процессом.

    Такая функциональность часто выделяется в отдельную библиотеку, можно поискать в документации или на гитхабе.

    Другой вариант - использовать вспомогательные программы.
    С одной стороны у нас есть возможности самого баша - jobs т.е. фоновые процессы, которые однако умирают при закрытии консоли. Чтобы это обойти есть команда disown и программы nohup и setsid.
    Они позволяют так или иначе получить процесс отвязанный от баша. Однако управлять процессом можно будет только сигналами.
    С другой стороны есть менеджеры процессов. Например supervisord или pm2. Это такие программы, которые умеют уходить в фон и умеют, уже будучи демоном, запускать другие программы и управлять ими.

    Ну и наконец всегда есть главный менеджер процессов вашего компьютера/сервера - это система инициализации, которая сейчас почти везде - systemd. Делает то же самое что и обычный менеджер процессов, но ещё и позволяет управлять последовательностью запуска процессов.

    Итог: выбирать способ демонизации процесса необходимо исходя из стабильности его работы. Если это сервер, который должен работать месяцами и запускаться при старте системы - то надо использовать систему инициализации. Так делают Nвеб-сервера, базы данных и всякие капитальные сервисы.
    Если процессы более динамичные и их надо периодически запускать и останавливать, то лучше взять менеджер процессов.
    Если это совсем уж мимолётное желание запустить программу в фоне, пусть поработает а там остановлю, то можно не заморачиваться и отвязать её от баша тем или иным способом.

    Возможность самостоятельно уйти в фон и реализация собственных команд управления процессом нужна только если у вас наполеоновские планы и вы хотите дать пользователям возможность запускать вашу программу на разных ОС.
    Ответ написан
    Комментировать
  • Считается ли контент не уникальным, если его украли по частям?

    XXX
    @XXX
    Решение где-то рядом
    Считается ли теперь мой контент неуникальным
    Да.

    как это влияет на ранжирование поисковыми системами?
    Отрицательно, но многое зависит в целом от сайта, его показателей и истории. При определенных условиях, на снижение уникальности текстов можно не обращать внимание.

    Владислав Овечкин вам не о чем беспокоится, если контент вашего сайта всегда был авторским и уникальным (пусть и позднее его дублировали), сам сайт стабильно работает, посетители показывают хорошие поведенческие, все быстро индексируется и в целом сайт обладает высоким трастом у поисковиков.

    Если же у вас есть проблемы: с качеством сайта, контент обновляется редко, то ПС вполне могут отдавать предпочтение простым и быстрым сайтам парсящим у вас контент (если качество этих сайтов, по мнению ПС, выше).

    Нужно комплексно оценить ситуацию, что представляет из себя ваш сайт в сравнении с теми кто продублировал ваш контент. Потерявшие уникальность тексты могут быть не основной проблемой вашего сайта.

    Новые материалы не забывайте размещать в Оригинальные тексты (FAQ от яндекса).
    Исследование "оригинальных текстов" Яндекса
    Ответ написан
    Комментировать
  • Как правильно легализовать работу с Upwork?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Совет №1, который решит все ваши вопросы: не заморачивайтесь о легализации, пока не выйдете на стабильный заработок, хотя бы тыщ 30-50 в месяц.

    До тех пор пользуйтесь более простыми методами: PayPal или Payoneer.

    Direct to local bank не стоит использовать вообще ни при каком сценарии. Он не освобождает от валютного контроля. При этом вы потеряете около 5% на курсе конвертации.

    Когда суммы будут измеряться тысячами долларов, то стоит использовать Wire Transfer и получать чистые доллары на валютный счёт. Эта тема расписана 100 раз в т.ч. на Тостере. Регистрируете ИП и погнали. Если остались вопросы, велкам в комменты.
    Ответ написан
    8 комментариев
  • Прога мониторинга ресурсов linux из windows типа Диспетчера задач?

    moropsk
    @moropsk
    А какой смысл, мониторить nix из win?
    Может стоит заморочиться с нормальным мониторингом?
    https://serveradmin.ru/category/zabbix/
    Ответ написан
    Комментировать
  • Почему не меняется версия php в консоли?

    @nnkrasovok Автор вопроса
    Ответ написан
    Комментировать
  • Почему большинство работадателей требует знание Linux, а не Unix?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Потому что линух - это конечно же общие познания в UNIX, плюс много-много специфичных знаний по конкретной ветке дистрибов или даже по конкретному дистрибу. Да, имея за спиной солидное знание UNIX, линух изучить просто, но множество не-линуховой специфики будет просто засунуто в ... карман.

    Могу это сказать, как человек, который с 1997 по 2013 год работал на FreeBSD и только что бантиком ее не мог завязать :) - много, очень много инфы было засунуто в ... карман после перехода на CentOS
    Ответ написан
    Комментировать
  • Почему большинство работадателей требует знание Linux, а не Unix?

    sabramovskikh
    @sabramovskikh
    Ну смотри. У меня 10 серверов на убунте. Зачем мне твои знания по фряхе и нетбсд?
    Ответ написан
    Комментировать
  • Где можно пройти хорошие онлайн курсы по DevOps?

    nonname
    @nonname
    Как выше уже сказали профессии такой нет, но есть инженеры, которые используют DevOps практики.
    Я в эту профессию попал из системного администрирования, имея довольно неплохой бэкграунд и последнее время склоняюсь к тому, что это не та профессия, которую нужно начинать с нуля. Сейчас пытаюсь разработать внутренние курсы для для своего работодателя, чтобы привлечь в профессию ops инженеров или разработчиков. Сначала думал что можно дать материал джунам, но в итоге пришёл к выводу, что для начала нужно поработать в разработке\администрировании до уровня мидла, чтобы иметь представление о том как вообще работают системы, как они разрабатываются и эксплуатируются, параллельно можно изучать DevOps инструменты.
    По курсам посоветую только базовые курсы, любые какие вам по душе по темам: Linux, Python, Docker, Kubernetes, Jenkins, Git.
    Ответ написан
    Комментировать
  • Куда исчезает место на диске, когда на диске живет только Hiper-V?

    @yarusakov Автор вопроса
    Инженер-программист
    Вот кто съел все место на диске:

    Команда cmd: vssadmin list shadowstorage

    Том хранилища теневой копии: (X:)\\?\Volume{030474cc-7889-44a6-8f7f-650ef062e164}\
    Использованный объем хранилища теневой копии: 745 ГБ (78%)
    Выделенный объем хранилища теневой копии: 786 ГБ (82%)
    Максимальный объем хранилища теневой копии: UNBOUNDED (1801309818%)
    Ответ написан
    Комментировать
  • Как проконтролировать создание сайта на фрилансе?

    На счёт днища - это вы, конечно, явно психанули почему-то))
    ВордПресс для ваших целей - это идеальное решение. Во-первых, к нему существует огромное количество подключаемых модулей (плагинов), посредством которых можно хоть дьявола вызвать, не то что интернет магазин запилить. Тот же woocommerce - сотни тысяч интернет магазинов на нем работают, и все прекрасно. Кучи плагинов готовых форм обратной связи, оптимизации, сео-настроек и прочего. Это же одно сплошное готовое решение, почти конструктор, надо только правильно подобрать компоненты и настроить. И на нормальный сервак залить.
    Во-вторых, по вордпрессу много специалистов. Да, конечно, и псевдоспециалистов много, но в любом случае, раз их много, то средняя цена вордпресс разработчика ниже, чем цена ларавельщика того же. Вам как заказчику - это ж экономия на издержках. Если разраб сольётся вы быстрее найдете нового. А найти спеца под кастомный сайт или сайт на не слишком популярных движках вам будет сложнее и дороже.
    Ответ написан
    1 комментарий
  • Как проконтролировать создание сайта на фрилансе?

    @Dasha_2017
    ахаха) человек о рыбе, а все "советчики" о мясе) Капец) Удачи вам!)
    WP никакой не ущербный, не слушайте эту малашу их клубка експертов.
    Ответ написан
    Комментировать
  • Как проконтролировать создание сайта на фрилансе?

    kotomyava
    @kotomyava
    Системный администратор
    Если ваша задача сделать именно интернет магазин, WP плохой выбор. Эту задачу проще и лучше решать с помощью специализированных решений. Будет и дешевле, в итоге, и лучше работать.

    Возможно, вы думаете, что "сейчас мы сделаем как получится, а потом"... Но потом не будет - вы окажетесь в заложниках принятого решения, и будете тратить время и деньги, чтобы сделать что-то похожее на нормальный магазин, т.к. повторно наполнять магазин, учить персонал работе с новой системой и.т.п. будет тоже дорого, и когда проект уже запущен кардинальные изменения всегда очень сложны, и им все стараются препятствовать.

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

    Контролировать по мере выполнения ТЗ, обычно, довольно не сложно, но надо учитывать, что т.к. у вас нет опыта разработки, то вам может казаться, что простые на ваш взгляд вещи занимают много времени и наоборот. И прогресс вам может казаться не таким как вам представляется. Имеет определённый смысл, в ТЗ разбить работу на этапы и оценить их по времени, но приготовьтесь к тому, что практически всегда реальные сроки будут дольше оценки, не относитесь к этому как к очень большой проблеме. Больше смотрите на то, как работает.

    Контролировать качество кода и его безопасность, фактически у вас не получится никак. Для этого нужно быть профи самому. Так что вам придётся поверить, что у вас нет каких-то "закладок". Или провести аудит безопасности, что безусловно правильно, но уже совсем не бюджетно.

    Искать лучше сначала разработчика, и с его помощью уже решать, нужен-ли дополнительно верстальщик. Специалиста по SEO тоже уже пора искать - он должен внести свою лепту в составление техзадания, чтобы небыло потом переделок лишних, и недопонимания.
    Также учтите, что большинство дешёвых SEOшников, к сожалению, знают крайне мало, и то что знают, зачастую бред, или просто калька с действий других, необходимость или применимость которых они не понимают. Найти хорошего SEOшника, не проще, чем нормального Web дизайнера.
    Ответ написан
    6 комментариев
  • Проседание производительности mariadb, linux. Почему растет Load Average до 30-40?

    @yuriyant Автор вопроса
    web программист
    Всем спасибо за помощь и советы!

    Было сделано сразу две манипуляции способствующие решению проблемы. Какая из них решила проблему точно уже не скажу.

    У Битрикс есть таблица с купонами скидок каталога, в ней у нас было 300 тыс. купонов. Так как изменить запрос нет возможности из-за его системности и обновления Битрикс все затрут, то были проведены тесты с данными. Удаление из таблицы 200 тыс. старых купонов позволило ускорить медленный запрос с ~1.3 сек. до 0.01 сек. В таблице осталось 60 тыс. купонов.
    Будем дорабатывать систему автоматической очистки купонов и писать обращение в Битрикс с просьбой оптимизации запроса. Хотя медленный запрос по данным мониторинга и отрабатывал ~3.7 раз в секунду, но это не мешало ему душить процессор.

    Второе мероприятие это переход с mariadb (10.1, 10.3 - обе версии тестировались по несколько дней) на percona 8. Предположение пало на проблему базы данных с нашим набором данных и запросами, была мысль, а вдруг в перконе знаю и устранили ошибку.

    Я все же полагаю, что ключевой фактор тут был указанный Vitaly Karasik на медленный запрос.
    Видимо на наших данных этот запрос вызывал блокировки и высокую нагрузку на CPU из за повышения значений метрик RW Locks S OS Waits, RW Locks X OS Waits, RW Locks S Spin Rounds, RW Locks X Spin Rounds. Купонов становилось больше и в какой-то момент времени их кол. стало критичным для запроса.

    Плавающий LA независящий от количества запросов к базе данных оказался влиянием вызова заданий по крону на выгрузку в яндекс маркет каталогов. Буду привязывать отображение заданий агентов Бирикс (крон задачи) на графиках, чтобы в будущем более явно строить связи нагрузки и работу приложения.

    UPDATE 09.08.2019

    Базу данных вернул на mariadb 10.3. Выяснился еще один запрос повышающий нагрузку на CPU. У нас около 1 млн. сессий в база данных. Так вот Битрикс в методе Sale\Fuser::getIdByUserId($ID) получения одной записи не выставляет лимит и еще и сортирует всю выборку. Если передается FALSE, то он сортировал в нашем случае около 1 млн. записей + добавлял туда каждый раз еще 1 запись. Обращение в Битрикс отправлено, они его приняли и судя по всему скоро будет выпущено обновление.
    Кому нужно решение сейчас - измените метод прямо в ядре Sale\Fuser::getIdByUserId таким образом.

    $res = FuserTable::getList(array(
                           'filter' => array(
                                   'USER_ID' => $userId
                           ),
                           'select' => array(
                                   'ID'
                           ),
                           'limit' => 1, // Добавить лимит
                           // 'order' => array('ID' => "DESC") // Убрать эту сортировку
                   ));
    Ответ написан
    3 комментария