Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 213 сообщений
Cообщения с меткой

kvm - Самое интересное в блогах

Следующие 30  »
erprefurpen78

Без заголовка

Воскресенье, 09 Сентября 2018 г. 23:28 (ссылка)

Vps kvm в Омске
подробнее тут - https://argotel.ru/


Высокоскоростной хостинг-провайдер в Москве.
Предпродажные вопросы:

Телефон: +7(495)178-08-27 ( 10.00 — 21.00 )

Почта: sales@argotel.ru ( 10.00 — 21.00 )



Техническая поддержка:

Почта: support@argotel.ru ( Время ответа не более ~5 часов )



Прием жалоб:

Почта: abuse@argotel.ru
https://argotel.ru/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
ponreitert

Без заголовка

Суббота, 09 Сентября 2018 г. 03:47 (ссылка)

Vps kvm в Омске - https://vk.com/page-146975626_55914996

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
ckavashomer

Без заголовка

Суббота, 08 Сентября 2018 г. 21:05 (ссылка)

Vps kvm в Омске - https://vk.com/page-146975626_55914996

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
phantojrosi

Без заголовка

Суббота, 08 Сентября 2018 г. 13:24 (ссылка)

Vps kvm в Омске - https://vk.com/page-146975626_55914996

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
ballpoperp

Без заголовка

Суббота, 08 Сентября 2018 г. 11:33 (ссылка)

Vps kvm в Омске - https://vk.com/page-146975626_55914996

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
dronbundmo

Без заголовка

Пятница, 08 Сентября 2018 г. 01:39 (ссылка)

Vps kvm в Омске - https://vk.com/page-146975626_55914996

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
muxcc

KVM от FirstVDS

Понедельник, 22 Января 2018 г. 17:05 (ссылка)


2002904_socialmedia (700x394, 66Kb)/2002904_140 (700x370, 76Kb)



В этом мире чем далее, тем более все делается для "среднестатистического пользователя", а ты хочешь странного - ntp, 123-порт. "Cреднестатистические" и слов-то таких не слышали.



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



FirstVDS и 123/udp filtered ntp для гостевых KVM во всех ДЦ


Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Проброс реальной видеокарты в VM с ReactOS

Среда, 16 Августа 2017 г. 11:36 (ссылка)

В рамках проходящего в Кёльне с 14 августа второго ReactOS-хакфеста было запланировано несколько выступлений разработчиков проекта с докладами. Первым выступил Колин Финк и рассказал о новом способе теcтирования видеокарт в ReactOS.







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



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







Скачать PDF можно по ссылке
Читать дальше ->

https://habrahabr.ru/post/335746/

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Применение LibVirt API, InfluxDB и Grafana для сбора и визуализации статистики выполнения VM

Суббота, 08 Июля 2017 г. 16:11 (ссылка)

В своей практике я достаточно много времени посвящаю проектированию и администрированию облачных инфраструктур различного назначения. В основном это Apache CloudStack. Данная система обладает отличными возможностями, но в части мониторинга, функциональности явно недостаточно (читайте — отсутствует), особенно, если на мониторинг смотреть шире чем мониторинг индивидуального объекта наблюдения (сервер, виртуальная машина).



В целом, в связи с более широкими требованиями к систем визуального анализа информации и потребностями в части интеграции с источниками данных стали распространяться специализированные решения для ad-hoc анализа данных, такие как Kibana, Grafana и иные. Данные системы могут интегрироваться со специализированными хранилищами временных рядов данных, одним из которых является InfluxDB. Статья расскажет о готовом решении, распространяемом в виде образа Docker, использующем LibVirt API, Grafana и InfluxDB, предназначенном для сбора и анализа параметров исполняющихся VM для гипервизора KVM.



Обзор решения



Решение представлено в форме Docker-контейнера, распространяемого по лицензии Apache License v2, поэтому оно может без ограничений применяться в любых организациях и изменяться, отражая потребности конкретной задачи. Контейнер размещается на выделенном сервере, python-утилита сбора данных удаленно подключается по протоколу TCP к LibVirt и отправляет данные в InfluxDB, откуда они могут быть запрошены с помощью Grafana для визуализации и анализа.



