• Надежное хранилище с 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 (на русском)

      • Перевод
      • Tutorial

      Предисловие


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


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


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


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


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


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


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


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

      Читать дальше →
      • +29
      • 9,8k
      • 9
    • Блочные устройства QEMU

      • Перевод

      image


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


       -hda /dev/sda1

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

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

      • Перевод


      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 прямо в ваш браузер.

                Читать дальше →
              • Hugin — отличная бесплатная программа для создания панорам

                • Tutorial


                Сегодня я расскажу вам про замечательную программу — Hugin. С ее помощью можно без усилий построить даже самые крутые и самые сложные панорамы.
                Hugin — является самой популярной программой для построения панорам и кроме того имеет полностью свободную лицензию и ее использование абсолютно бесплатно.


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


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

                Let's panoramas!
              • Немного о дисковой производительности Windows VM в Proxmox VE. Результаты бенчмарков ZFS и MDADM+LVM

                  image


                  Если кому интересно, мы тут недавно потестили производительность чтение/запись внутри windows машины на ноде с Proxmox 4.3.


                  Хостовая система была установленна на raid10 реализованный двумя разными способами (zfs и mdadm+lvm)


                  Тесты проводились на Windows-госте, так-как в первую очередь интересовала производительность именно этой ОС.


                  Должен признать, это вторая версия статьи, в первой была допущена фатальная ошибка:
                  zfs тестировался на local storage, а не на zvol, т.к. я до последнего думал, что proxmox не поддерживает zvol.
                  Огромное спасибо winduzoid за то, что заметил данное недоразумение.


                  Читать дальше →
                • Настраиваем URL Overrides в Keepass2


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


                    По специфике моей работы мне часто приходится записывать и хранить большое количество паролей и другой конфиденциальной информации, поэтому я пользуюсь Keepass2 — менеджером паролей со свободной лицензией. Я не стану рассказывать о его возможностях и преимуществах перед другими, все это и так уже обсуждалось не раз. Если кто хочет познакомиться подробнее, вот несколько ссылок: wiki, обзорная статья, сравнения с другими: 1 2.
                    Вместо этого я хотел бы рассказать об одной его интересной функции:


                    Функция называется "URL Overrides", и представляет ссобой возможность запускать ассоциированные с записями программы и передавать им данные для аутентификации прямо из Keepass'а.


                    Например, вы можете хранить в keepass'е список учеток для подключения к удаленному серверу, а в определенный момент выбрать нужную и простым нажатием Ctrl+U, запустить клиент удаленного подключения, и моментально получить доступ к вашему серверу.
                    Это очень удобно, так как все логины и пароли не хранятся абы где, а надежно зашифрованны в вашей базе keepass и передаются программе-клиенту только в момент подключения.


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

                    Читать дальше →
                  • LTSP: Терминальный сервер на Linux


                      Сейчас я расскажу вам о том, как можно сэкономить немалое количество времени и денег на вашей IT-инфраструктуре.
                      Как централизованно админить большое количество linux рабочих станций не разводя при этом хаос в вашей экосистеме.
                      И так, что же такое LTSP?


                      LTSP — Это терминальное решение на Linux.
                      Говоря "терминальное", я в первую очередь имею в виду не подключение к удаленному рабочему столу как в Windows. Я подразумеваю гораздо более гибкую и продвинутую систему доставки ПО, конфигов, домашенего каталога, да и самой операционной системы на клиентские рабочие станции с вашего терминального сервера.


                      В частности, LTSP — это совокупность преднастроенных программ и скриптов которые позволят вам без особого труда превратить вашу свежеустановленную Ubuntu, или другой дистрибутив, в полностью готовое к работе терминальное окружение. Которое будет загружаться на любых компьютерах в вашей сети и предоставлять пользователю полноценный интерфейс.


                      У LTSP есть несколько режимов работы:


                      • тонкий клиент
                      • толстый клиент
                      Читать дальше →
                    • Metronome IM и Jappix: многофункциональный Jabber, без сложностей в настройке

                      • Tutorial

                      Что если я расскажу вам как без особых усилий поднять свой собственный jabber-сервер со всеми новомодными фичами, такими как: архивация, синхронизация сообщений между клтентами, уведомления о прочтении, публичные чаты и многое другое…
                      Так же поделюсь с вами замечательным Jabber-клиентом который не менее интересен, он поддерживает аудио и видео звонки, имеет неплохой интерфейс и работает прямо из браузера.
                      То и другое вы получите абсолютно бесплатно, так-как и сервер и клиент лицензируются по свободнлй лицензии.

                      Речь пойдет об Metronome IM и Jappix.
                      Читать дальше →
                    • Строим свое собственное отказоустойчивое облако на базе OpenNebula с Ceph, MariaDB Galera Cluster и OpenvSwitch

                      • Tutorial


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


                      Темы сами по себе очень интересные, так что даже если вас не интересует конечная цель, но интересует настройка какого-нибудь отдельного компонента. Милости прошу под кат.
                      Читать дальше →
                    • Установка CentOS на ZFS в UEFI

                      • Tutorial


                      Решил тут на днях попробовать ZFS, а подробного и простого мануала как это осуществить на CentOS не нашел, решил исправить ситуацию. К тому же хотелось установить все это в режиме EFI. — не стоять же на месте? И заодно понять для себя как работает DKMS, а так же аспекты ручной установки RPM-based дистрибутивов.

                      ZFS был выбран тоже не случайно, так как на этой машине планировалось развернуть гипервизор и использовать zvol для хранения образов виртуальных машин. Мне хотелось нечто большего чем програмный рейд + lvm или простое файловое хранение образов, что-нибудь на подобии ceph, но для одного хоста это слишком жирно. Забегая вперед скажу, что я остался очень доволен этой файловой системой, ее производительностью и всеми ее фишками.
                      Читать дальше →
                    • Настраиваем сочетания клавиш в Linux наподобие Mac OS X

                      • Tutorial

                      Раньше, у меня довольно часто возникала такая ситуация, когда одновременно работаешь в терминале и, например, в браузере.
                      После нескольких часов работы начинаешь путаться и в терминале вместо [Ctrl]+[Shift]+[C] нажимаешь [Ctrl]+[C], а в браузере наоборот. В итоге в терминале вы получаете прерывание а в браузере вместо ожидаемого эффекта у вас медленно прогружается дебаггер.
                      В один прекрасный момент меня это достало и я решил, что пора что-то менять…
                      Меня тоже это достало!
                    • Проброс USB в виртуалку по сети средствами UsbRedir и QEMU

                      • Tutorial


                      На сегодняшний день существет довольно много способов пробросить USB-устройство на другой компьютер или виртуалку по сети.
                      Из наиболее популярных — железячные такие как AnywhereUSB и чисто програмные продукты, из тех что я попробовал сам: USB Redirector и USB/IP.
                      Я бы хотел рассказать вам еще об одном интересном способе, который работает непосредственно с эмулятором QEMU.
                      Он так же является частью проекта spice, официально поддерживаемым RedHat.

                      UsbRedir, это открытый протокол для проброса usb-устройств по tcp на удаленный виртуальный сервер, разработанный при поддержке RedHat в рамках проекта spice. Но как оказалось им можно вполне успешно пользоваться и без spice. В роли сервера выступает usbredirserver, который шарит usb-устройство на определенный порт, а в качестве клиента сам QEMU, который эмулирует подключение экспортированного usb-устройства в определенный usb-контроллер вашей виртуальной машины. Благодаря такому подходу в качестве гостевой системы может использоваться абсолютно любая ОС, так как она даже не знает, что устройство является проброшенным удаленно, а вся логика ложится на QEMU.
                      Читать дальше →