Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)

  • État Nouveau
  • Pourcentage achevé
    0%
  • Type Anomalie
  • Catégorie Services locaux → VM
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Haute
  • Priorité Très Basse
  • Basée sur la version 4.9.2
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes 1
  • Privée
Concerne le projet: Freebox Server (Ultra V9/ Pop V8/ Delta V7 / Revolution V6 / Mini 4K)
Ouverte par itanium - 10/04/2025
Dernière modification par itanium - 15/04/2025

FS#40222 - [WORKAROUND] Redimensionnement disque VM (Ultra / Delta) impossible

Bonsoir,

il est impossible de déployer et redimensionner ou redimensionner les VM existante depuis la mise à jour 4.9.2. L’erreur “Impossible de redimensionner le disque : Taille trop petite” apparaît.

Le problème n’est pas l’espace disque mais un bug au niveau de Freebox OS sur l’interprétation de l’espace disque. Les valeurs ‘Taille actuelle” et “Espace occupé sur le disque” sont HS.

Le problème est rencontré sur Delta et Ultra. Navigateurs testés : Safari / Edge / Firefox. Suppression du cache. Reset d’une Box (Delta) à zero pour tester.

Export avant boot du disque QCOW2, import sur un serveur avec KVM et redimensionnement avec qemu-img resize puis importation sur la Freebox fonctionne. La VM prend bien en compte l’espace disque durant le boot. Freebox OS reste “planté” sur la taille du disque.

EDIT 2025-04-15 WORKAROUND ICI : https://https://dev.freebox.fr/bugs/task/40222#comment188754

Merci nbanba

nbanba a commenté le 11.04.2025 07:28

Bonjour

Il semble y avoir en effet un souci:

$ vm_listdisk /FBX24T/box-vm
			VIRTUAL MACHINE DISK LIST (qcow2, raw, iso, img): 
----------------------------------------------------------------------------------------------------------
0: 	idx: 2  	size: 2585 M	virt: 2048 M	20211124-17:40:35	name: 14RV-FSRV-00.qcow2
1: 	idx: 4  	size: 10 G	virt: RUNNING	20250411-09:14:00	name: 14RV-FSRV-01.qcow2
2: 	idx: 6  	size: 21 G	virt: RUNNING	20250411-09:14:06	name: 14RV-FSRV-02.qcow2
3: 	idx: 8  	size: 2585 M	virt: 2048 M	20230403-15:06:38	name: 14RV-FSRV-03.qcow2
4: 	idx: 10  	size: 2585 M	virt: 2048 M	20211124-17:53:20	name: 14RV-FSRV-04.qcow2
5: 	idx: 12  	size: 2585 M	virt: 2048 M	20211124-17:57:52	name: 14RV-FSRV-05.qcow2
6: 	idx: 14  	size: 2585 M	virt: 2048 M	20211124-18:01:22	name: 14RV-FSRV-06.qcow2
7: 	idx: 16  	size: 9803 M	virt: 2048 M	20250102-16:28:58	name: 14RV-FSRV-07.qcow2
8: 	idx: 18  	size: 2585 M	virt: 2048 M	20221124-19:06:10	name: 14RV-FSRV-08.qcow2
9: 	idx: 20  	size: 2770 M	virt: 2048 M	20250102-16:31:10	name: 14RV-FSRV-09.qcow2
10: 	idx: 22  	size: 6085 M	virt: 2048 M	20240329-11:30:49	name: 14RV-FSRV-10.qcow2
11: 	idx: 24  	size: 2585 M	virt: 2048 M	20220516-17:35:42	name: 14RV-FSRV-11.qcow2
12: 	idx: 25  	size: 192 K	virt: 2048 M	20220516-18:18:37	name: 14RV-FSRV-13.qcow2
13: 	idx: 27  	size: 192 K	virt: 2048 M	20220516-18:24:56	name: 14RV-FSRV-14.qcow2
14: 	idx: 28  	size: 192 K	virt: 2048 M	20220516-18:28:27	name: 14RV-FSRV-15.qcow2
15: 	idx: 29  	size: 192 K	virt: 2048 M	20220516-18:31:45	name: 14RV-FSRV-16-ng.qcow2
16: 	idx: 30  	size: 8869 M	virt: 2048 M	20250323-21:03:12	name: 14RV-FSRV-16.qcow2
17: 	idx: 32  	size: 192 K	virt: 2048 M	20240402-15:28:27	name: 14RV-FSRV-17.qcow2
18: 	idx: 34  	size: 192 K	virt: 2048 M	20240325-09:26:01	name: 14RV-FSRV-18.qcow2
19: 	idx: 35  	size: 192 K	virt: 2048 M	20240325-12:33:28	name: 14RV-FSRV-19.qcow2
20: 	idx: 36  	size: 9551 M	virt: RUNNING	20250411-09:14:01	name: 14RV-FSRV-20.qcow2
21: 	idx: 39  	size: 192 K	virt: 2048 M	20240325-12:36:37	name: 14RV-FSRV-119.qcow2
22: 	idx: 40  	size: 192 K	virt: 2048 M	20220518-00:28:16	name: 14RV-FSRV-133.qcow2

La taille 'virt:' ici n'est pas 2048M mais 30G

Je lance un resize: de taille 40*1024*1024*1024 ⇒ On devrait lire après resize:
virt: 40 G