Контейнер доступен в виде исходных кодов на GitHub и в виде доступного для установки образа на DockerHub. Язык реализации — python.



Почему Docker-контейнер



Данное решение является конечным и удобным для внедрения, а так же не требует каких-либо дополнительных настроек и установки дополнительного ПО на серверах виртуализации, кроме разрешения доступа к API LibVirt по сети. Если доступ к API LibVirt снаружи не представляется возможным, то возможно установить Docker на хосте виртуализации и запускать контейнер локально.



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


Какие данные собираются



Сенсор собирает следующие данные о виртуальных машинах, доступные через LibVirt:



CPU:



    {
"fields": {
"cpuTime": 1070.75,
"cpus": 4
},
"measurement": "cpuTime",
"tags": {
"vmHost": "qemu+tcp://root@10.252.1.33:16509/system",
"vmId": "i-376-1733-VM",
"vmUuid": "12805898-0fda-4fa6-9f18-fac64f673679"
}
}


RAM:



{
"fields": {
"maxmem": 4194304,
"mem": 4194304,
"rss": 1443428
},
"measurement": "rss",
"tags": {
"vmHost": "qemu+tcp://root@10.252.1.33:16509/system",
"vmId": "i-376-1733-VM",
"vmUuid": "12805898-0fda-4fa6-9f18-fac64f673679"
}
}


Статистика по каждому сетевому адаптеру с привязкой к MAC-адресу:



{
"fields": {
"readBytes": 111991494,
"readDrops": 0,
"readErrors": 0,
"readPackets": 1453303,
"writeBytes": 3067403974,
"writeDrops": 0,
"writeErrors": 0,
"writePackets": 588124
},
"measurement": "networkInterface",
"tags": {
"mac": "06:f2:64:00:01:54",
"vmHost": "qemu+tcp://root@10.252.1.33:16509/system",
"vmId": "i-376-1733-VM",
"vmUuid": "12805898-0fda-4fa6-9f18-fac64f673679"
}
}


Статистика по каждому диску:



{
"fields": {
"allocatedSpace": 890,
"ioErrors": -1,
"onDiskSpace": 890,
"readBytes": 264512607744,
"readIOPS": 16538654,
"totalSpace": 1000,
"writeBytes": 930057794560,
"writeIOPS": 30476842
},
"measurement": "disk",
"tags": {
"image": "cc8121ef-2029-4f4f-826e-7c4f2c8a5563",
"pool": "b13cb3c0-c84d-334c-9fc3-4826ae58d984",
"vmHost": "qemu+tcp://root@10.252.1.33:16509/system",
"vmId": "i-376-1733-VM",
"vmUuid": "12805898-0fda-4fa6-9f18-fac64f673679"
}
}


Общая статистика по хосту виртуализации, как ее "видит" LibVirt:



    {
"fields": {
"freeMem": 80558,
"idle": 120492574,
"iowait": 39380,
"kernel": 1198652,
"totalMem": 128850,
"user": 6416940
},
"measurement": "nodeInfo",
"tags": {
"vmHost": "qemu+tcp://root@10.252.1.33:16509/system"
}
}


Настройка LibVirt



В конфигурационном файле /etc/libvirt/libvirtd.conf необходимо установить:



listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0


Внимание! Вышеуказанные настройки позволят соединяться с API LibVirt по TCP, настройте корректно файрвол для ограничения доступа.

После выполнения данных настроек LibVirt необходимо перезапустить.



sudo service libvirt-bin restart


InfluxDB



Установка (для Ubuntu)



Установка InfluxDB осуществляется по документации, например, для Ubuntu:



curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start


Настройка аутентификации



Выполним команду influx для открытия сессии к СУБД:



$ influx


Создадим администратора (он нам понадобится когда мы активируем аутентификацию):



CREATE USER admin WITH PASSWORD '' WITH ALL PRIVILEGES


Создадим базу данных pulsedb и обычного пользователя pulse с доступом к этой базе данных:



CREATE DATABASE pulsedb
CREATE USER pulse WITH PASSWORD ''
GRANT ALL ON pulsedb TO pulse


Активируем аутентификацию в конфигурационном файле /etc/influxdb/influxdb.conf:



