Это не vSphere. Это система управления облаком на vCore или KVM'ах.
Документация https://basistech.ru/docs/dynamix/
Визардовая/GUI процедура инсталляции не реализована, на выбор:
Героическая самостоятельная установка по install-guide 210 стр
Либо: Разворачивание и расширение системы производят инженеры вендора (Professional Services)
Manage = 3-головый кубернетовский кластер на железных хостах (контроллерах),
весь управляющий софт, базы, GUI реализован как pod'ы этого кластера.
High Avalability обеспечивает manage-кластер, должен иметь доступ к IPMI
всех хостов системы. Необходим (poweron/poweroff) как гарантия от split-brain.
Стораджи для хранения дисков VM/images/cdroms/snapshots -
на iscsi/fc СДХ-шках. NFS/SAMBA - недоступны.
Опционально: софтверный кластерный распределенный сторадж DES на нескольких
выделенных хостах.
Используется либо гипервизор KVM, либо собственный - Basis.vCore
Хосты виртуализации - разбиты на один или несколько Locations("кластера")
IP связность: manager-кластер видит все KVM-хосты, DES-хосты, IPMI-хостов, СХД
KVM-хосты должны видеть друг друга по сетям: vxlan-backplane, livemigration
ExternalNetwork(public)
Storage связность: KVM должны видеть "свои" LUN по fc или iscsi
GUI недоделан и активно допиливается, зато реализован полнофункциональный Web-RestAPI.
Многие действия по администрированию приходится частично делать через GUI и
частично через API - и это (пока) нормально. С каждой версией быстро
пополняется и развивается функциональность. Текущая версия 4.5 (середина 2026)
Новое в 4.4.0
Новое в 4.5.0 (весна 2026)
Basic Dynamix Standart # самодельное "маленькое облако" на vCore без vApp, без k8
hypervisor: Basis.vCore manage: Basis.vControl
Basic Dynamix Enterprise 4.1 # большое облако с vApp, k8 и оркестрацией
hypervisor: vCore,Alt,Astra,Ubunta manage: Basis.DECORT auth: Basis.decs3o
Basic Dynamix Cloud Control # провайдерское облако с билингом и security
hypervisor: vCore,Alt,Astra,Ubunta manage: Basis.DECORT+??? auth: BVS | Basis.decs3o
SEP = подключение к СХД, на подключенном СХД формируются storage pools, pool == аналог DataStore
Типы SEP
DES aka SDS aka OpenStorage - софтверный кластерный СХД на выделенных серверах
с собственным протоколом доступа
SHARED (aka VMFS over LVM) - pool = 1 или N LUN собранные в LVM-VG,
pool блочный = каждый vm-диск отдельный lvolume
pool файловый = каждый vm-диск файл в XFS на общем огромном lvolume
LOCAL (тот же SHARED но с LVM на локальных дисках)
DRIVER (aka автоматическое изготовление и презентация RDM СХД
к которой известно API управления = TATLIN, Dorado, Hitachi, uStore
- pool = дисковая группа/пул в СХД -
vm-диск = LUN (по API: create, present, snapshot)
SEP типа SHARED или LOCAL
У SHARED LUN'ы видны всем хостам, у LOCAL LUN'ы видны одному хосту.
Содержит несколько pool, каждый pool == отдельная VG из одного или нескольких LUN(pvolume)
multipath -ll # посмотреть конфигурацию mulxtipas-дисков
vgdisplay -v # структуру LVM
lvdisplay -m # списки и расположение lvol
pool бывают: "allocation_type": "block" (для RAW) и "file" (для тонких qcow2)
pool01 "block" ~~~ VGpool1 для RAW vm-дисков - каждый vm-диск отдельный logical-volume
vmdisk1 == VGpool01/lvol1
vmdisk2 == VGpool01/lvol2
pool02 == /dev/sepname_pool02/
/dev/sepname_pool02/compute-32-bootdisk-28
/dev/sepname_pool02/compute-11-bootdisk-29
/dev/sepname_pool02/image-6
pool03 "file" ~~ для дисков типа QCOW2 - в VG один огромный lvol, форматирован под XFS
каждый vm-диск -- файл формата qcow2 внутри этой XFS
Доступ к хранящимся файлам:
stornode# ls -al /mnt/pool/templates/ # имаджи
stornode# ls -al /mnt/pool/compute-* # attached disks
stornode# ls -al /mnt/pool/disk01.raw # unattached disks
stornode# ls -al /mnt/pool/volumes/volume_*.raw
Если консоль ВМ не показывается (ошибка) - это из-за самоподписанного cert.
Зайти броузером на https://novnc-dynamix.basis.address/ и разрешить сертификат
Если консоль обрезает нижние строки на экране, выполнить "вслепую" команду
stty rows 33 cols 80 # а затем подогнать правильные габариты окна
Просто image. Закачивается с файла или url на POOL
CDROM image. Позволяет "Boot from cdrom", "Insert CDROM" (/dev/sr1)
Virtual Image: Симлинк на реальный image. Персональные права и свойства
Симлинк невозможно исправить, можно только удалить/создать.
Доступность images для пользователей и cpu-нод: могут быть приписаны:
публичный, for account, for RG
all nodes, конкретные ноды (image -- > stacks)
Подготовка cloud-init для template image
which cloud-init
systemctl is-enabled cloud-init
cloud-init status --long
Конфиг для cloud-init доставляется в VM монтажом на /dev/sr0
# Т.к. в образцовой ВМ cloud-init уже сработал, перед захватом образа надо:
sudo cloud-init clean --logs
sudo cp /dev/null /etc/machine-id
sudo rm /var/lib/dbus/machine-id
rm ~user/.ssh/known_hosts
sudo shutdown -h now
# и эту выключенную ВМ клонировать в Template Image
# Пример cloud-init-ных метаданных для создания ВМ
{
"chpasswd": {"expire": false},
"runcmd": [
"echo 'Hello, World!' > /hello.txt",
"(hostname; ip a) > /var/www/html/index.html",
[ "udevadm", "control", "-R" ]
],
"ssh_pwauth": true
users:
- hashed_passwd: c7LHiT8KJ2Z8E
lock-passwd: false
name: user2
shell: /bin/bash
ssh-authorized-keys: ''
sudo: ALL=(ALL) NOPASSWD: ALL
}
############## конец примера ############
# DES hashed_password получают так: salt=c7 password=DerParol
echo "$password" | openssl passwd -salt "$salt" -stdin
VNF - виртуальный роутер на базе служебной VM с VyOS (1vcpu+1Gb)
External Network - (aka VLAN-портгруппa)
Virtual=true - не создается VNF (statical IP via cloud-init)
Virtual=false - создается VNF (он будет раздавать IP по dhcp)
DPDK ~ как ExternalNet (но пакеты обрабатываются без interrupt, через polling)
External Networks и DPDK-сети подключают на РАЗНЫЕ бриджи с РАЗНЫМИ аплинками
DPDK оптимален для очень высокого трафика, и неоптимален для среднего/мелкого
Trunk -- (aka портовая группа для виртуальных интерфейсов в режиме-trunk)
ViNS Internal Network - (виртуальная сеть over VXLAN)
Автоматически будет создан личный VNF (для DHCP и routing+NAT)
Сетевое свойство Ресурсных групп: Public/Private = какие IP получат ее VM
RG с Public == ВМ втыкаят в external-network и выдают внешние IP
RG с Private == ВМ втыкают в ViNS, выдают внутренние IP, роутят их в интернет (с NAT)
ПРИВАТНАЯ СЕТЬ - собирается из двух сеток
[ NAT , DHCP ]
...ViNS...--[VNF(VMrouter)]-- ...ExternalNetwork...
/ | \
VM VM VM
Виртуалки получают внутренние IP в ViNS по dhcp от VNF,
и им же NATятся во внешнюю сеть
ПУБЛИЧНАЯ СЕТЬ - VM-ки просто втыкаются во внешнюю сеть
ExternalNetwork
/ | \
VM VM VM
Виртуалки получают внешние IP в ExternalNetwork
DHCP может быть внешний(железный virt=true) или собственный на VNF(virt=false)
если RG вместе с сетью Private - ee VNF штекеруется в ExNet и роутит туда
если делать ViNS самостоятельно, она не подключается к ExtNet, но можно
подключить через API /restmachine/cloudbroker/vins/extNetConnect
В каждой RG дают подключить к ExtNet только один ViNS (остальным код 400)
сеть внутри RG - доступна VM этой RG
сеть внутри Account - доступна VM всех RG этого эккаунта
С любой контрол-ноды можно управлять административным кубер-кластером
sudo kubectl get node,pod,ns
С контроллера на stor и cpu ноду можно заходить беспарольным ssh
d-energy@ctrl2:~$ sudo ssh cpu2
Регенерация протухших сертификатов kubernetes basis dynamix
NB: Диалект, проверено только в kubere для Basis Dynamix!
# подробности про сертификат
openssl x509 -text -noout -in /etc/kubernetes/pki/apiserver.crt
mkdir /etc/kubernetes/pki/backup # бэкапим старые, генерим новые
mv /etc/kubernetes/pki/apiserver* /etc/kubernetes/pki/backup
mv /etc/kubernetes/pki/front-proxy-client.* /etc/kubernetes/pki/backup
# в /root/kubeadm-init.yaml IP-адреса членов kube-кластера
kubeadm alpha phase certs all --config /root/kubeadm-init.yaml
# Генерим админский конфиг на каждом контроллере
kubeadm alpha phase kubeconfig admin --config /root/kubeadm-init.yaml
cp /etc/kubernetes/admin.conf cd ~/.kube/config
# рестарт api-сервера
docker ps -q -f 'name=k8s_kube-apiserver*' | xargs docker rm -f
systemctl restart kubelet
kubeadm alpha phase kubeconfig controller-manager --config /root/kubeadm-init.yaml
kubeadm alpha phase kubeconfig kubelet --config /root/kubeadm-init.yaml
kubeadm alpha phase kubeconfig scheduler --config /root/kubeadm-init.yaml
docker ps -q -f 'name=k8s_kube-scheduler*' | xargs docker rm -f
docker ps -q -f 'name=k8s_kube-controller*' | xargs docker rm -f
systemctl restart kubelet
kubectl get pods -n kube-system
kubectl delete -n kube-system pod kube-flannel-ds-XXXX
kubectl delete -n kube-system pod kube-proxy-XXXX
kubectl scale --replicas=0 deployment/registry
kubectl get deploy | grep -v NAME | cut -d' ' -f1 | xargs kubectl scale --replicas=0 deployment
kubectl get statefulset | grep -v NAME | cut -d' ' -f1 | xargs kubectl scale --replicas=0 statefulset
kubectl scale --replicas=1 deployment/registry
kubectl get statefulset | grep -v NAME | cut -d' ' -f1 | xargs kubectl scale --replicas=3 statefulset
kubectl get deploy | grep -v NAME | cut -d' ' -f1 | xargs kubectl scale --replicas=1 deployment
systemctl restart decort_jsagent
/etc/network/interfaces.d/* backplane1.conf mgmt.conf public.conf
# ovs-vsctl show
######### ctrl1 #############################
Bridge backplane1
Port bond-backplane1 Interface eth3 Interface eth2
===============================
Port backplane1 Interface backpla tag: 2361 type: internal
Port mgmt Interface mgmt tag: 2362 type: internal
Port public Interface public tag: 2364 type: internal
######### cpu1 #############################
Bridge backplane1
Port eth4 Interface eth4
===============================
Port backplane1 Interface backplane1 tag: 2361 type: internal
Port mgmt Interface mgmt tag: 2362 type: internal
Port storage Interface storage tag: 2363 type: internal
Port vxbackend-2366 Interface vxbackend-2366 type: patch options: {peer=backplane1-2366}
Port ext-093a-2362 Interface ext-093a-2362 tag: 2362 error: "(No such device)"
Port ext-093c-2364 Interface ext-093c-2364 tag: 2364 error: "(No such device)"
Bridge vxbackend
Port vxbackend Interface vxbackend type: internal
Port backplane1-2366 Interface backplane1-2366 type: patch options: {peer=vxbackend-2366}
Популярность: 22, Last-modified: Thu, 20 Aug 2026 12:19:26 GmT