$ vm_resizedisk disk_shrink=0 disk_path=/FBX24T/box-vm/14RV-FSRV-19.qcow2 size=$((40*1024*1024*1024))

resizedisk task #0 had been sucessfully created. Waiting for task #0 to complete...
task_status: {"success":true,"result":{"id":0,"type":"resize","error":false,"done":true}}
operation completed, deleting finished task #0: {"success":true} 

----------------------------------------------------------------------------------------------------------
19: 	idx: 35  	size: 256 K	virt: 4096 B	20250411-09:16:51	name: 14RV-FSRV-19.qcow2

Et on lis: virt: 4096 B

⇒ On recommence avec 400 GB:

$ vm_resizedisk disk_shrink=0 disk_path=/FBX24T/box-vm/14RV-FSRV-19.qcow2 size=$((400*1024*1024*1024))

resizedisk task #1 had been sucessfully created. Waiting for task #1 to complete...
task_status: {"success":true,"result":{"id":1,"type":"resize","error":false,"done":true}}
operation completed, deleting finished task #1: {"success":true} 

----------------------------------------------------------------------------------------------------------
19: 	idx: 35  	size: 256 K	virt: 4096 B	20250411-09:18:23	name: 14RV-FSRV-19.qcow2

On lis toujours virt: 4096 B !

Cordialement
nbanba

nbanba a commenté le 11.04.2025 07:31

Bonjour

PS:
les commandes de mon dernier poste (comme vm_resizedisk) utilisent l'API de FreeboxOS pour réaliser les actions sur la box

Cordialement
nbanba

brash a commenté le 12.04.2025 07:53

Bonjour, je rencontre exactement le même problème c'est très handicapant

Bonjour, même problème constaté aujourd'hui.
Quand je cherche à agrandir un disque dur d'une VM j'ai des valeurs existantes complétement farfelues et je ne peux rien faire.

Exemple:
haos_generic-aarch64-15.2.qcow2
qcow2
Taille actuelle : 35721466,00 Go
Taille occupée sur le disque :-2187954583,25 Go

Une solution vite SVP !

nbanba a commenté le 15.04.2025 14:00

Bonjour

@Jungledidi

La solution utilisée par le créateur du ticket semble être un workarround acceptable, je cite:

Export avant boot du disque QCOW2, import sur un serveur avec KVM et redimensionnement avec qemu-img resize puis importation sur la Freebox fonctionne.

La VM prend bien en compte l'espace disque durant le boot.

Cordialement
nbanba

@nbanba Merci. Cette solution m'est difficilement compréhensible. De plus je ne travaille pas sur linux je ne sais pas si c'est impératif.

Export/import veut dire copier/coller ?
Avez vous des références/liens des logiciels cités (KVM, qemu-img resize ?)
Désolé je pars de loin

Bonjour, j'ai le même problème en créant ou en redimensionnent ma vm .Je suppose que free n'est pas prêt de faire une mise a jour . @nbanba il y aurait un moyen de le faire sous Windows ? je n'ai pas linux.

gilluc a commenté le 15.04.2025 15:42

Pareil, même problème….

et j'ai du mal avec:
Priorité Très Basse

en attente donc ….

nbanba a commenté le 15.04.2025 16:04

Bonjour

@Jungledidi

Bon je n'étais pas parti pour faire une procédure, mais voici comment j'ai procédé (lisez ce post en entier avant de commencer):

1) j'utilise une VM Freebox
2) Dans cette vm, j'install les paquets qemu-utils et qemu-block-extra

Sous Debian 12 ça donne:

sudo apt install qemu-utils qemu-block-extra

3) Puis je rend accessible le NAS de la Freebox (Partage Windows / Samba) qui héberge les images qcow2 des VM dans la VM Freebox que j'utilise.

Pour ça,

a) j'install le paquets cifs-utils:

Sous Debian 12 ça donne:

sudo apt install cifs-utils

b) je créé le fichier contenant les login et mots de passes du SHARE samba de la Freebox (remplacez par vos infos de connexions) dans la VM:

Sous Linux ça donne:

sudo mkdir -p /etc/samba
sudo cat >/etc/samba/.smbcredentials <<EOF
username=<mettre_ici_le_nom_d_utilisateur>
password=<mettre_ici_le_mot_de_passe>
domain=<mettre_ici_le_domain_souvent_WORKGROUP>
EOF

c) je créé un point de montage pour le SHARE samba de la Freebox sur la VM:

Sous Linux ça donne:

sudo mkdir -p /mnt/FBX

d) je modifie le fichier /etc/fstab en remplaçant <ip_freebox> par l'IP de la Freebox et <nom_du_share> par le nom du partage Windows (samba) du NAS de la Freebox dans la table de montage de la VM

NB: Si le nom du partage Windows (Samba) du NAS (ici '<nom_du_share>') contient un espace (par exemple "disque dur"), remplacez cet espace par '\040' ce qui donne pour "disque dur": "disque\040dur"

Sous Linux ça donne

sudo cat >>/etc/fstab <<EOF
//<ip_freebox>/<nom_du_share> /mnt/FBX cifs credentials=/etc/samba/.smbcredentials,rw,nounix,iocharset=utf8,file_mode=0666,dir_mode=0755,nofail,cache=none,x-systemd.automount,vers=3.0,user,uid=1000,gid=1000,rsize=32768,wsize=32768,mfsymlinks,_netdev 0 0
EOF