auth-enabled = true


Перезапустим InfluxDB:



service influxdb restart


Если все сделано правильно, теперь при открытии сессии необходимо указывать имя пользователя и пароль:



influx -username pulse -password secret


Запуск контейнера для начала сбора данных



docker pull bwsw/cs-pulse-sensor

docker run --restart=always -d --name 10.252.1.11 \
-e PAUSE=10 \
-e INFLUX_HOST=influx \
-e INFLUX_PORT=8086 \
-e INFLUX_DB=pulsedb \
-e INFLUX_USER=pulse \
-e INFLUX_PASSWORD=secret \
-e GATHER_HOST_STATS=true
-e DEBUG=true \
-e KVM_HOST=qemu+tcp://root@10.252.1.11:16509/system \
bwsw/cs-pulse-sensor


Большинство параметров самоочевидны, поясню лишь два:




  1. PAUSE — интервал между запросом значений в секундах;

  2. GATHER_HOST_STATS — определяет собирать или нет дополнительно статистику по хосту;



После этого в журнале контейнера с помощью команды docker logs должна отражаться активность и не должны отражаться ошибки.



Если открыть сессию к InfluxDB, то в консоли можно выполнить команду и убедиться в наличии данных измерений:



influx -database pulsedb -username admin -password secret


> select * from cpuTime limit 1
name: cpuTime
time cpuTime cpus vmHost vmId vmUuid
---- ------- ---- ------ ---- ------
1498262401173035067 1614.06 4 qemu+tcp://root@10.252.1.30:16509/system i-332-2954-VM 9c002f94-8d24-437e-8af3-a041523b916a


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



Установка и настройка Grafana (Ubuntu)



Устанавливаем, как описано в документации



wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.4.1_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_4.4.1_amd64.deb
sudo service grafana-server start
sudo update-rc.d grafana-server defaults


Запускаем web-браузер и открываем административный интерфейс Grafana http://influx.host.com:3000/.



Добавление источника данных в Grafana



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





После сохранения источника данных, можно создать "дэшборды" и попробовать создавать запросы для графиков (поскольку данная инструкция не о том, как пользоваться Grafana, то привожу лишь выражения для запросов):



Загрузка CPU (минутки):



select NON_NEGATIVE_DERIVATIVE(MAX("cpuTime"), 1m) / LAST("cpus") / 60 * 100 from "cpuTime" where "vmUuid" = '6da0cdc9-d8ff-4b43-802c-0be01c6e0099' and $timeFilter group by time(1m)


Загрузка CPU (пятиминутки):



select NON_NEGATIVE_DERIVATIVE(MAX("cpuTime"), 5m) / LAST("cpus") / 300 * 100 from "cpuTime" where "vmUuid" = '6da0cdc9-d8ff-4b43-802c-0be01c6e0099' and $timeFilter group by time(5m)


Загрузка CPU (все VM):



select  NON_NEGATIVE_DERIVATIVE(MAX("cpuTime"),1m) / LAST("cpus") / 60 * 100 as CPU from "cpuTime" WHERE $timeFilter group by time(1m), vmUuid




Память VM (пятиминутная агрегация):



SELECT MAX("rss") FROM "rss" WHERE "vmUuid" = '6da0cdc9-d8ff-4b43-802c-0be01c6e0099' and $timeFilter GROUP BY time(5m) fill(null)


Статистика ReadBytes, WriteBytes для диска (пятиминутная агрегация):



select NON_NEGATIVE_DERIVATIVE(MAX("readBytes"),5m)  / 300 from "disk" where "image" = '999a1942-3e14-4d04-8123-391494a28198' and $timeFilter group by time(5m)

select NON_NEGATIVE_DERIVATIVE(MAX("writeBytes"),5m) / 300 from "disk" where "image" = '999a1942-3e14-4d04-8123-391494a28198' and $timeFilter group by time(5m)


Статистика ReadBits, WriteBits для NIC (пятиминутная агрегация):



select NON_NEGATIVE_DERIVATIVE(MAX("readBytes"), 5m)  / 300 * 8 from "networkInterface" where "mac" = '06:07:70:00:01:10' and $timeFilter group by time(5m)

