Архив автора: admin

Почему Windows Server 2016 лучше, чем Windows Server 2019

Когда Microsoft анонсировала свой Windows Server 2019, многие из тех пользователей или компаний, которые в настоящее время пользовались версией 2016 года той же службы, столкнулись с серьезной загадкой, т.е. продолжать ли Windows Server 2016 или перейти на новую версию Windows Server 2019?

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

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

Вы еще можете купить Windows Server 2016 по относительно невысокой цене в отличие от Windows Server 2019.

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

Вот эти четыре основных области:

 

Поддержка, предлагаемая для гибридного облака

Самым большим недостатком Windows Server 2016, который постепенно становился очевидным для большинства пользователей, было отсутствие поддержки гибридного подхода в отношении облачной миграции. Microsoft также поняла это и сделала версию 2019 года такой функциональной. Таким образом, вы можете гарантировать, что ваши облачные решения могут работать в тандеме с локальными ресурсами, чтобы обеспечить оптимизированную корпоративную среду, которая в высшей степени дружественна к облакам.

Если вы научились работать в сети с Windows Server 2016, вы были бы хорошо осведомлены о том, что эта версия поддерживает только облако для активного каталога, синхронизирует серверы для файлов и создает хранилища данных. Это ограничение было снято с версии 2019 года, и теперь вы можете легко использовать его для доступа к передовым облачным инструментам и технологиям, таким как ресурсы IoT.

Кроме того, версия 2019 поддерживает Project Honolulu, которая, если поддерживается Microsoft Azure, может обеспечить действительно гибкую и настраиваемую платформу для ваших нужд.

 

Добавление новых надежных функций безопасности

Server 2016 никогда не поддерживал виртуальные машины Linux, что было проблематично с точки зрения безопасности. Это также ограничивало возможности фирм использовать только экранированные виртуальные машины, что ограничивало их функциональную область. Версия сервера 2019 теперь добавляет поддержку виртуальных машин на основе ОС Linux с открытым исходным кодом.

Windows-сервер 2019 также выпустил новые функции, связанные с безопасностью, которые служат трехстороннему подходу, направленному на защиту и быструю идентификацию угроз для улучшения реагирования.

Защитник Windows Advanced Threat Protection — это также ориентированная на безопасность функция сервера 2019, которая позволяет ему стать гораздо более компетентной платформой, когда речь идет о защите системы от исходящих угроз.

 

Изменения в положениях на основе приложений

Когда Windows Server 2019 собирался дебютировать, у разработчиков было много ожиданий, связанных с ним, и Microsoft, конечно, не разочаровалась, поскольку одно из ее основных улучшений появилось в области серверов Windows.

Контейнеры Windows Server оказались чрезвычайно эффективными для повышения эффективности процесса разработки, когда они входили в состав Windows Server 2016. Но теперь образ контейнера может вместить базовое ядро сервера гораздо меньшего размера, чем было. Это возможно в Windows 2016, что делает его невероятно гибким и ориентированным на разработку ресурсом для новых групп разработчиков DevOps на предприятиях, которым требуется гибкость в создании приложений.

 

Обновленная поддержка развертывания HCI

Это немного сложнее, поскольку развертывание Hyper-Converged Infrastructure также поддерживалось сервером Windows 2016, но затем этот сервер позволил малым предприятиям использовать его в доступном диапазоне.

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

 

Стоит ли принимать обновление Windows Server 2019?

Обновление с Windows до версии 2019, безусловно, принесло в свой основной пакет обновлений некоторые заметно продвинутые и мощные функции. От гораздо лучшей поддержки для развертывания HCI до введения ATP, версия Windows Server 2019, безусловно, намного больше подходит для современных ИТ-потребностей. Если сравнивать его с 2016 годом, он, безусловно, более безопасен и удобен для разработчиков, чем его предшественник.

Тем не менее, стоимость по-прежнему остается основным предметом спора, так как Microsoft недвусмысленно упомянула, что лицензирование клиентского доступа Windows Server теперь будет иметь повышенную цену. Это затрудняет выбор малого бизнеса для принятия решений, что делает область операций сервера Windows 2019 крайне ограничивающей для отраслевых вертикалей.

Кроме того, для запуска версии 2019 важно, чтобы ИТ-группа получила сертификаты относительно версии 2016 года, поскольку большинство предшествующих технологий на сервере 2019 продолжают работать в том же рабочем формате, что и сервер 2019. Если вы выполнили установку для хранилища MS 20740 и рассчитать с сертификацией Windows Server 2016 , вы, вероятно, не столкнетесь с трудностями при запуске установки сервера 2019, так как большинство платформ остаются одинаковыми в обеих версиях.

 

Завершение дела

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

Но какой из них лучше? Ну, нет однозначного ответа на этот вопрос, так как различные потребности бизнеса могут изменить способ восприятия и оценки новых обновлений для каждой проблемы. Если вы хотите сделать скачок, то ATP, а также предоставление облачной поддержки гибридной модели, являются двумя наиболее важными факторами, которые могут принести большую пользу вашему бизнесу, приняв версию Windows Server 2019.



2020-05-20T13:40:14
Microsoft

Боль в суставах, скрип и шум: что делать?

Болями в суставах страдает каждый второй житель России после 30-ти лет.

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

По утверждению врачей, причины развития болезней суставов связаны не только с генетикой, но и с неблагоприятными факторами 21 века: гиподинамией (сидячая работа, отсутствие физической нагрузки и т.д.), плохой экологией, вредными привычками,  неправильным питанием, снижением иммунитета. Все это прямо или косвенно влияет на развитие воспалительных и дегенеративных процессов в суставах. Читать

Как изменить пароль phpMyAdmin на XAMPP

Новая установка панели управления XAMPP на устройстве Windows не содержит пароль root для MySQL PHPMyAdmin . В таком случае он может быть легко доступен для всех, и это может привести к критическим рискам. Чтобы избежать этого, мы предлагаем вам установить соответствующий безопасный пароль для пользователя root. В этом руководстве мы объясним, как изменить пароль phpMyAdmin на XAMPP.

Хотя было видно, что после изменения пароля phpMyAdmin на XAMPP пользователи могут столкнуться с сообщением об ошибке «Отказано в доступе», которое не позволяет им войти в MySQL phpMyAdmin. Чтобы решить эту проблему, вам нужно изменить параметры конфигурации в файле config.inc.php. Итак, начнем.

Как изменить пароль phpMyAdmin на XAMPP

Чтобы изменить пароль phpMyAdmin на XAMPP, сначала необходимо запустить панель управления XAMPP.

Как только он откроется, нажмите кнопку администратора  для MySQL.

Вам может потребоваться войти в систему с использованием вашего текущего имени пользователя и пароля, а затем нажать кнопку «Перейти».

На сайте PHPMyAdmin перейдите на вкладку Учетные записи пользователей.

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

На следующей странице перейдите в раздел «Смена пароля».

Здесь вам необходимо создать новый надежный пароль, содержащий комбинацию буквы, цифры и символа. Рядом с полем для пароля есть индикатор надежности пароля, который показывает ваш статус пароля. Когда пароль становится сильнее, индикатор состояния становится красным> желтым> зеленым.

Повторите тот же пароль в соответствующем поле и нажмите кнопку «Перейти».

После правильного создания нового пароля при входе в phpMyAdmin может появиться сообщение об отказе в доступе, говорящее:

Не удается подключиться: неверные настройки

В этом случае вам необходимо решить проблему с входом в систему, изменив параметры конфигурации в файле config.inc.php.

Как исправить сообщение phpMyAdmin Access denied

Сообщение об отказе в доступе phpMyAdmin в основном появляется при изменении пароля для входа в систему с помощью пароля phpMyAdmin на XAMPP

Чтобы исправить эту ошибку, откройте приложение панели управления XAMPP.

Переместитесь в правый конец столбца и нажмите кнопку Explorer.

В проводнике перейдите по следующему пути «C:xamppphpMyAdmin»

В соответствующей папке найдите файл config.inc, а затем откройте его в любом текстовом редакторе, таком как блокнот.

Узнайте тип аутентификации и информацию и обновите следующие параметры:

В первой строке

$cfg['Servers'][$i]['auth_type'] = 'config'; change config with cookie

Также в строке

$cfg['Servers'][$i]['AllowNoPassword'] = true; change true with false

После внесения следующих изменений сохраните и закройте файл. Вот и все.



2020-05-19T11:55:36
Вопросы читателей

Как использовать сетевой сниффер PktMon.exe в Windows 10

Windows 10 предлагает встроенный инструмент сетевого анализатора — PktMon.exe — для мониторинга внутреннего распространения пакетов и отчетов о сбрасывании пакетов. Этот инструмент может помочь вам выслеживать. Сеть и поможет вам устранить причину задержки в сети, выявить уязвимые приложения и, при использовании с дополнительным набором инструментов, может предоставить представление о лучших показателях. В этом посте мы покажем, как вы можете использовать новый инструмент сетевого анализатора (PktMon.exe) в Windows 10.

Сетевой инструмент Sniffer pktmon.exe в Windows 10

PktMon.exe или Packet Monitor — это новый сетевой анализатор или средство диагностики сети и мониторинга пакетов. Он находится в папке «Системы», что означает, что вы можете вызвать его из командной строки, командной строки или PowerShell.

Если программа напоминает вам о Netsh Trace Command, то вы правы. Команда Netsh Trace помогает включить и настроить трассировку сети, чтобы помочь при устранении проблем с сетевым подключением.

Что может сделать PktMon?

Если вы запустите PktMon.exe Help в командной строке. Вот что вы получаете:

  • filter: управление фильтрами пакетов.
  • comp: Управление зарегистрированными компонентами.
  • reset: Сброс счетчиков до нуля.
  • start: начать мониторинг пакетов.
  • stop: остановить мониторинг.
  • format: преобразовать файл журнала в текст.
  • unload: выгрузить драйвер PktMon.

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

pktmon filter help



pktmon filter { list | add | remove } [OPTIONS | help]

Commands

list Display active packet filters.

add Add a filter to control which packets are reported.

remove Removes all filters.

Как использовать PktMon для мониторинга сетевого трафика

Вот пример того, как использовать его на простом примере.

  1. Создать фильтр для мониторинга порта
  2. Начать мониторинг
  3. Экспорт журнала в читаемый формат

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

1. Создайте фильтр

Основная опция, которая позволяет вам отслеживать трафик — это «фильтр». Используя эту опцию, вы можете создать фильтр, чтобы контролировать, какие пакеты сообщаются на основе кадра Ethernet, заголовка IP, заголовка TCP и инкапсуляции. Если вы запустите нижеупомянутую программу, вы получите полную информацию о том, что вы можете сделать с фильтром.

pktmon filter add help

Итак, возвращаясь к нашей теме, давайте предположим, что мы собираемся отслеживать TCP-порт № 1088. Это может быть порт, используемый вашим пользовательским приложением, который дает сбой, и PktMon может помочь вам выяснить, является ли проблема с сетью.

Откройте командную строку или PowerShell с правами администратора

Создайте фильтр пакетов с помощью команды: «pktmon filter add -p [port]»

pktmon filter add -p 1088

Затем вы можете запустить команду «pktmon filter list», чтобы увидеть список добавленных фильтров.



Чтобы удалить все фильтры, выполните команду «pktmon filter remove»

2. Начните мониторинг

Поскольку это не автоматическая программа, работающая в фоновом режиме, а работающая по требованию, вам нужно запустить мониторинг вручную. Запустите следующую команду, чтобы начать мониторинг пакетов

