Это не 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)


У 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)


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



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