• Храним SSH-ключи безопасно

    • Translation


    Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь того, что какое-то приложение может украсть или расшифровать их.


    Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh.


    Для решения данной проблемы предлагаю использовать KeePassXC, который является одним из лучших менеджеров паролей, он использует сильные алгоритмы шифрования, а также имеет встроенный SSH-агент.


    Это дает возможность безопасно хранить все ключи прямо в базе паролей и автоматически добавлять их в систему при её открытии. Как только база будет закрыта, использование SSH-ключей также станет невозможным.

    Читать дальше →
  • Хранилище LINSTOR и его интеграция с OpenNebula

    • Translation


    Не так давно ребята из LINBIT представили свое новое SDS-решение — Linstor. Это полностью свободное хранилище в основе которого используются проверенные технологии: DRBD, LVM, ZFS. Linstor сочетает в себе простоту и хорошо проработанную архитектуру, что позволяет добиться стабильности и достаточно внушительных результатов.


    Сегодня я хотел бы рассказать про него чуть подробнее и показать насколько просто его можно интегрировать с OpenNebula используя linstor_un — новый драйвер, который я разработал специально для этой цели.


    Linstor в сочетании с OpenNebula позволяет построить быстрое и надежное облако, которое можно без проблем развернуть на собственной инфраструктуре.

    Читать дальше →
    • +12
    • 1.4k
    • 2
  • Стримим экран на несколько устройств по сети

    • Translation
    • Tutorial


    Возникла у меня необходимость выводить дашборд с мониторингом на несколько экранов в офисе. В распоряжении имеется несколько стареньких Raspberry Pi Model B+ и гипервизор с практически неограниченным количеством ресурсов.


    По видимому Raspberry Pi Model B+ не обладает достаточной произвольностью чтобы держать постоянно запущенным браузер и отрисовывать большое количество графики в нем, из-за чего бывает, что страница частично глючит и часто вылетает.


    Нашлось достаточно простое и элегантное решение, которым я и хочу с вами поделиться.

    Читать дальше →
  • Прикручиваем LDAP-авторизацию к Kubernetes

    • Tutorial


    Небольшая инструкция о том, как используя Keycloak можно связать Kubernetes с вашим LDAP-сервером и настроить импорт пользователей и групп. Это позволит настраивать RBAC для ваших пользователей и использовать auth-proxy чтобы защитить Kubernetes Dashboard и другие приложения, которые не умеют производить авторизацию самостоятельно.

    Читать дальше →
  • Разворачиваем Kubernetes HA-кластер на Baremetal с помощью Kubeadm и Keepalived (простое руководство)

    • Translation
    • Tutorial

    Эта статья является свободной интерпретацей официального руководства Creating Highly Available Clusters with kubeadm для Stacked control plane nodes. Мне не нравятся сложный язык и примеры использованные в нем, поэтому я написал свое руководство.


    Если у вас появятся какие-либо вопросы или вам будет что-то неясно, обратитесь к официальной документации или спросите Google. Все этапы описаны здесь в максимально простой и сдержанной форме.

    Читать дальше →
  • Строим загружаемую по сети ферму серверов для Kubernetes с помощью LTSP

    • Translation


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


    С этого момента вам больше не придется думать об установке ОС и отдельных пакетов на каждую ноду. Зачем? Вы можете сделать все это автоматически через Dockerfile!


    Тот факт что вы можете купить сотню новых серверов, добавить их в рабочее окружение и почти моментально получить их готовыми к использованию — это действительно потрясающе!


    Заинтриговал? Теперь давайте обо всем по порядку.

    Читать дальше →
  • Разворачиваем хранилище LINSTOR для Proxmox

    • Translation
    • Tutorial

    image


    Недавно LINBIT выпустили свое новое решение для оркестрации и управления множеством DRBD-массивов.


    К примеру у вас может быть несколько нод и у каждой будет собственный LVM или ZFS пул в котором LINSTOR будет автоматически создавать новые тома и реплицировать их между нодами используя DRBD-протокол.


    LINSTOR поддерживает thin-provisioning, снапшоты и много других интересных штук.
    Это решение хорошо подойдет для виртуальных машин и контейнеров.

    Читать дальше →
  • Надежное хранилище с DRBD9 и Proxmox (Часть 2: iSCSI+LVM)

      image


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


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


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

      Читать дальше →
    • Запускаем kubernetes внутри LXC

      • Translation


      В этой статье я расскажу как можно запустить kubernetes master внутри LXC-контейнера.
      Этод метод работает вполне неплохо с Proxmox и может быть рассмотрен как альтернатива классическому развертыванию kubernetes с несколькими мастерами.

      Читать дальше →
    • Надежное хранилище с DRBD9 и Proxmox (Часть 1: NFS)

        image


        Наверное каждый, кто хоть раз озадачивался поиском высокопроизводительного software-defiined хранилища рано или поздно слышал про DRBD, а может даже и имел дело с ним.


        Правда на пике популярности Ceph и GlusterFS, которые работают в принципе неплохо, а главное сразу и из коробки, все просто немного подзабыли про него. Тем более что предыдущая версия не поддерживала репликацию более чем на два узла, и из-за чего часто встречались проблемы со split-brain, что явно не добавило ему популярности.


        Решение и правда не новое, но вполне конкурентоспособное. При относительно небольших затратах на CPU и RAM, DRBD предоставляет реально быструю и безопасную синхронизацию на уровне блочного устройства. За все это время LINBIT — разработчики DRBD не стоят на месте и постоянно дорабатывают его. Начиная с версии DRBD9 перестает быть просто сетевым зеркалом и становится чем-то бОльшим.


        Во первых, идея создания одного распределенного блочного устройства для нескольких серверов отошла на задний план, и теперь LINBIT старается предоставить инструменты оркестрации и управления множеством drbd-устройств в кластере, которые создаются поверх LVM и ZFS-разделов.


        Например DRBD9 поддерживает до 32 реплик, RDMA, diskless-ноды, а новые инструменты оркестрации позволяют использовать снапшоты, online-миграцию и много чего другого.


        Несмотря на то что DRBD9 имеет инструменты интеграции с Proxmox, Kubernetes, OpenStack и OpenNebula, на данный момент они находится в некотором переходном режиме, когда новые инструменты еще не везде поддерживаются, а старые уже очень скоро будут объявлены как deprecated. Речь идет о DRBDmanage и Linstor.


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

        Читать дальше →
      • Google's Shell Style Guide (на русском)

        • Translation
        • Tutorial

        Предисловие


        Какой Shell использовать


        Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


        Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


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


        Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


        Когда использовать Shell


        Shell следует использовать только для небольших утилит или простых скрптов-оберток.


        Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

        Читать дальше →
      • Блочные устройства QEMU

        • Translation

        image


        В QEMU есть несколько способов подключить блочное устройство для виртуальной машины. Изначально это было реализовано следующим способом:


         -hda /dev/sda1

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

        Разбираемся с подключением и форматами виртуальных дисков
      • Sheepdog

        • Translation


        Sheepdog — масштабируемая система, которая предоставляет виртуальным машинам распределенные блочные устройства. Его развитие началось в 2009 году разработчиками из японской компании Nippon Telegraph and Telephone Corporation. Sheepdog — это приложение с открытым исходным кодом под лицензией GPL2. Последняя версия 0.9.3, выпущенная в ноябре 2015 года станет наследиком версии 1.0, пригодной для коммерческого испрользования1. (уже стала — прим.пер.)


        Чисто ради интереса, первая версия (0.1.0), была выпущена разработчиками в августе 2010 года — и в то же время поддержка sheepdog сразу была включена в основную ветку разработки QEMU.
        Читать дальше →
      • Pritunl — VPN-сервер для себя и друзей за 10 минут


          В связи с последними событиями в России хочу рассказать вам о классном self-hosted VPN-сервере. После простой установки, без особого труда и углубленных знаний вы сможете создавать пользователей, генерировать VPN-профили и смотреть графики использования сети.


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


          В результате чего пятидоллоравая VPS'ка может превратится в мощный инструмент обхода блокировок

          Читать дальше →
        • Простой способ установить Mikrotik RouterOS в любом облаке

          • Tutorial

          Многие облачные провайдеры не позволяют загружать ISO-файлы и не предоставляют никакой возможности для установки ОС отличных от тех что предусмотрены самим облаком.


          В этой статье я расскажу вам как избежать данное ограничение и как просто в 5 шагов можно установить Mikrotik Cloud Hosted Router на любой облачной виртуалке.

          Читать дальше →
        • Ведется массовая атака криптором Wana decrypt0r 2.0

            В настоящий момент можно наблюдать масштабную атаку трояном-декриптором "Wana decrypt0r 2.0"
            Атака наблюдается в разных сетях совершенно никак не связанных между ссобой.



            A ransomware spreading in the lab at the university (отсюда)


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


            Читать дальше →
          • All-In-One: Proxmox + OpenMediaVault или ещё одна идея для домашнего NAS


              Астрологи объявили месяц статей о домашних NAS на Хабре, так что поделюсь и своей историей успеха...


              Не так давно я попробовал новый FreeNAS Coral. Понравилось мне в нем если не все, то очень многое: это и новый гипервизор bhyve, и повсеместное использование 9P для проброса файловой системы на гостя, а так же идея с docker и многое другое.


              Кроме того я ещё больше влюбился в ZFS со всеми её плюшками, такими как дедупликация и сжатие на лету.


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


              В статье так же будет немного рассказано про Docker и автоматический прокси с автоматическим получением сертификатов Letsencrypt.


              Читать дальше →
            • Google Chrome перестал доверять сертификатам WoSign и StartCom


                Как сообщалось ранее Google Chrome заблокировал сертификаты WoSign и StartCom.


                Сегодня вышла новая версия Google Chrome 56, и начиная с нее браузер больше не доверяет сертификатам WoSign и StartCom выпущенным позднее October 21, 2016 00:00:00 UTC.

                Читать дальше →
              • Балансировка нагрузки с Pacemaker и IPaddr (Active/Active cluster)

                • Tutorial


                Хочу рассказать вам еще об одном способе балансировки нагрузки. Про Pacemaker и IPaddr (ресурс-агент) и настройке его для Active/Passive кластера сказано уже и так достаточно много, но информации по организации полноценного Active/Active кластера, используя этот модуль я нашел крайне мало. Постараюсь исправить эту ситуацию.


                Для начала расскажу подробнее чем такой метод балансировки примечателен:


                • Отсутсвие внешнего балансировщика — На всех нодах в кластере настраивается один общий виртуальный IP-адрес. Все запросы отправляются на него. Ноды отвечают на запросы на этот адрес случайно и по договоренности между ссобой.
                • Высокая доступность — Если одна нода падает ее обязаности подхватывает другая.
                • Простота настройки — Настройка осуществляется всего в 3-5 команд.
                Читать дальше →
              • Leaf Browser Alpha — браузер с древовидными вкладками

                  image


                  Поклонникам расширения Tree Style Tab (древовидные вкладки) для Firefox, и тем кто не может без него жить, но хотел бы найти достойную альтернативу Firefox посвящается открытый проект Leaf Browser.
                  Он представляет собой браузер на базе Google Chrome, но с древовидными вкладками.


                  Браузер реализован в качестве приложения для Google Chrome, и может быть установлен в пару кликов из Chrome Web Store прямо в ваш браузер.

                  Читать дальше →