Облачные лаборатории #vmware. Можно онлайн потыкать любую уже готовую развернутую продукцию vmware.
https://labs.vmware.com
https://labs.vmware.com
список тегов, используемых в канале:
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
—---------
Linux
—---------
#ssh
#bash
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
—----------
DevOps
—----------
#jenkins
#ansible
#git
kubernetes
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
—---------
InfoSec
—---------
#vulns
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
UPD 28/12/17
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
—---------
Linux
—---------
#ssh
#bash
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
—----------
DevOps
—----------
#jenkins
#ansible
#git
kubernetes
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
—---------
InfoSec
—---------
#vulns
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
UPD 28/12/17
Монтируем datastore vmware из-под linux
В случае, когда у вас по тем или иным причинам нет возможности запустить esxi, но есть возможность загрузиться с live-cd, то примонтировать хранилище и выдернуть с него данные можно вот так:
#vmware #troubleshooting
В случае, когда у вас по тем или иным причинам нет возможности запустить esxi, но есть возможность загрузиться с live-cd, то примонтировать хранилище и выдернуть с него данные можно вот так:
apt install vmfs-tools
fdisk -l #смотрим номер нужного раздела
vmfs-fuse /dev/sdb5 /mnt/vmfs
#vmware #troubleshooting
Список тегов, используемых в канале:
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
#junior
—---------
Linux
—---------
#ssh
#bash
#bash_tips_and_tricks
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
#apt
#bind
#sound
#power_management
—----------
DevOps
—----------
#jenkins
#ansible
#git
#kubernetes
#deploy
#ceph
#docker
#puppet
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
#proxy
#socks
—---------
InfoSec
—---------
#vulns
#security
#ctf
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------
Datacenters
—---------—
#ovh
#hetzner
—-------
Other
—-------
#android
#jira
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
Updated: 29.05.18
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
#junior
—---------
Linux
—---------
#ssh
#bash
#bash_tips_and_tricks
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
#apt
#bind
#sound
#power_management
—----------
DevOps
—----------
#jenkins
#ansible
#git
#kubernetes
#deploy
#ceph
#docker
#puppet
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
#proxy
#socks
—---------
InfoSec
—---------
#vulns
#security
#ctf
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------
Datacenters
—---------—
#ovh
#hetzner
—-------
Other
—-------
#android
#jira
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
Updated: 29.05.18
Ansible vmware dynamic inventory
1) включаем поддержку vmware в конфиге ~/.ansible.cfg:
hosts.vmware.yaml:
4) проверяем:
#ansible #vmware
1) включаем поддержку vmware в конфиге ~/.ansible.cfg:
[inventory]2) устанавливаем необходимые пакеты. Второй пакет - python sdk, команда установки взята из их гитхаба.
enable_plugins = vmware_vm_inventory
pip3 install --upgrade pyvmomi3) записываем в файл доступы (это чисто для дебага, понятно что при нормальной работе это будет выглядеть по-другому)
pip3 install --upgrade git+https://github.com/vmware/vsphere-automation-sdk-python.git
hosts.vmware.yaml:
plugin: vmware_vm_inventory
strict: False
hostname: 10.65.223.31
username: administrator@vsphere.local
password: Esxi@123$%
validate_certs: False
with_tags: True
4) проверяем:
ansible-inventory --list -i hosts.vmware.yaml
#ansible #vmware
vmware Guest customization on Debian
из коробки не работает. Буду краток чтобы не вылить поток говен на вмваре.
Проблема: некорректный парсинг интерфейсов скриптом customization.pm, расположенном на вцентре.
Обсуждение: https://github.com/vmware/open-vm-tools/issues/130
Адекватное решение: исправление парсящего скрипта на вцентре. Примеры можно увидеть в обсуждении. Но некоторые пункты все равно придется выполнить, иначе скрипт не отработает (см 2.х)
Кривое решение1:
1.1 перевести дебиан на нетплан
1.2 заменить os_release на убунту 18.04+
После чего скрипты парсинга будут думать что ось - убунта и применять на него настройку нетплана. Тут есть еще несколько нюансов, но чтобы не повторяться, я их опишу только один раз чуть ниже.
Версия вцентра: 6.5 u2+
Кривое решение 2:
2.1 Поставить пакет net-tools лохматых годов. Именно из-за того что поменялся вывод ifconfig(sic!) поломался и парсинг.
https://launchpad.net/ubuntu/xenial/amd64/net-tools/1.60-26ubuntu1
2.2 Правим юнит файл open-vm-tools
https://kb.vmware.com/articleview?docid=56409
2.3 Создаем симлинк на dhcp
https://kb.vmware.com/s/article/2051469
2.4 Ставим гостевой ОС - ubuntu64
#vmware #debian #terraform
из коробки не работает. Буду краток чтобы не вылить поток говен на вмваре.
Проблема: некорректный парсинг интерфейсов скриптом customization.pm, расположенном на вцентре.
Обсуждение: https://github.com/vmware/open-vm-tools/issues/130
Адекватное решение: исправление парсящего скрипта на вцентре. Примеры можно увидеть в обсуждении. Но некоторые пункты все равно придется выполнить, иначе скрипт не отработает (см 2.х)
Кривое решение1:
1.1 перевести дебиан на нетплан
1.2 заменить os_release на убунту 18.04+
После чего скрипты парсинга будут думать что ось - убунта и применять на него настройку нетплана. Тут есть еще несколько нюансов, но чтобы не повторяться, я их опишу только один раз чуть ниже.
Версия вцентра: 6.5 u2+
Кривое решение 2:
2.1 Поставить пакет net-tools лохматых годов. Именно из-за того что поменялся вывод ifconfig(sic!) поломался и парсинг.
https://launchpad.net/ubuntu/xenial/amd64/net-tools/1.60-26ubuntu1
2.2 Правим юнит файл open-vm-tools
https://kb.vmware.com/articleview?docid=56409
2.3 Создаем симлинк на dhcp
https://kb.vmware.com/s/article/2051469
2.4 Ставим гостевой ОС - ubuntu64
#vmware #debian #terraform
GitHub
debian 9 (stretch) customizing NIC uses wrong interface name · Issue #130 · vmware/open-vm-tools
Hi, ESXi 6.0 Debian 9 stretch/sid open-vm-tools 10.1.0-4449150-2 guestOS other3xlinux-64 The net-tools package is installed to have the ifconfig binary. When customizing the NIC, the wrong adapter ...
описываем динамически диски vmware в terraform
terraform version: 0.12+
1) на нужном уровне задаем переменную
#terraform #vmware
terraform version: 0.12+
1) на нужном уровне задаем переменную
variable "disk_size" {2) создаем саму виртуальную машину:
type = "list"
default = [
{
size = 20,
number = 0
},
{
size = 300,
number = 1
}]
}
resource "vsphere_virtual_machine" "vm" {Использовать count внутри динамических блоков нельзя. он наследуется с уровня выше, а не свой, внутри for_each. Поэтому тут в массиве не только размер дисков, но и его позиция в контроллере.
name = "${var.prefix}${var.name}-${count.index}"
count = "${var.instance_count}"
....
dynamic "disk" {
for_each = [for d in var.disk_size: {
size = d.size
number = d.number
}]
content {
label = format("disk%s", disk.value.number)
size = disk.value.size
thin_provisioned = "${data.vsphere_virtual_machine.template.disks.0.thin_provisioned}"
eagerly_scrub = "${data.vsphere_virtual_machine.template.disks.0.eagerly_scrub}"
unit_number = disk.value.number
}
}
#terraform #vmware
vmware workstation 15.5 release
из интересного:
Better vSphere Compatibility: pvscsi
Workstation 15.5 introduces the pvscsi device, bringing improved desktop-to-datacenter compatibility for many virtual machine and OVA/OVF templates. No need to change virtual devices and settings when migrating workloads between Workstation and vSphere!
https://blogs.vmware.com/workstation/2019/09/workstation-15-5-available-now.html
#releases #vmware
из интересного:
Better vSphere Compatibility: pvscsi
Workstation 15.5 introduces the pvscsi device, bringing improved desktop-to-datacenter compatibility for many virtual machine and OVA/OVF templates. No need to change virtual devices and settings when migrating workloads between Workstation and vSphere!
https://blogs.vmware.com/workstation/2019/09/workstation-15-5-available-now.html
#releases #vmware
vmware и memory balooning
очень неприятную вещь словил при использовании vmware. По прошествию некоторого времени гостевой операционной системе вменялось что у нее нет свободной памяти (на картинке желтый график упирается в потолок выделенной памяти). по факту, вмваре будет писать что память свободная на машине есть, а сервис внутри виртуалки будет загибаться от нехватки памяти. Интересное явление было замечено еще при мигрировании вм между нодами кластера - память моментально освобождается (нет на графике). тоже самое можно заметить при увеличении памяти в гостевой ос на лету - см 10/23 - видим провал, а затем резкий взлет до потолка. В конечном итоге попробовал 2 решения проблемы - снес вмваре тулз и ребутнулся, но это не помогло и память на одном из серверов через сутки снова стрельнула до потолка, второе решение - резервация памяти. применено 10/24 и как можете заметить примерно за сутки сервис вышел на рабочее потребление памяти и далее в потолок более не упирается. Голубым цветом показаны кэши.
#vmware
очень неприятную вещь словил при использовании vmware. По прошествию некоторого времени гостевой операционной системе вменялось что у нее нет свободной памяти (на картинке желтый график упирается в потолок выделенной памяти). по факту, вмваре будет писать что память свободная на машине есть, а сервис внутри виртуалки будет загибаться от нехватки памяти. Интересное явление было замечено еще при мигрировании вм между нодами кластера - память моментально освобождается (нет на графике). тоже самое можно заметить при увеличении памяти в гостевой ос на лету - см 10/23 - видим провал, а затем резкий взлет до потолка. В конечном итоге попробовал 2 решения проблемы - снес вмваре тулз и ребутнулся, но это не помогло и память на одном из серверов через сутки снова стрельнула до потолка, второе решение - резервация памяти. применено 10/24 и как можете заметить примерно за сутки сервис вышел на рабочее потребление памяти и далее в потолок более не упирается. Голубым цветом показаны кэши.
#vmware
Немного извращения или как поставить в vsphere ОС с iso без iso
Дисклаймер: после длинного обсуждения в чате этой заметки мы выяснили, что этот совет может для кого-то быть плохим и вместо того чтобы делать то что описано ниже вам следует отложить задачу и настраивать рабочие процессы, чтобы не обходить требования ИБ.
Дано:
1) глубокий вечер пятницы, и отдельный департамент иб, который выдает права на гипервизор
2) возможность создавать виртуалки на всфере
Не дано:
1) запрещен доступ по tcp\902 до хостов, в связи с чем невозможна работа консоли vrmc и подключение client device iso
2) запрещены по-умолчанию доступы между виртуалками, в связи с чем невозможно устроить загрузку образа по сети
3) запрещена загрузка iso в библиотеку\хранилище\папку, в связи с чем невозможно подключить iso из vsphere
Один очень хороший человек из группы @vmugru дал совет, что головой можно не только есть, в связи с чем родился такой способ:
1) к любой виртуалке с гостевой ос на linux добавляем диск ISO_DISK размером >= size_of(iso).
2) rsync iso to vm
3) подключаемся к этой виртуалке и делаем
```dd /path/to/iso > /dev/ISO_DISK```
4) отключаем ISO_DISK от исходной виртуалки и подключаем его вторым* диском к новой виртуалке без гостевой ОС
5) в bios указываем что хотим грузиться со 2 диска
6) PROFIT! далее выполняем действия как при обычно подключенном iso
*вторым диском я сделал потому что софт, который выполняет установку с диска не дает возможности кастомизированной установки (сапожники, да). Поэтому когда софтина предлагает эрейзить все и поставить софт на диск, по счастливому стечению обстоятельств она выбирает именно первый диск и не трогает тот с которого она собственно и загрузилась. Этот нюанс в случае обычной установки не играет роли и можно добавлять основной диск для установки ОС после того как подключили ISO_DISK. просто понимать порядок загрузки с дисков.
#vmware
Дисклаймер: после длинного обсуждения в чате этой заметки мы выяснили, что этот совет может для кого-то быть плохим и вместо того чтобы делать то что описано ниже вам следует отложить задачу и настраивать рабочие процессы, чтобы не обходить требования ИБ.
Дано:
1) глубокий вечер пятницы, и отдельный департамент иб, который выдает права на гипервизор
2) возможность создавать виртуалки на всфере
Не дано:
1) запрещен доступ по tcp\902 до хостов, в связи с чем невозможна работа консоли vrmc и подключение client device iso
2) запрещены по-умолчанию доступы между виртуалками, в связи с чем невозможно устроить загрузку образа по сети
3) запрещена загрузка iso в библиотеку\хранилище\папку, в связи с чем невозможно подключить iso из vsphere
Один очень хороший человек из группы @vmugru дал совет, что головой можно не только есть, в связи с чем родился такой способ:
1) к любой виртуалке с гостевой ос на linux добавляем диск ISO_DISK размером >= size_of(iso).
2) rsync iso to vm
3) подключаемся к этой виртуалке и делаем
```dd /path/to/iso > /dev/ISO_DISK```
4) отключаем ISO_DISK от исходной виртуалки и подключаем его вторым* диском к новой виртуалке без гостевой ОС
5) в bios указываем что хотим грузиться со 2 диска
6) PROFIT! далее выполняем действия как при обычно подключенном iso
*вторым диском я сделал потому что софт, который выполняет установку с диска не дает возможности кастомизированной установки (сапожники, да). Поэтому когда софтина предлагает эрейзить все и поставить софт на диск, по счастливому стечению обстоятельств она выбирает именно первый диск и не трогает тот с которого она собственно и загрузилась. Этот нюанс в случае обычной установки не играет роли и можно добавлять основной диск для установки ОС после того как подключили ISO_DISK. просто понимать порядок загрузки с дисков.
#vmware
список ограничений для esxi 6.0+
https://configmax.vmware.com/guest?vmwareproduct=vSphere&release=vSphere%206.7&categories=1-0
оказывается нельзя больше 10 NIC к виртуалке присоединять О_о
#esxi #vmware
https://configmax.vmware.com/guest?vmwareproduct=vSphere&release=vSphere%206.7&categories=1-0
оказывается нельзя больше 10 NIC к виртуалке присоединять О_о
#esxi #vmware
Vmware
VMware Configuration Maximum tool
This Configuration Maximums tool provides the recommended configuration limits for VMware products. When you configure, deploy and operate your virtual and physical equipment, it is highly recommended you stay at or below the maximums supported by your product.…
накатал модуль для создания виртуальных машин в vsphere. мб кому пригодится
https://github.com/bykvaadm/terraform-modules/tree/master/vsphere-virtual-machine
#terraform #vmware
https://github.com/bykvaadm/terraform-modules/tree/master/vsphere-virtual-machine
#terraform #vmware
GitHub
terraform-modules/vsphere-virtual-machine at master · bykvaadm/terraform-modules
Contribute to bykvaadm/terraform-modules development by creating an account on GitHub.
Тупняк длинною в пару часов дебага
Когда создаете виртуалку терраформом методом клонирования из шаблона (vsphere), переносятся не все свойства исходного шаблона. Так, например, свойство firmware по-умолчанию в терраформе принимает значение "bios". А у вас, например, должно быть efi, в результате виртуалка не грузится, хотя если склонировать из шаблона руками - все ок. Так что некоторые вещи нужно все равно принудительно задавать руками - забирать из data или просто прописывать в явном виде. Такие дела....
#vmware #terraform #windows
Когда создаете виртуалку терраформом методом клонирования из шаблона (vsphere), переносятся не все свойства исходного шаблона. Так, например, свойство firmware по-умолчанию в терраформе принимает значение "bios". А у вас, например, должно быть efi, в результате виртуалка не грузится, хотя если склонировать из шаблона руками - все ок. Так что некоторые вещи нужно все равно принудительно задавать руками - забирать из data или просто прописывать в явном виде. Такие дела....
#vmware #terraform #windows
решение проблемы с Application-Aware снапшотами в vmware и win server
http://bit.ly/37nPIAD
#vmware #windows
http://bit.ly/37nPIAD
#vmware #windows
Forwarded from StorageTalks
Кратко о том, что нового в vSphere 7 Core Storage.
#VMware #NVMe
https://blogs.vmware.com/virtualblocks/2020/03/10/vsphere-7-core-storage/
#VMware #NVMe
https://blogs.vmware.com/virtualblocks/2020/03/10/vsphere-7-core-storage/
Virtual Blocks Blog
What’s New in vSphere 7 Core Storage
The wait is over! Learn about what's new in vSphere 7 core storage, including interoperability features, in this informative post.
Продолжаем накидывать ресурсы на лету в vmware
Про диск (добавление, расширение) я уже писал, про камень тоже недавно, в этот раз про память. У vmware есть на эту тему kb - можете прочитать там, я вывел из этого более короткую форму:
Про диск (добавление, расширение) я уже писал, про камень тоже недавно, в этот раз про память. У vmware есть на эту тему kb - можете прочитать там, я вывел из этого более короткую форму:
for num in $(grep offline /sys/devices/system/memory/*/state | grep -oP '\d+'); do echo online > /sys/devices/system/memory/memory${num}/state; doneenjoy! #vmware #linux #hotadd
релизнул новую версию модуля для создания вм в vsphere через terraform
https://github.com/bykvaadm/terraform-modules/tree/master/vsphere-virtual-machine
из новенького:
- 3 типа машин (винда, линукс, болванка)
- ресурсы в k8s для автоматической постановки на мониторинг в prometheus через k8s sd
- добавлены различные ресурсы из оригинального модуля
З.Ы. ридми ущербен, да.
#vmware #terraform
https://github.com/bykvaadm/terraform-modules/tree/master/vsphere-virtual-machine
из новенького:
- 3 типа машин (винда, линукс, болванка)
- ресурсы в k8s для автоматической постановки на мониторинг в prometheus через k8s sd
- добавлены различные ресурсы из оригинального модуля
З.Ы. ридми ущербен, да.
#vmware #terraform
Акт 2: "Ынтырпрайз"
Переходим снова в интерфейс вцентра и отсоединяем диск от виртуалки в которой работали и от виртуалки-родителя - просто удаляем из hardware полностью диск (ну не удаляя его с хранилища естественно). Говорить про политику решений в ынтырпрайзе можно много, и этот случай яркое тому доказательство. Нельзя просто так взять и через интерфейс уменьшить размер диска. Поэтому что? конечно же консоль. Логинимся по ssh на сервер который имеет доступ к хранилищу где лежит наш диск.
1. Открываем файл
2. Остался последний штрих, диск нужно уменьшить в размере физически с помощью конвертирования:
мы копируем диск при этом новый файл получит реальный размер в 50Gb а не в 100Gb, и в данном случае прогресс остановится на 50% т.к. сократили в 2 раза.
Теперь у нас со стороны vmware действительно будет диск размером 50Gb в тонкой провизии, а внутри вм будет раздел ~50Gb.
#vmware
Переходим снова в интерфейс вцентра и отсоединяем диск от виртуалки в которой работали и от виртуалки-родителя - просто удаляем из hardware полностью диск (ну не удаляя его с хранилища естественно). Говорить про политику решений в ынтырпрайзе можно много, и этот случай яркое тому доказательство. Нельзя просто так взять и через интерфейс уменьшить размер диска. Поэтому что? конечно же консоль. Логинимся по ssh на сервер который имеет доступ к хранилищу где лежит наш диск.
1. Открываем файл
vi <vm-name>.vmdkищем строчку
RW 209715200 VMFS "<vm-name>.vmdk"и меняем число на количество блоков нашего диска. Диск у нас был 100, должен стать 50, поэтому здесь можно просто разделить число пополам: 209715200/2 или пойти по пути вычислений - взять наш последний блок и прибавить один: 104857599+1 или полностью: (50*1024*1024*1024)/512 = 104857600.
2. Остался последний штрих, диск нужно уменьшить в размере физически с помощью конвертирования:
мы копируем диск при этом новый файл получит реальный размер в 50Gb а не в 100Gb, и в данном случае прогресс остановится на 50% т.к. сократили в 2 раза.
vmkfstools -i <vm-name>.vmdk -d thin shrunk-<vm-name>.vmdkПодменяем старый диск на новый
vmkfstools -E <vm-name>.vmdk original-<vm-name>.vmdk3. Подцепляем обратно к виртуалке новый диск (со старым именем) и запускаем vm
vmkfstools -E shrunk-<vm-name>.vmdk <vm-name>.vmdk
Теперь у нас со стороны vmware действительно будет диск размером 50Gb в тонкой провизии, а внутри вм будет раздел ~50Gb.
#vmware