pktmon start --etw - p 0

Он запустит мониторинг и создаст файл журнала в указанном месте. Вам придется вручную прекратить использовать аргумент «stop», чтобы остановить запись в журнал, или он закончится, когда компьютер выключится. Если вы запустите команду с «-p 0», то она будет захватывать только 128 байтов пакета.

Log filename: C:Windowssystem32PktMon.etl

Logging mode: Circular

Maximum file size: 512 MB

3. Экспорт журнала в читаемый формат

Файл журнала сохраняется в файле PktMon.ETL, который можно преобразовать в удобочитаемый формат с помощью следующей команды

pktmon format PktMon.etl -o port-monitor-1088.txt

Сделав это, пока вы открываете файл в блокноте и читаете его, чтобы иметь смысл, вам придется использовать Microsoft Network Monitor. Он может напрямую читать файл ETL.

Тем не менее, ожидается, что Microsoft начнет развертывать поддержку мониторинга в реальном времени, что ожидалось в Windows 10 2004 — но я пока не вижу такой возможности.



2020-05-19T11:48:55
Вопросы читателей

Как включить и проверить DNS через HTTPS в Windows 10

Если вы ждали общесистемной службы DNS через HTTPS для вашего компьютера с Windows 10, вот хорошая новость для вас. Теперь вы можете включить и протестировать DNS через HTTPS в Windows 10 с небольшой настройкой. Если вы являетесь частью программы Windows Insider, вы можете проверить ее сегодня, тогда как пользователям стабильной версии, возможно, придется немного подождать.

DNS через HTTPS или DoH поможет вам избавиться от мониторинга ISP. В настоящее время возможно включить DNS через HTTPS в браузерах Firefox, Chrome, Edge, Opera и т.д. Однако теперь вы можете сделать то же самое, что и общесистемный параметр в Windows 10.

DoH не позволяет интернет-провайдерам отслеживать активность пользователей, минуя службу DNS по умолчанию. Всякий раз, когда вы подключаетесь к Интернету, он получает доступ к службе DNS, которая предоставляется поставщиком услуг Интернета по умолчанию, и именно так поставщик услуг Интернета следит за вами. Если вы хотите избавиться от этого, вы должны использовать DNS поверх HTTPS.

Как включить DNS через HTTPS в Windows 10

Чтобы включить и проверить DNS через HTTPS в Windows 10, выполните следующие действия.

  1. Откройте редактор реестра на вашем компьютере.
  2. Перейдите к ключу Dnscache Parameters.
  3. Создайте новое значение DWORD.
  4. Назовите его как EnableAutoDoh .
  5. Установите значение
  6. Добавьте DNS-сервер в Панель управления.
  7. Перезагрузите компьютер.
  8. Откройте командную строку с повышенными правами.
  9. Сбросить фильтры сетевого трафика.
  10. Добавьте новый фильтр трафика для порта 53.
  11. Начать регистрацию трафика в реальном времени.

Чтобы узнать больше об этих шагах подробно, читайте дальше.

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

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameters

Здесь вам нужно создать новое DWORD (32-битное) значение.

Щелкните правой кнопкой мыши пространство, выберите «Создать» и выберите значение DWORD (32-разрядное). После этого назовите его как EnableAutoDoh.

Теперь вам нужно установить значение 2. Для этого дважды щелкните EnableAutoDoh, введите 2 и нажмите кнопку ОК.

Затем вам нужно изменить настройки DNS по умолчанию на вашем компьютере.

Для этого нажмите Win + R, введите ncpa.cpl и нажмите кнопку Enter. Затем щелкните правой кнопкой мыши на подключенной в данный момент сети и выберите Свойства.

Дважды щелкните Интернет-протокол версии 4 (TCP / IPv4) или Интернет-протокол версии 6 (TCP / IPv6). Это зависит от того, какую версию IP использует ваш провайдер.