select NON_NEGATIVE_DERIVATIVE(MAX("writeBytes"), 5m) / 300 * 8 from "networkInterface" where "mac" ='06:07:70:00:01:10' and $timeFilter group by time(5m)


Вся мощь языка запросов InfluxDB к вашим услугам, и Вы можете строить такие дэшборды, которые отвечают Вашим потребностям и позволяют производить наглядный анализ данных. Например, один из самых полезных для меня кейсов — это разбор инцидентов, бывает, что клиент жалуется на то, что "ваш код ****о" © и говорит, что его VM чудесно работала, а потом раз и все. Строим выражение, смотрим на картинку, видим как CPU его VM в течение часа уходил в пике и таки ушел. Скриншот — отличный аргумент при решении конфликта.



Еще можно анализировать самых интенсивно использующих различные ресурсы VM, чтобы мигрировать их на отдельные хосты. Да все, что угодно. В этом смысле Grafana, Kibana и подобные системы выгодно отличаются от традиционных систем мониторинга (например, Zabbix) тем, что позволяют делать анализ по требованию и строить комплексные аналитические наборы, а InfluxDB помогает обеспечить высокую производительность анализа даже на большом наборе данных.



Заключение



Код, получающий данные из LibVirt тестировался с VM, которые используют тома в QCOW2 формате. Я постарался учесть варианты LVM2 и RBD, но не тестировал. Если у кого-то получится протестировать код на других вариантах томов VM и прислать исправления для кода, буду признателен.



PS: При мониторинге сетевого трафика VM Вы можете обнаружить, что данные по PPS значительно меньше тех, которые Вы получаете посредством Sflow/Netflow на маршрутизаторе или tcpdump в VM. Это известное свойство KVM, сетевая подсистема которого не придерживается стандартного MTU в 1500 байт.



PPS: Документация по API LibVirt для python ужасна и мне пришлось продираться через разные версии, чтобы все же выяснить в каком виде возвращаются данные и что они означают.



PPS2: Если что, как говорят на Газорпазорпе, "Я рядом, если надо поговорить" ©


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332652/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Тем временем Proxmox VE обновился до версии 5.0

Четверг, 06 Июля 2017 г. 12:42 (ссылка)

Proxmox logoГромкой эту новость не назвать, но парни, который год «пилящие» Proxmox VE, два дня назад выпустили новую версию своего детища — 5.0.



Нас, конечно, интересуют изменения — тянут ли они на новую major версию. На мой взгляд, вполне, а подробности, по традиции, под катом.



(Для тех, кому слова Proxmox VE не знакомы, приведу пару слов описания: «Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. В качестве гипервизоров использует KVM и LXC. Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.»)



Официальный список изменений рассказывает довольно скупо:




  • Сборка производится на пакетной базе Debian 9.0 «Stretch» (прошлая версия была основана на Debian 8.0 «Jessie»);

  • Используется ядро Linux 4.10

  • Используется QEMU 2.9

  • LXC обновлен до 2.0.8;

  • Реализована возможность асинхронной репликации хранилища между несколькими узлами кластера. Функция работает при использовании ZFS, и на сегодня помечена как «technology preview»;

  • Обновлены шаблоны построения изолированных окружений LXC на базе Debian, Ubuntu, CentOS, Fedora, OpenSUSE, Arch Linux, Gentoo и Alpine;

  • Новая/существенно улучшеная удалённая консоль noVNC;

  • В состав включена реализация распределённой файловой системы Ceph 12.1.0 Luminous (также с пометкой «technology preview»), собранная сотрудниками Proxmox;

  • Поддержка Live-миграции с использованием локального хранилища;

  • Внесены улучшения в web-интерфейс: улучшены средства фильтрации и пакетного выполнения операций, обеспечен показ адресов USB и Host PCI;

  • Улучшен установочный ISO-образ;

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

    VMware и Hyper-V.

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





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



Репликация хранилища



