Je déploie des nœuds AMD64 avec un premier disque de 3 To avec MAAS mais je n'obtiens qu'une partition de 2 To car Curtin utilise MBR au lieu de GPT pour le partitionnement.
Curtin essaie de choisir le type de table de partition le plus approprié pour un nœud donné:
Par conséquent, le moyen le plus simple d'obtenir une table de partition GPT est de configurer le nœud pour démarrer en mode UEFI, qui est pris en charge à partir de MAAS 1.5 .
Il existe deux autres façons d'obtenir Curtin pour créer des partitions GPT:
Vous pouvez modifier la configuration de Curtin fournie par MAAS en Curtin dans /etc/maas/preseeds/curtin_userdata
inclure:
block-meta:
format: gpt
Si vous avez jusqu'à 4 partitions, vous pouvez facilement convertir les tables de partitions DOS en partitions GPT après l'installation. Curtin fait un effort pour laisser suffisamment d'espace dans le partitionnement pour permettre à la conversion de se dérouler avec succès, et à partir de r224 et après, il le garantit . La conversion peut être effectuée avec:
sgdisk --mbrtogpt <device>
J'ai essayé un certain nombre de solutions de contournement (y compris celle suggérée dans la solution de kiko) en vain.
Ce qui suit fonctionne de manière assez fiable, au moins avec MAAS 2.3.5 fonctionnant sur Xenial:
maas $USER block-devices read $nodeid
($nodeid
peut être lu à partir de l'URL sur l'interface utilisateur Web par exemple; c'est un identifiant interne de six alphanum pour le nœud)id
. Vous verrez que partition_table_type
dit obstinément "MBR"
Sudo -u postgres psql -d maasdb
update maasserver_partitiontable set table_type='GPT' where block_device_id=$block_dev_id
(remplacez `$ block_dev_id par l'identifiant que vous avez lu à l'étape 3)partition_table_type
a été mis à jour vers GPT
.Ce n'est pas particulièrement joli car le piratage directement dans la base de données de MAAS semble un peu hors limites, mais c'est la meilleure chose jusqu'à ce qu'on nous donne un moyen de le faire via une API publique. Le type d'API que j'ai en tête serait comme: maas $USER block-device update $node_id $block_device_id partition_table_type=GPT
. Cette API existe déjà et permet de mettre à jour le name
du périphérique de bloc comme documenté , mais ignore le beaucoup plus utile partition_table_type
attribut.
Remarque: si vous devez laisser de l'espace non partitionné sur le disque cible GPT, sachez que cette procédure semble déclencher une "fonctionnalité" par laquelle cet espace est absorbé par la dernière partition que vous disposez dans MAAS. Une solution de contournement consiste à créer une partition jetable et à la supprimer après le déploiement.