Затем выберите переключатель Использовать следующие адреса DNS-серверов и введите IP-адреса следующим образом:

Google:

  • 8.8.8.8
  • 8.8.4.4
  • 2001:4860:4860::8888
  • 2001:4860:4860::8844

Cloudflare

  • 1.1.1.1
  • 1.0.0.1
  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

Quad9

  • 9.9.9.9
  • 149.112.112.112
  • 2620:fe::fe
  • 2620:fe::fe:9

После этого нажмите кнопку ОК, закройте все окна и перезагрузите компьютер, так как это лучший способ перезапустить службу DNS.

Теперь вам нужно открыть окно Windows PowerShell или командную строку с повышенными правами и выполнить эту команду:

pktmon filter remove

Команда pktmon сбросит текущие фильтры сетевого трафика.

Затем используйте следующую команду, чтобы добавить фильтр трафика для порта 53.

pktmon filter add -p 53

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

pktmon start --etw -m real-time

Все пакеты порта 53 должны быть перенаправлены и напечатаны в командной строке.

Однако, если вы хотите протестировать DoH-сервер, которого нет в официальном списке автоматического продвижения, вам необходимо сначала зарегистрировать его на своем компьютере. Для этого вы можете ввести следующую команду:

netsh dns add encryption server=<your-server’s-IP-address> dohtemplate=<your-server’s-DoH-URI-template>

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

netsh dns show encryption server=<your-server’s-IP-address>

Он должен показать новый шаблон, который вы только что добавили. После этого вы можете пройти этап регистрации трафика в реальном времени.

Я надеюсь, что этот урок поможет вам.



2020-05-19T11:41:57
Вопросы читателей

LXC (LXD) контейнер в Ubuntu 20.04 LTS

Но сперва поговорим что же такое LXC и в чем разница от обычных виртуальных машин (KVM) у данного способа. Виртуализация KVM позволяет загружать полные операционные системы разных виды, даже не-Linux-системы. Тем не менее, сложная установка иногда необходимо. Виртуальные машины являются ресурсоемкими, поэтому вы можете запускать только ограниченное количество из них на главной машине. LXC или Linux Containers – это легкие и портативные операционные системы на базе ОС, которые совместно используют ядро ​​базовой операционной системы, но в то же время действуют как изолированные среды с собственной файловой системой, процессами и стеком TCP/IP. Поскольку нет накладных расходов на виртуализацию, они работают намного лучше, чем виртуальные машины. Для себя же я решил использовать виртуализацию LXC, т.к. она менее ресурсопрожорливая.




Установка LXC (LXD) на Ubuntu/Debian




Войдите на сервер, используя учетную запись пользователя с доступом sudo.




В свежей Ubuntu версии, по умолчанию, уже встроен lxd. У кого не так то устанавливаем командой:




sudo apt install lxd




Затем добавьте пользователя в группу lxd, чтобы он мог выполнять задачи по управлению контейнерами:




sudo usermod --append --groups lxd smirnov




Чтобы включить поддержку ZFS в LXD, обновите индекс пакетов и установите пакет zfsutils-linux:




sudo apt-get update
sudo apt-get install zfsutils-linux




Выбор файловой системы для Storage Pool 




Во время инициализации LXD задаёт несколько вопросов, среди которых будет определение типа файловой системы для дефолтного Storage Pool. По умолчанию для него выбирается файловая система BTRFS. Поменять на другую ФС после создания будет невозможно. Для выбора ФС предлагается таблица сравнения возможностей:




FeatureDirectoryBtrfsLVMZFSCEPH
Optimized image storagenoyesyesyesyes
Optimized instance creationnoyesyesyesyes
Optimized snapshot creationnoyesyesyesyes
Optimized image transfernoyesnoyesyes
Optimized instance transfernoyesnoyesyes
Copy on writenoyesyesyesyes
Block basednonoyesnoyes
Instant cloningnoyesyesyesyes
Storage driver usable inside a containeryesyesnonono
Restore from older snapshots (not latest)yesyesyesnoyes
Storage quotasyes(*)yesyesyesno




процесс инициализации Storage Pool




После того как вы решили какое backend хранилище использовать, начинайте процесс инициализации. Делается это командой:




lxd init




Утилита будет задавать вопросы, на которые вам нужно будет ответить. Первым вопросом утилита спросит: Хотите ли вы использовать кластеризацию LXD?




Would you like to use LXD clustering? (yes/no) [default=no]:




Вы хотите настроить новый пул хранения данных?




Do you want to configure a new storage pool? (yes/no) [default=yes]:




Имя нового пула




Name of the new storage pool [default=default]: ssdpool




какой тип хранилища использовать?




Name of the storage backend to use (dir, lvm, ceph, btrfs) [default=btrfs]:




Создать новый пул BTRFS?




Create a new BTRFS pool? (yes/no) [default=yes]:




Хотите ли вы использовать существующее блочное устройство?




Would you like to use an existing block device? no




Размер в ГБ нового устройства loop




Size in GB of the new loop device (1GB minimum) [default=15GB]: 30




Вы хотите подключиться к серверу MAAS?




Would you like to connect to a MAAS server? (yes/no) [default=no]: 




Хотите ли вы создать новый мост локальной сети?




Would you like to create a new local network bridge? (yes/no) [default=yes]: no




Тут я отвечаю нет, так как у меня настроен сетевой мост и DHCP сервер. Буду использовать его. Но приведу пример по настройке моста:




# Как должен называться новый мост?
What should the new bridge be called? [default=lxdbr0]: 
# Какой IPv4-адрес следует использовать? (Обозначение подсети, CIDR, “auto " или " none”)
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]: none




Хотите ли вы настроить LXD для использования существующего моста или хост-интерфейса?




Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes




Имя существующего моста или интерфейса хоста:




Name of the existing bridge or host interface: br0




Хотите ли вы, чтобы LXD был доступен по сети?




Would you like LXD to be available over the network? (yes/no) [default=no]: 




Я отвечаю да, тем самым открывая доступ к контейнерам из локальной сети.




Адрес для привязки LXD к интерфейсу




Address to bind LXD to (not including port) [default=all]: 10.5.5.1




Порт для




Port to bind LXD to [default=8443]: 4444




Пароль доверия для новых клиентов:




Trust password for new clients:




Тут придумайте какой нибудь пароль




Повторите Ваш пароль




Again:




Хотите ли вы, чтобы устаревшие кэшированные изображения обновлялись автоматически?




Would you like stale cached images to be updated automatically? (yes/no) [default=yes] no




Хотите ли вы, чтобы была напечатана предварительная запись YAML “lxd init”?




Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]: yes




config:
  core.https_address: '[::]:4444'
  core.trust_password: qwerty
networks: []
storage_pools:
- config:
    size: 30GB
  description: ""
  name: ssdpool
  driver: btrfs
profiles:
- config: {}
  description: ""
  devices:
    eth0:
      name: eth0
      nictype: bridged
      parent: br0
      type: nic
    root:
      path: /
      pool: ssdpool
      type: disk
  name: default
cluster: null




Список Storage Pool




Следующая команда выводит на экран список всех Storage Pool в LXC хранилище. Но данная команда у вас ничего не покажет, так как мы еще не настроили контейнер ( привожу просто как пример):




lxc storage list




+--------+-------------+--------+-------------------------------------------+---------+
|  NAME  | DESCRIPTION | DRIVER |                  SOURCE                   | USED BY |
+--------+-------------+--------+-------------------------------------------+---------+
| test   |             | zfs    | /var/snap/lxd/common/lxd/disks/test.img   | 3       |
+--------+-------------+--------+-------------------------------------------+---------+
| ubnsrv |             | btrfs  | /var/snap/lxd/common/lxd/disks/ubnsrv.img | 0       |
+--------+-------------+--------+-------------------------------------------+---------+