Разговор идет об асинхронной репликации, когда раз в определенное время снапшот состояния хранилища отправляется на другое хранилище. Это уменьшает сетевой трафик, и позволяет предъявлять меньшие требования к оборудованию. Можно задать, что и как часто мы реплицируем, и иметь на другом хранилище «довольно свежую» копию данных с основного. Все зависит от задач, но во многих случаях для целей быстрого восстановления работоспособности даже такой подход — просто отличный вариант. Еще раз уточню, работает эта функция между хранилищами zfs.



Импорт ВМ из других гипервизоров



Такого рода импорт нужен не каждый день, но, уж когда нужен, требует довольно много времени на разбирательство с ним — похоже, сейчас процесс получится сокртить. Конечно, импорт — это и проблемы запуска гостя на базе нового гипервизора (разные гостевые ОС отнесутся по разному, скажем, к изменению списка оборудования), но сама функциональность актуальна. Предполагается, что импорт произойдет из самых популярных форматов (скажем, vmdk), но большинство гипервизоров умеют сегодня экспортировать машины в формат VMWare — после чего используем новую функцию утилиты qm (вызываемая как qm importdisk), и сражаемся уже с ОС в виртуалке.










Интересны ли вам изменения в PVE 5.0, будете ли обновляться?




































































Проголосовало 25 человек. Воздержалось 11 человек.





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


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332542/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

QEMU-KVM под LXC

Четверг, 01 Июня 2017 г. 20:29 (ссылка)

Как обычно — обстоятельства диктуют правила.

На этот раз мы ставим Proxmox и Libvirt на один тот же сервер.



image



Столкнулись с очередной задачей — заказчик поставил условие развернуть стенд на уже имеющейся, конфликтующей инфраструктуре. У него кластер Proxmox, у нас Libvirt



Решение в лоб — не помогло, попытка установить libvirtd потребовала удаления proxmox. Не долго думая решили скреативить. Смотрите под катом элегантное решение как и на ёлку залезть и ничего не ободрать.



Коротко о нас — команда разработчиков WriteX Team. Работаем с Linux с 2000го года под дивизор — нет ничего невозможного для Linux. Сказано — сделано. пошли думать. Варианты развития: скомпилировать libvirt либо уйти в контейнер. Гугл как обычно помог, нашел очень полезную статью: vasilisc.com/lxc-1-0-security-features и смотрим, что в принципе можно подарить контейнеру любое устройство. Смотрим (без разрешения автора, но не убирая ссылок немного копипаста):



Большинство LXC шаблонов устанавливает только несколько записей



# Default cgroup limits

lxc.cgroup.devices.deny = a

## Allow any mknod (but not using the node)

lxc.cgroup.devices.allow = c *:* m

lxc.cgroup.devices.allow = b *:* m

## /dev/null and zero

lxc.cgroup.devices.allow = c 1:3 rwm

lxc.cgroup.devices.allow = c 1:5 rwm

## consoles

lxc.cgroup.devices.allow = c 5:0 rwm

lxc.cgroup.devices.allow = c 5:1 rwm

## /dev/{,u}random

lxc.cgroup.devices.allow = c 1:8 rwm

lxc.cgroup.devices.allow = c 1:9 rwm

## /dev/pts/*

lxc.cgroup.devices.allow = c 5:2 rwm

lxc.cgroup.devices.allow = c 136:* rwm

## rtc

lxc.cgroup.devices.allow = c 254:0 rm

## fuse

lxc.cgroup.devices.allow = c 10:229 rwm

## tun

lxc.cgroup.devices.allow = c 10:200 rwm

## full

lxc.cgroup.devices.allow = c 1:7 rwm

## hpet

lxc.cgroup.devices.allow = c 10:228 rwm

## kvm

lxc.cgroup.devices.allow = c 10:232 rwm





смотрим, коды устройств на dom0,

# ls -lah /dev/kvm

crw-rw-rw- 1 root kvm 10, 232 Июн 1 11:55 /dev/kvm





и далее, разрешаем все нужные нам устройства и создаем их в контейнере:



mknod /dev/net/tun c 10 200

mknod /dev/kvm c 10 232





запускаем систему и ставим всё что нам необходимо в нашем контейнере — не нарушив ничего у заказчика. По моему — круто!



Готовы ловить помидоры, но только после полного осознания глубины креатива ;-)

Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330016/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<kvm - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda