Skip to content


Virtualbox virtual machine not started with VERR_VMX_IN_VMX_ROOT_MODE error

Also, in VBox.log we have:

00:00:01.479958 vmmR3LogFlusher: Terminating (VERR_OBJECT_DESTROYED)
00:00:01.605332 VMSetError: /home/vbox/tinderbox/build-VBox-7.0/svn/src/VBox/VMM/VMMR3/VM.cpp(341) int VMR3Create(uint32_t, PCVMM2USERMETHODS, uint64_t, PFNVMATERROR, void*, PFNCFGMCONSTRUCTOR, void*, VM**, UVM**); rc=VERR_VMX_IN_VMX_ROOT_MODE
00:00:01.605338 VMSetError: VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot
00:00:01.605815 ERROR [COM]: aRC=NS_ERROR_FAILURE (0x80004005) aIID={6ac83d89-6ee7-4e33-8ae6-b257b2e81be8} aComponent={ConsoleWrap} aText={VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE)}, preserve=false aResultDetail=-4011
00:00:01.605931 Console: Machine state changed to 'PoweredOff'
00:00:01.616254 Power up failed (vrc=VERR_VMX_IN_VMX_ROOT_MODE, hrc=NS_ERROR_FAILURE (0X80004005))
00:00:01.617628 GUI: UIMachineViewNormal::resendSizeHint: Restoring guest size-hint for screen 0 to 1675x975
00:00:01.617660 ERROR [COM]: aRC=E_ACCESSDENIED (0x80070005) aIID={4680b2de-8690-11e9-b83d-5719e53cf1de} aComponent={DisplayWrap} aText={The console is not powered up (setVideoModeHint)}, preserve=false aResultDetail=0
00:00:01.617696 GUI: Aborting startup due to power up progress issue detected...
00:00:01.621015 GUI: UICommon: Handling aboutToQuit request..
00:00:02.428063 GUI: UICommon: aboutToQuit request handled!

Solution:

sudo rmmod kvm_intel kvm

Posted in *nix.

Tagged with .


Чому пластинчасті теплообмінники є лідерами в енергоефективності

Сучасні промислові та комерційні системи опалення, охолодження й утилізації тепла вимагають максимального рівня енергоефективності. Одним із найкращих рішень у цій сфері є пластинчасті теплообмінники, які відзначаються високою продуктивністю, низькими експлуатаційними витратами та можливістю ефективного використання теплової енергії. У цій статті розглянемо ключові фактори, що роблять пластинчасті теплообмінники еталоном енергоефективності (читати джерело).

Як пластинчасті теплообмінники зменшують споживання енергії?

1. Оптимальна теплопередача завдяки унікальній конструкції
Теплообмінники цього типу складаються з ряду тонких металевих пластин із гофрованою поверхнею, яка створює турбулентний потік теплоносія. Це збільшує площу контакту між рідинами, підвищує коефіцієнт теплопередачі та зменшує втрати енергії.

2. Зниження теплових втрат
Завдяки щільній компоновці пластин пластинчасті теплообмінники мінімізують теплові втрати, що є ключовим фактором у промислових і комерційних системах. Ефективність досягає 90-95%, що значно перевищує показники трубчастих аналогів.

3. Економія електроенергії на насосному обладнанні
Через менший гідравлічний опір пластинчасті теплообмінники потребують менше енергії для перекачування теплоносіїв, що знижує навантаження на насоси та зменшує споживання електроенергії.

4. Компактність і зменшення витрат на монтаж
Менші габарити та вага пластинчастих теплообмінників дозволяють значно скоротити витрати на встановлення та обслуговування. Це робить їх оптимальним рішенням для підприємств, що прагнуть скоротити споживання ресурсів і оптимізувати простір.

Які технології підвищують енергоефективність пластинчастих теплообмінників?

1. Використання високоміцних матеріалів
Завдяки застосуванню нержавіючої сталі, титану та інших стійких матеріалів зменшується ризик корозії, що продовжує термін служби теплообмінника та знижує витрати на технічне обслуговування.

2. Автоматизовані системи контролю
Сучасні пластинчасті теплообмінники можуть бути оснащені системами моніторингу температури, тиску та витрати теплоносія. Це дозволяє зменшити енергоспоживання за рахунок точного регулювання робочих параметрів.

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

Де пластинчасті теплообмінники приносять найбільше енергетичної вигоди?

  • Системи опалення та ГВП – забезпечують максимальне використання теплової енергії для підігріву води та зменшують витрати на паливо.
  • Промислові процеси – скорочують втрати енергії в хімічному, харчовому та нафтохімічному виробництвах.
  • Системи охолодження та кондиціонування – знижують споживання електроенергії завдяки ефективному розподілу температурних навантажень.
  • Альтернативна енергетика – використовуються у теплових насосах та сонячних колекторах для збільшення ККД установок.

Чому варто обрати пластинчастий теплообмінник для енергозбереження?

  • Мінімальні енерговитрати на циркуляцію теплоносія.
  • Висока ефективність теплопередачі з максимальною економією ресурсів.
  • Можливість модернізації та розширення без значних витрат.
  • Довговічність і зменшення витрат на обслуговування.

Пластинчасті теплообмінники є оптимальним вибором для тих, хто прагне мінімізувати споживання енергії та підвищити продуктивність технологічних процесів. Завдяки високій ефективності, довговічності та адаптивності вони є незамінним рішенням для промисловості, комерційних об'єктів і систем альтернативної енергетики.

Posted in Misc.


How to prevent libvirt from adding iptables rules for guest NAT networks

Libvirt by default adds some firewall rules for NAT to work, but it can be a nightmare if you have our own set of NAT/forward rules - conflicts between them are very likely. To avoid this edit /etc/libvirt/qemu/networks/default.xml and set forward mode to "open" (in my case the value here was "nat").

So, the file will look like this:

<network>
  <name>default</name>
  <uuid>4dca776c-0ca2-4826-a88a-40fcf596e888</uuid>
  <forward mode='open'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:01:22:54'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
      <host mac='52:54:00:22:33:44' name='guest01' ip='192.168.122.3'/>
    </dhcp>
  </ip>
</network>

References:

  • https://bugzilla.redhat.com/show_bug.cgi?id=846810
  • https://serverfault.com/questions/456708/how-do-i-prevent-libvirt-from-adding-iptables-rules-for-guest-nat-networks

Posted in *nix.

Tagged with .


NFS share access problem from a KVM guest

Network schema describing the case

Someday I had to increase storage for an app living inside KVM guest. Considering that this KVM server run almost out of free disk space, probably, the easiest way to achieve the goal was to use NFS to utilize the other server's storage. So, after 'yum install nfs-utils' I tried to mount a share and got the surprise:

# mount.nfs 10.3.1.1:/mnt/nfs-share /mnt/nfs-storage/
Permission denied

:/ WTF?

At the same time /var/log/messages on the NFS-server shows:

Feb  5 08:44:07 nfssrv rpc.mountd[47501]: refused mount request from 10.3.1.2 for /mnt/nfs-share (/mnt/nfs-share): illegal port 11447
Feb  5 08:44:09 nfssrv rpc.mountd[47501]: refused mount request from 10.3.1.2 for /mnt/nfs-share (/mnt/nfs-share): illegal port 30047
Feb  5 08:45:22 nfssrv rpc.mountd[47501]: refused mount request from 10.3.1.2 for /mnt/nfs-share (/mnt/nfs-share): illegal port 7666
Feb  5 08:47:00 nfssrv rpc.mountd[47501]: refused mount request from 10.3.1.2 for /mnt/nfs-share (/mnt/nfs-share): illegal port 39260
Feb  5 08:57:21 nfssrv rpc.mountd[47501]: refused mount request from 10.3.1.2 for /mnt/nfs-share (/mnt/nfs-share): illegal port 57330

Fortunately, other people also had this problem and shared their knowledge here: https://serverfault.com/questions/1123448/nfs-mouting-failing-due-to-illegal-port

As far as I understood, some NAT magic (performed by libvirt) leads to source ports for NFS-connections being greater than 1023 (and NFS-daemon doesn't like this). To fix this we need to add 'insecure' option to /etc/exports file on the NFS-server (security implications we will skip for now, we just need things to work :). So it will look like:

$ cat /etc/exports
/mnt/iso        10.3.0.0/24(ro,sync,no_root_squash,no_all_squash)
/mnt/nfs-share  10.3.1.2(rw,sync,no_root_squash,no_all_squash,insecure)

Then I run 'exportfs -r' to apply the changes and after that the mount command succeeded without issues. Happy end.

Posted in *nix.

Tagged with , .