Для просмотра списка всех Storage Volume в выбранном Storage Pool служит команда lxc storage volume list:




lxc storage volume list test




+-----------+------------------------------------------------------------------+-------------+---------+
|   TYPE    |                               NAME                               | DESCRIPTION | USED BY |
+-----------+------------------------------------------------------------------+-------------+---------+
| container | webserver                                                        |             | 1       |
+-----------+------------------------------------------------------------------+-------------+---------+
| image     | 89cbdbacd37e484c16816ae1ad550930c70320ef6428df4eb723e2aae4c78b56 |             | 1       |
+-----------+------------------------------------------------------------------+-------------+---------+




Увеличение размера Storage Pool 




После создания Storage Pool, при необходимости, его можно расширить. Для Storage Pool основанном на файловой системе BTRFS выполните следующие команды:




sudo truncate -s +5G /mnt/work/lxd/btrfs.img
sudo losetup -c /dev/loop1
sudo btrfs filesystem resize max /var/lib/lxd/storage-pools/btrfs




Выбор Storage Pool при создании контейнера




lxc init name-lxc --storage=test --profile=default




Удаление Storage Pool




lxc storage delete test




Если выдает ошибку “Error: Storage pool “default” has profiles using it: default“, то делаем так:




printf 'config: {}ndevices: {}' | lxc profile edit test
lxc storage delete test




Удаление bridge LXD




После удаление Storadge Pool необходимо удалить созданный сетевой мост следующей командой:




sudo lxc network delete lxdbr0




Работа с контейнерами LXC




Список контейнеров LXC




После того как Вы прошли все стадии настройки нового пула, вам потребуется скачать сам контейнер. Для просмотра доступных контейнеров с Ubuntu необходимо набрать следующую команду:




lxc image list ubuntu:




Я для установки выбрал Ubuntu Server 20.04 LTS.




Установка контейнера LXC на хост машину




Устанавливаем наш контейнер следующей командой:




lxc launch ubuntu:f webserver




  • f– это сокращенное название контейнера (Ubuntu 20.04 focal)
  • webserver – это имя нашего контейнера.




После загрузки посмотрим список наших контейнеров установленных в системе:




lxc list




+-----------+---------+---------------+------+-----------+-----------+
|   NAME    |  STATE  |     IPV4      | IPV6 |   TYPE    | SNAPSHOTS |
+-----------+---------+---------------+------+-----------+-----------+
| webserver | RUNNING | 10.5.5.44 (eth0) |   | CONTAINER | 0         |
+-----------+---------+---------------+------+-----------+-----------+




Как видим контейнер запустился с именем webserver и IP-адресом 10.5.5.44




Так как наш контейнер lxd называется webserver, то на него необходимо установить какой либо WEB-сервер.




Установка NGINX в LXC (LXD) контейнер




Подключитесь к контейнеру webserver и настройте в нем веб-сервер.




Чтобы подключиться к контейнеру как root, используйте следующую команду:




lxc exec webserver -- /bin/bash




Чтобы подключиться к контейнеру от другого пользователя используйте вот такую команду:




lxc exec webserver -- sudo --login --user user1




Команда sudo --login --user use1 предоставляет оболочку входа для предварительно сконфигурированной учетной записи user1 внутри контейнера.




В контейнере командная строка выглядит так:




root@webserver:~$




Установите Nginx в этом контейнере. Для этого обновим индекс пакетов экземпляра Ubuntu внутри контейнера, добавим свежий репозиторий для nginx и установим сам WEB-сервер Nginx:




apt update
apt dist-upgrade -y
add-apt-repository ppa:ondrej/nginx
apt install nginx -y




Затем отредактируйте веб-страницу по умолчанию для этого сайта и добавьте текст, который поможет вам понять, что этот сайт размещен в контейнере webserver. Откройте файл index.nginx-debian.html:




nano /var/www/html/index.nginx-debian.html




Измените его следующим образом:




<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Добро пожаловать в контейнер WEBSERVER!</h1>
<p>Если вы видите эту страницу, веб-сервер nginx успешно установлен и работает. 
Необходима дальнейшая настройка.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Спасибо Вам за использование nginx.</em></p>
</body>
</html>




Сохраните файл и выйдите из редактора. Выйдите из контейнера и вернитесь на главный сервер:




exit




С помощью curl проверьте, работает ли веб-сервер в контейнере. Вам понадобятся IP-адреса веб-контейнеров, которые были найдены ранее с помощью команды lxd list.




curl http://10.5.5.44/




Команда вернет:




<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Добро пожаловать в контейнер WEBSERVER!</h1>
<p>Если вы видите эту страницу, веб-сервер nginx успешно установлен и работает. 
Необходима дальнейшая настройка.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Спасибо Вам за использование nginx.</em></p>
</body>
</html>




Веб-сервер работает, но получить доступ к нему можно только через внутренний IP-адрес. Для того чтобы другие пользователи могли получить доступ к web-сайту, направьте внешние запросы в этот контейнер. Как это сделать Я описывал в данной статье:




Настройка NAT и Port Forwarding




Остановка и удаление контейнера




В дальнейшем вы можете захотеть остановить контейнер и заменить его.




Чтобы остановить контейнер, используйте:




lxc stop webserver




Чтобы проверить состояние контейнера, введите:




lxc list




Удалить контейнер можно с помощью этой команды:




lxc delete webserver




Взятие файла из контейнера




Получить файл из контейнера можно командой




lxc file pull webserver/etc/hosts hosts




или прочесть в выводом на стандартный output




lxc file pull webserver/etc/hosts -




127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts




Помещение файла внутрь контейнера




lxc file push /home/user/myfiles.txt webserver/home/goust




Создание снимка контейнера




Просто создать снимок можно так:




lxc snapshot webserver
# или так
lxc snapshot webserver web-mysnap




Проверить снимок




sudo lxc info ваш_контейнер | grep -i Snapshots -A2




Восстановление из снимка




Восстановить состояние контейнера на момент снимка




lxc restore ваш_контейнер ваш_снимок




Копирование контейнеров из снимков LXC




Команда для копирования выглядит следующим образом:




lxc cp websever/web-mysnap new-web




После данного действия остается запустить новый контейнер




lxc start new-web 
sleep 5
lxc list




Используйте команду lxc help, чтобы просмотреть дополнительные параметры.




Для управления хранилищем в LXD служит команда lxc storage справку по которой можно получить указав ключ — lxc storage --help




Удалить снимок контейнера LXD




sudo lxc delete <имя контейнера/имя снимка>




Дополнительно




Про CPU




Чтобы ограничить контейнер любыми 2 процессорами:




lxc config set my-container limits.cpu 2




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




lxc exec my-container -- cat /proc/cpuinfo | grep ^proces




processor	: 0
processor	: 1




На определенных ядрах процессора, скажем, на втором и четвертом команда примет вид:




lxc config set my-container limits.cpu 1,3




Более сложные закрепление с помощью диапазонов:




lxc config set my-container limits.cpu 0-2,6-7




Чтобы ограничить процессорное время контейнера до 10% от общего числа, набираем вот такую команду:




lxc config set my-container limits.cpu.allowance 10%




Про память




Что бы ограничить выделяемую контейнеру память, необходимо набрать следующую команду:




lxc config set my-container limits.memory 512MB




Смотрим инфо про память:




lxc exec WEB -- cat /proc/meminfo | grep ^Mem




Для отключения файла подкачки swap




lxc config set my-container limits.memory.swap false



[endtxt]




RSS




2020-05-19T07:30:03
Virtualization