e) On recharge la table de montage dans la VM

Sous Linux ça donne

sudo systemctl daemon-reload

f) On monte le partage dans la VM

Sous Linux ça donne

sudo mount -a

Vous avez maintenant accès au contenu du NAS de la Freebox sur la VM dans le répertoire '/mnt/FBX'

4) On inspecte l'image qcow2 d'une VM présente sur le NAS de la Freebox (sauf la VM démarrée sur laquelle vous réalisez les opérations) depuis la VM avec la commande "qemu-img info":

Sous Linux pour une image nommée 14RV-FSRV-20.qcow2 présente sur le stockage de ma Freebox dans le répertoire /FBX/box-vm-nba/ et accessible depuis la VM au travers du point de montage /mnt/FBX/box-vm-nba/ ça donne

sudo qemu-img info /mnt/FBX/box-vm-nba/14RV-FSRV-20.qcow2
image: /mnt/FBX/box-vm-nba/14RV-FSRV-20.qcow2
file format: qcow2
virtual size: 30 GiB (32212254720 bytes)
disk size: 5.94 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

On constate que la taille virtuelle du disque est de 30G (virtual size: 30 GiB)

5) On va maintenant resize l'image à 60G:

Sous Linux pour une image nommée 14RV-FSRV-20.qcow2 présente sur le stockage de ma Freebox dans le répertoire /FBX/box-vm-nba/ et accessible depuis la VM au travers du point de montage /mnt/FBX/box-vm-nba/ ça donne

sudo qemu-img resize /mnt/FBX24T/box-vm-nba/14RV-FSRV-20.qcow2 60G
Image resized.

6) On vérifie (même opération qu'au point 4):

Sous Linux pour une image nommée 14RV-FSRV-20.qcow2 présente sur le stockage de ma Freebox dans le répertoire /FBX/box-vm-nba/ et accessible depuis la VM au travers du point de montage /mnt/FBX/box-vm-nba/ ça donne

sudo qemu-img info /mnt/FBX/box-vm-nba/14RV-FSRV-20.qcow2
image: /mnt/FBX/box-vm-nba/14RV-FSRV-20.qcow2
file format: qcow2
virtual size: 60 GiB (64424509440 bytes)
disk size: 5.94 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false

On constate que la taille virtuelle du disque est passée à 60G (virtual size: 60 GiB)

7) On peut maintenant configurer une VM utilisant cette image

Ce qui donne par exemple avec la library BASH de pilotage de l'API des Freebox

(ajustez évidemment les informations RAM, CPU, chemin des ISO, ports USB, cloud-init … en fonction de votre configuration)

vm_add disk_type="qcow2" vcpus="1" memory="4096" disk_path="/FBX/box-vm-nba/14RV-FSRV-20.qcow2" cd_path="/FBX/iso/arm64_ipxe.iso" os="debian" enable_screen="false" bind_usb_ports='"usb-external-type-c","usb-external-type-a"' enable_cloudinit="true" cloudinit_userdata="mon_fichier_cloud-init.yml" cloudinit_hostname="14RV-FSRV-20" name="14RV-FSRV-20"

operation completed: 
{"success":true}

VM-20 : Full details properties :

	name = 14RV-FSRV-20
	id = 20
	status = stopped
	memory = 4096
	vcpus = 1
	disk_type = qcow2
	disk_path = /FBX/box-vm-nba/14RV-FSRV-20.qcow2
	cd_path = /FBX/iso/arm64_ipxe.iso
	mac_address = ce:3c:ec:b5:f4:f0
	os = unknown
	enable_screen = false
	bind_usb_ports = ["usb-external-type-c","usb-external-type-a"]
	enable_cloudinit = true
	cloudinit_hostname = 14RV-FSRV-20
	cloudinit_userdata = ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAGEA3FSyQwBI6Z+nCSjUUk8EEAnnkhXlukKoUPND/RRClWz2s5TCzIkd3Ou5+Cyz71X0XmazM3l5WgeErvtIwQMyT1KjNoMhoJMrJnWqQPOt5Q8zWd9qG7PBl9+eiH5qV7NZ mykey@host
ssh_keys:
rsa_private: |
 -----BEGIN RSA PRIVATE KEY-----
 MIIBxwIBAAJhAKD0YSHy73nUgysO13XsJmd4fHiFyQ+00R7VVu2iV9Qcon2LZS/x
 1cydPZ4pQpfjEha6WxZ6o8ci/Ea/w0n+0HGPwaxlEG2Z9inNtj3pgFrYcRztfECb
 1j6HCibZbAzYtwIBIwJgO8h72WjcmvcpZ8OvHSvTwAguO2TkR6mPgHsgSaKy6GJo
 PUJnaZRWuba/HX0KGyhz19nPzLpzG5f0fYahlMJAyc13FV7K6kMBPXTRR6FxgHEg
 L0MPC7cdqAwOVNcPY6A7AjEA1bNaIjOzFN2sfZX0j7OMhQuc4zP7r80zaGc5oy6W
 p58hRAncFKEvnEq2CeL3vtuZAjEAwNBHpbNsBYTRPCHM7rZuG/iBtwp8Rxhc9I5w
 ixvzMgi+HpGLWzUIBS+P/XhekIjPAjA285rVmEP+DR255Ls65QbgYhJmTzIXQ2T9
 luLvcmFBC6l35Uc4gTgg4ALsmXLn71MCMGMpSWspEvuGInayTCL+vEjmNBT+FAdO
 W7D4zCpI43jRS9U06JVOeSc9CDk2lwiA3wIwCTB/6uc8Cq85D9YqpM10FuHjKpnP
 REPPOyrAspdeOAV+6VKRavstea7+2DZmSUgE
 -----END RSA PRIVATE KEY-----

8) Puis on démarre la VM

Ce qui donne par exemple avec la library BASH de pilotage de l'API des Freebox pour la VM que l'on vient de créer et qui possède l'id 20 :

vm_start 20

operation completed: 
{"success":true}

9) et on se connecte à la console série de cette nouvelle VMpour vérifier qu'elle boot bien:

Ce qui donne par exemple avec la library BASH de pilotage de l'API des Freebox pour la VM que l'on vient de démarrer et qui possède l'id 20 :

vm_console 20

Connecting Freebox websocket : wss://mafreebox.freebox.fr/api/v14/vm/20/console

Type CTRL+K to EXIT 
Welcome to GRUB!
                      GNU GRUB  version2.06-13+deb12u1

 /----------------------------------------------------------------------------\
 |*Debian GNU/Linux                                                           | 
 | Advanced options for Debian GNU/Linux                                      |
 | UEFI Firmware Settings                                                     |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |                                                                            | 
 \----------------------------------------------------------------------------/


      Utilisez les touches ^ et v pour slectionner une entre.             
      Appuyez sur Entre pour dmarrer le systme slectionn, e pour          
      diter les commandes avant de dmarrer ou c pour obtenir une          
      invite de commandes. chap pour revenir au menu prcdent.             
      L'entre slectionne sera excute automatiquement dans 5s.      

  Dmarrage de Debian GNU/Linux

Loading Linux 6.12.7-arm64 ...
Loading initial ramdisk ...
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services...
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd081]
[    0.000000] Linux version 6.12.7-arm64 (nba@deb12-lab-10e-build.lab.lan) (aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #0 SMP Fri Jan  3 17:47:25 CET 2025
[    0.000000] KASLR enabled
[    0.000000] efi: EFI v2.7 by EDK II
[    0.000000] efi: SMBIOS 3.0=0x13f8d0000 MEMATTR=0x13d20a018 ACPI 2.0=0x13c210000 MOKvar=0x13c1e0000 RNG=0x13c050018 MEMRESERVE=0x13c4f3098 
[    0.000000] random: crng init done
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x000000013C210000 000024 (v02 BOCHS )
[    0.000000] ACPI: XSDT 0x000000013C200000 000064 (v01 BOCHS  BXPC     00000001      01000013)
[    0.000000] ACPI: FACP 0x000000013C1B0000 000114 (v06 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 0x000000013C1C0000 00144C (v02 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 0x000000013C1A0000 0000AC (v04 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: PPTT 0x000000013C190000 00004C (v02 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: GTDT 0x000000013C180000 000068 (v03 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: MCFG 0x000000013C170000 00003C (v01 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: SPCR 0x000000013C160000 000050 (v02 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: DBG2 0x000000013C150000 000057 (v00 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: IORT 0x000000013C140000 000080 (v03 BOCHS  BXPC     00000001 BXPC 00000001)
[    0.000000] ACPI: SPCR: console: pl011,mmio32,0x9000000,9600
[    0.000000] ACPI: Use ACPI SPCR as default console: Yes
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x13f654240-0x13f656fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000013fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x000000013c1dffff]
[    0.000000]   node   0: [mem 0x000000013c1e0000-0x000000013c1effff]
[    0.000000]   node   0: [mem 0x000000013c1f0000-0x000000013c21ffff]
[    0.000000]   node   0: [mem 0x000000013c220000-0x000000013c4effff]
[    0.000000]   node   0: [mem 0x000000013c4f0000-0x000000013f7cffff]
[    0.000000]   node   0: [mem 0x000000013f7d0000-0x000000013f85ffff]
[    0.000000]   node   0: [mem 0x000000013f860000-0x000000013f86ffff]
[    0.000000]   node   0: [mem 0x000000013f870000-0x000000013f98ffff]
[    0.000000]   node   0: [mem 0x000000013f990000-0x000000013fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff]
[    0.000000] cma: Reserved 64 MiB at 0x00000000fc000000 on node -1
[    0.000000] psci: probing for conduit method from ACPI.
[    0.000000] psci: PSCIv1.3 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] smccc: KVM: hypervisor services detected (0x00000000 0x00000000 0x00000000 0x00000003)
[    0.000000] percpu: Embedded 34 pages/cpu s100504 r8192 d30568 u139264
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: Spectre-v3a
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: kernel page table isolation forced ON by KASLR
[    0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[    0.000000] CPU features: detected: ARM erratum 1742098
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
...
14RV-FSRV-20 login: 

10) Une fois login dans cette nouvelle VM, on vérifie que la taille du disque est bien 60G:

sudo fdisk -l /dev/vda | grep GiB
Disk /dev/vda: 60 GiB, 64424509440 bytes, 125829120 sectors

L'opération à fonctionné, le disque vu par la VM fait bien 60G au lieu des 30G avant resize

PS:

- Si vous cherchez la library BASH, vous trouverez les instructions d'installation, de configuration et d'usage sur le wiki du projet:
https://github.com/nbanb/fbx-delta-nba_bash_api.sh/wiki

- La doc d'installation en Français:
https://github.com/nbanb/fbx-delta-nba_bash_api.sh/wiki/%5BFRENCH-QUICK-START%5D-Quick-Start-en-Fran%C3%A7ais

- Si vous utilisez Windows 10 ou Windows 11, la doc pour utiliser la library BASH sur votre machine:
https://github.com/nbanb/fbx-delta-nba_bash_api.sh/wiki/I-HAVE-A-WINDOWS-COMPUTER-%E2%80%90-NO-BASH

En espérant que ça vous soit utile

Cordialement
nbanba

nbanba a commenté le 15.04.2025 16:23

Bonjour

@itanium

Que pensez vous d'éditer votre ticket et de mettre le lien vers ce poste comme WORKARROUND ?

Par exemple en tête du ticket mettre:

[EDIT 2025-04-15]
WORKARROUND ICI : https://dev.freebox.fr/bugs/task/40222#comment188754 [/EDIT/]

Cordialement
nbanba

brash a commenté le 15.04.2025 18:21

Merci pour la solution proposé @nbanba néanmoins que de choses à faire alors qu'en temps normal on pouvait en 3 click changer la taille de la VM. J'espère que malgré la priorité très basse nous aurons rapidement un correctif de ce bug apparu avec les dernières maj

merci @nbanba , bon il est clair que l'on va y passer un moment . Dire que je m'étais offert des disques dur pour la freebox pour me monter un server jellyfin a la place de mon nas . @brash on est pas prés d'avoir une mise jour .

Merci @nbanba, vraiment. Mais ça a l’air coriace pour un profane comme moi.
Malgré l’urgence je n’ai pas 1 journée à passer pour contourner le probleme dont j’espère une résolution rapide de la part de free. J’ai ma domotique qui est bloquée. Je ne comprends pas qu’on ne puisse pas retrofiter les update du serveur. Il y a quand même de gros bugs des fois !

itanium a commenté le 15.04.2025 19:28

@nbanba Merci pour le tuto, j'ai édité le ticket.

Pour simplifier à partir de l'étape 7 :

Une fois le disque bien redimensionné (fin étape 6), vous pouvez éteindre la VM qui ne servira plus (pour le moment ?).

Ensuite dans Freebox OS vous pouvez directement démarrer la VM qui a son disque de redimensionné. Connectez vous dessus et suivez l'étape 10 du tuto.

PS: Certaines distribution gère mal cloudinit qui permet de redimensionner le disque au démarrage. Pensez à bien contrôler !

nbanba a commenté le 15.04.2025 20:36

Bonjour

Merci à tous pour vos retours… Et merci @itanium d'avoir ajouté l'EDIT.

D'autre part désolé il y a 1 coquilles au point 5 (erreur de copié/collé)

Pour rester cohérent avec les autres commandes il faut lire:

sudo qemu-img resize /mnt/FBX/box-vm-nba/14RV-FSRV-20.qcow2 60G
Image resized.

Il faut noter que j'ai beaucoup détailler la procédure pour la rendre accessible au plus grand nombre de personnes possibles, mais dans le fond c'est assez simple et peu risqué comme opération.

Dans tous les cas n'hésitez pas à faire 1 copie du fichier qcow2 avant de le resize, en cas d'erreur fatal vous n'auriez qu'a restorer ce fichier pour retrouver la VM dans son état avant resize

Aussi je trouve plutôt bien qu'on arrive à tout faire facilement en ligne de commande, c'est plutot rassurant quand à l'usage des VM sur les freebox.

J'ai volontairement bien détaillé la partie du montage du NAS dans 1 VM Freebox car cela permet d'accéder a beaucoup plus de stockage dans les VM, on n'est plus limité a la taille du fichier qcow2

Aussi je n'ai pas détaillé ce qui ce passe dans la VM après boot car mes images utilisent LVM + LUKS + BTRFS ce qui n'est pas représentatif de l'audience ici (ceux qui utilisent leurs images perso avec LVM + LUKS + BTRFS n'ont certainement pas eu besoin de ma procédure).
Si vous souhaitez que je détails sur 1 exemple en EXT4 avec une image générique, demandez ici.

Concernant la question "est-ce que c'est possible de le faire sous Windows", la réponse est relative :
- directement depuis Windows ? A priori non
- depuis 1 PC Windows 10 ou 11 ? En fait oui
Comment ?
En installant 1 linux comme 1 programme de votre machine Windows, un peu comme si vous installez Google Chrome ou Firefox, c'est extrêmement simple !
Cela vous permet ensuite également de pouvoir utiliser la library BASH de pilotage des Freebox au travers des API FreeboxOS directement depuis votre PC Windows.
J'ai fait une page détaillant la procédure sur le wiki de la library BASH

https://github.com/nbanb/fbx-delta-nba_bash_api.sh/wiki/I-HAVE-A-WINDOWS-COMPUTER-%E2%80%90-NO-BASH

Cordialement
nbanba

@nbanba, petite question il faut etre en root pour faire les commandes ? car j'ai une erreur au niveau du Fstab pour le 3-D .

nbanba a commenté le 15.04.2025 21:40

Bonjour

@rodolphest

Oui vous pouvez lancer toutes les qui commandes qui commencent par "sudo" directement en root, mais en retirant le "sudo"

Pour le point 3-d il faut copier les 3 lignes d'un coup et si le shell ne vous rend pas la main après le dernier 'EOF', tapper la touche "entrer"

Cordialement
nbanba

nbanba a commenté le 15.04.2025 21:45

Bonjour

@rodolphest

Si l'erreur persiste c'est peut être du à un autre facteur.
Dans ce cas postez le message d'erreur ici et toutes informations qui semblent anormal, on vous aidera

Cordialement
nbanba

Padrys a commenté le 15.04.2025 22:19

Au 3d, pour ceux qui se demandent pourquoi \040 ?
Parce que c'est de l'octal, en décimal ça donne 32 et 20 en hexadécimal, soit le caractère espace.
Et pareil pour la tabulation (quasiment jamais utilisé), \011, parce que 9 en décimal, c'est TAB.

nbanba a commenté le 16.04.2025 08:25

Bonjour

@Padrys

Merci pour l'explication, vu l'audience je n'ai pas osé…

Pour ceux qu ça intéresse, voici la table que j'utilise.
http://www.physics.udel.edu/~watson/scen103/ascii.html

Cordialement
nbanba

nbanba a commenté le 16.04.2025 09:34

Bonjour

Pour ceux qui ne sont pas à l'aise avec les changements de bases et leurs applications, voici quelques explications et implications pratiques:

En fait pour convertir d'une base à une autre je pars tout le temps de la valeur Hexadécimal (ici je converti en Octal)

(10)16 = (20)8
(20)16 = (40)8
(40)16 = (100)8
(80)16 = (200)8

Après je ramène tout en binaire et c'est super simple par rapport au binaire (sans faire rentrer ici la notion "d'endianess"):

- 16 = 2^4 ⇒ pour passer du binaire à l'hexa je décale la virgule de 4 rang vers la gauche
- 8 = 2^3 ⇒ pour passer du binaire à l'octal je décale la virgule de 3 rang vers la gauche
Avec le MSB (Most Significant Bit) écrit dans l'adresse mémoire la plus grande possible du registre (="~à gauche")

REMARQUE PRATIQUE:
C'est pour ça que les ordinateurs calculent aussi vite: la majeure partie du temps ils ne font que décaler la virgule…

C'est particulièrement vrai quand on parle d'opérations en virgule flottante car on exprime chaque nombre réel (sur "|R") comme étant 1 "significand" multiplié par 1 "base" à la puissance "exponent"

exemple avec le nombre (16)10:

(16)10 = 16(significand) * 10(base)^1(exponent)    // DECIMAL
(16)10 = 20(significand) * 8(base)^1(exponent)     // OCTAL
(16)10 = 10(significand) * 16(base)^1(exponent)    // HEXADECIMAL
(16)10 =  1(significand) * 2(base)^4(exponent)     // BINARY   
...

Et on remarque que pour compter de (0)10 à (16)10, il faut 16 nombres:
0, 1, 2, 3…9, 10, 11, …15
Donc pour compter de (0)16 à (10)16 il faut aussi 16 nombres mais on ne peut pas utiliser '10, 11, … 15' comme en base 10 car comme vu au dessus (16)10 = (10)16 donc (11)16 = (10)16 + (1)16 = (160)10 + (16)10 = (176)10 et non (161)10

NB: En hexadécimal, on écrit donc les nombres de 0 à 16 comme suit:
0, 1, 2, …9, A, B, C, D, E, F

C'est pour ça que l'on retrouve des lettres dans les notations hexadécimales mais en fait c'est exactement pareil qu'en base 10, c'est juste des nombres ou (A)10 = 10 et (F)10 = 15

IMPLICATION PRATIQUE AVEC LES ADRESSES IPv4 / IPv6:

Si vous y réfléchissez (en posant le calcul en binaire avec les 0 et les 1) c'est pour cela qu'une adresse IPv4 en 32bits découpée en 8bits.8bits.8bits.8bits s'écrit de la manière:

<0..255>.<0..255>.<0..255>.<0..255>

avec 255 le 256è nombre (on commence à 0) soit 2^8

Une adresse IPv6 sur 128 bits va se découper en
16bits:16bits:16bits:16bits:16bits:16bits:16bits:16bits et s'écrit de la manière:

<(0..65535)10>:<(0..65535)10>:<(0..65535)10>:<(0..65535)10>:<(0..65535)10>:<(0..65535)10>:<(0..65535)10>:<(0..65535)10>

soit en base16 (hexa):

<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>:<(0..FFFF)16>

soit la notation que vous connaissez déjà:

<0..FFFF>:<0..FFFF:><0..FFFF>:<0..FFFF>:<0..FFFF>:<0..FFFF>:<0..FFFF>:<0..FFFF>

Voilà sans faire un cours de maths, j'espère que ces "notations" et "changements de bases" seront un peu plus claires pour tous

Cordialement
nbanba

Padrys a commenté le 16.04.2025 10:05

J'aime bien le fameux 1+1=10
Ça fait encore parfois son effet :)

nbanba a commenté le 16.04.2025 11:35

Bonjour

@Padrys

Je n'avais pas osé…!
Après désolé je ne suis pas prof de maths ni expert en changements de base et encore moins expert de l'algèbre de BOOL, mais sans rentrer dans les détails ce sujet bien que commun est difficile à appréhender par beaucoup ce qui le rend moins facile à vulgariser sans écrire les colonnes de 0 et de 1 en binaire puis sans réaliser les "fameux décalages de virgule vers la gauche", avec ici le MSB (Most Significand Bit) à gauche que je pourrais vulgarisé comme: = "Bit de Poids le ➕️ Fort dans le sens de la lecture occidentale".
En fait ce n'est pas vraiment "à gauche", ça dépend de l'endianness du système , et je pense qu'une meilleure représentation de cette vulgarisation serait:

un décalages de virgule dans le sens allant de l'adresse mémoire la plus petite du registre de données utilisée pour stocker le Bit de poid le ➕️ faible du nombre vers l'adresse mémoire la plus grande du registre de données utilisée pour stocker le Bit de poid le ➕️ fort du nombre, enfin pour un système de type "Little Endian" et le contraire pour un système de type "Big Endian"…

À noter que ce décalages de virgule vers la gauche est mathématiquement équivalent à une division soit de manière fondamentale à une multiplication (par l'inverse) ce qui explique pour partie la vitesse de calcul des ordinateurs et des calculatrices numériques à notre disposition depuis 40 ans.

Également à noter:
À première vue, les changements de bases peuvent sembler complexes mais en réalité c'est une opération simple que nous faisons tous plusieurs fois par jours notamment quand on regarde l'heure qui utilise la base 60 (sexagésimal) et non la base 10 (décimal)

Cordialement
nbanba

nbanba a commenté le 16.04.2025 19:09

Bonjour

@itanium

Le problème est rencontré sur Delta et Ultra. Navigateurs testés : Safari / Edge / Firefox. Suppression du cache. Reset d’une Box (Delta) à zero pour tester.

Le problème est également constaté depuis l'API FreeboxOS (utilisée par FreeboxOS) ⇒ pas liés aux navigateurs mais comme vous l'avez précisé c'est du à un bug

Cordialement
nbanba

HenJa586 a commenté le 17.04.2025 07:03

@nbanba Tout simplement bravo.
Bon soyons franc je suis pas adepte de Linux ou de haut niveau en code. Ma vm est juste pour jellyfin avec un Nas derrière.

Je vais attendre que le correctif sorte et si j'ai à refaire ou agrandir ma vm je ferrais ma technique remontée dans mon post https://dev.freebox.fr/bugs/task/40235#comment188800

@HenJa586 Merci de ton post sur l'autre ticket.
Si je comprends bien (peut-être pas..) tu dis qu'en créant une VM avec l'option 3 ("Sélectionner une image de disque virtuel existante" ?) on peut demander une taille de disque qui n'a pas l'air d'être prise en compte mais qui l'est en fait ? C'ets bioen ça ?
parceque j'ai essayé, j'arrive bien à créer la machine mais à aucun moment on me donne l'option de changer de taille de disque ? Je n'ai pas la capture d'écran que tu montres. Ou j'ai pas compris la manip ?
Ps: Je suis sur serveur delta

nbanba a commenté le 17.04.2025 11:20

Bonjour

@tous:

Je recommande à tous de travailler en ligne de commande et non dans des interfaces visuelles ou graphiques (on comprend mieux ce que l'on fait et les étapes pour y arriver)

En fait c'est très simple en ligne de commande encore + que de cliquer sur 1 lien ou de remplir 1 formulaire HTML… puis de le valider…

J'ai l'impression que l'utilisation de l'interface visuelle offusque "comment ça fonctionne" et au final empêche ceux dont ce n'est pas le métier de contrôler correctement leurs systèmes.

Si besoin d'aide, demandez…

Cordialement
nbanba

HenJa586 a commenté le 17.04.2025 11:57

Jungledidi c'est presque ça.

Il faut créer une vm temporaire avec l'option 1 si tu veux boot avec image de la freebox ou 2 si tu veux installer l'os avec un Iso.

Quand tu arrive à l'étape de choisir la taille tu valide il met erreur de redimensionnement.

Tu annule et créer ta vm final avec option 3 pour ajouter une image disque virtuel et dans les dossiers tu verra qu'il à bien créer le fichier image demander pendant la vm temporaire.

Désolé parti trop vite !
Bref merci. je vais attendre un correctif même si je suis bien embêté. en espérant qu'il arrive vite

@HenJa586: ta combine ne marche pas chez moi, pas de redimensionnement
@nbanba: encore merci, franchement. Mais quand c'est du chinois c'est compliqué (à part faire du copier/coller sans comprendre grand chose..) même si dans dans le fond j'ai la même façon de penser dans mon champs d'expertise. j'ai quand même essayé ta méthode, je bloque au fichier Samba, j'ai "credentials denied". pourtant je les ai créé pour l'occasion car je n'avais pas d’authentification jusque là.. Bref tu vois ce n'est pas gagné !

HenJa586 a commenté le 18.04.2025 09:20

Courage à toi. C'est vrai que moi j'ai créer un disque plus grand et j'ai ensuite réinstalle de base mon système (juste un serveur plex).
Si tu utilise ma technique c'est pour recréer ton os sur une image plus grande. Mais tu recommande à zéro.

HenJa586 a commenté le 18.04.2025 09:51

Je comprend pas l'histoire de Samba ?

Pour ma part, je connecte comme cela mon NAS physique et mon nvme de la freebox :

# Ajouter les entrées de montage au fichier fstab
cat «EOL » /etc/fstab
<IPNAS>/Volume_1 /mnt/nas cifs rw,user,_netdev,vers=1.0,username=*,password=*,uid=0,gid=0 0 0
<IPBox>/Interne /mnt/freebox cifs rw,user,_netdev,vers=1.0,username=*,password=*,uid=0,gid=0 0 0
EOL

# Recharger les configurations et monter les systèmes de fichiers
systemctl daemon-reload && mount -a

Oui en version 1 car j'ai un vieux NAS DNS-320B XD

nbanba a commenté le 18.04.2025 13:42

Bonjour

Oui, pour le NAS Samba on peut remplacer "username=*,password=*," dans la ligne de /etc/fstab par "credentials=/etc/samba/.smbcredentials," avec les informations de connexions dans le fichier caché /etc/samba/.smbcredentials
La methode de @HenJa586 est également valable

NB: Je vous recommande de faire une copie de sauvegarde du fichier /etc/fstab avant de le modifier, par exemple:

sudo cp -a /etc/fstab /root/fstab_backup_$(date +%Y%m%d-%H%M%S)

En cas de problèmes vous pourrez le restorer.

Dans le cadre de la méthode que j'ai détaillé plus haut, en fait on fait 2 actions:
1) on créer un fichier qui contient les informations pour se connecter au partage Windows (NAS Samba) de la Freebox
Ce fichier doit contenir 3 informations:

username=<mettre_ici_le_nom_d_utilisateur>
password=<mettre_ici_le_mot_de_passe>
domain=<mettre_ici_le_domain_souvent_WORKGROUP>

avec comme nom d'utilisateur celui que vous avez définit dans:

FreeboxOS > paramètres > avancé > Partage Windows > Utilisateur

avec comme mot de passe celui que vous avez définit dans:

FreeboxOS > paramètres > avancé > Partage Windows > Mot de passe

avec comme domain celui que vous avez définit dans:

FreeboxOS > paramètres > avancé > Partage Windows > Groupe de travail

2)
On modifie la table de montage de la VM (= le fichier /etc/fstab) en y ajoutant la ligne pour le montage du partage du NAS de la Freebox.
Si vous utilisez le fichier /etc/samba/.smbcredentials vous pouvez utiliser la commande suivante (peut être plus pratique que le `cat` proposé dans mon précédent post):

sudo bash -c "echo '//<ip_freebox>/<nom_du_share> /mnt/FBX cifs credentials=/etc/samba/.smbcredentials,rw,nounix,iocharset=utf8,file_mode=0666,dir_mode=0755,nofail,cache=none,x-systemd.automount,vers=3.0,user,uid=1000,gid=1000,rsize=32768,wsize=32768,mfsymlinks,_netdev 0 0' >>/etc/fstab"

Bien sûr en remplaçant <ip_freebox> et <nom_du_share> par l'IP de la Freebox sur votre LAN et par le nom du partage Windows publié sur le LAN par votre Freebox

Puis suivez la procédure de mon précédent post:

sudo systemctl daemon-reload
sudo mount /mnt/FBX

si vous obtenez une erreur au mount, par exemple:

mount error(16): Device or resource busy
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

c'est parfois juste cosmetique à cause d'un temps de réponse trop lent⇒ vérifiez si le SHARE est bien monté même si vous avez une erreur

Pour vérifier (Si le montage est KO, la commande ne renvoie rien):

df -hPT | grep /mnt/FBX

Chez moi ça donne:

df -hPT | grep -E '/mnt/FBX|cifs'
//10.0.80.20/FBX        cifs       22T   15T  6,8T  69% /mnt/FBX

et toujours pour contrôler on affiche la string de mount (Si le montage est KO, la commande ne renvoie rien):

sudo grep /mnt/FBX /proc/mounts 
systemd-1 /mnt/FBX autofs rw,relatime,fd=49,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=3588 0 0
//10.0.80.20/FBX /mnt/FBX cifs rw,nosuid,nodev,noexec,relatime,vers=3.0,cache=none,username=fbx,domain=MYPRIVATEDOMAIN,uid=1000,forceuid,gid=1000,forcegid,addr=10.0.80.20,file_mode=0666,dir_mode=0755,iocharset=utf8,soft,nounix,serverino,mapposix,mfsymlinks,reparse=nfs,rsize=32768,wsize=32768,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1 0 0

En dernier lieu, pour que l'accès au NAS Samba (Partage Windows) de la Freebox fonctionne, les options suivantes doivent être cochées dans FreeboxOS (value=true):

FreeboxOS > paramètres > avancé > Partage Windows > Activer SMB2/SBM3  
FreeboxOS > paramètres > avancé > Partage Windows > Activer le partage de fichiers  
FreeboxOS > paramètres > avancé > Partage Windows > Accès authentifié 

Franchement c'est simple… N'hésitez pas si vous avez besoin d'aide !

Cordialement
nbanba

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche