AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1512500
Accepted
kjtanaka
kjtanaka
Asked: 2024-05-02 10:28:58 +0800 CST2024-05-02 10:28:58 +0800 CST 2024-05-02 10:28:58 +0800 CST

MAAS:如何从一台机器导入存储布局并将其导出到其他节点?

  • 772

我想为 MAAS 上的多台计算机自定义磁盘分区的布局。我所知道的 UI 方式是 1)将“存储布局”更改为“无存储(空白)布局”,2)单击“添加分区...”以添加自定义分区。

有没有办法从一台机器导入存储布局并将其导出到其他节点,最好是通过 CLI(或 API)?

更新5/2 14:00

我已阅读如何管理分区,现在可以通过以下命令创建自定义分区。我已经接近我想要实现的目标,但这还不够完美。

maas admin partitions create <node_id> <device_id> size=512000000
maas admin partition format <node_id> <device_id> <partition_id> fstype=fat32
maas admin partition mount <node_id> <device_id> <partition_id> mount_point=/boot/efi
maas admin partitions create <node_id> <device_id> size=100000000000
maas admin partition format <node_id> <device_id> <partition_id> fstype=ext4
maas admin partition mount <node_id> <device_id> <partition_id> mount_point=/
maas admin partitions create dkrymn 56 size=<remaining_size>

我很感激任何反馈。谢谢你!

更新 5/2 15:15

我最终编写了一个满足我需求的 bash 脚本。我已将其作为答案写在下面。

maas
  • 1 1 个回答
  • 38 Views

1 个回答

  • Voted
  1. Best Answer
    kjtanaka
    2024-05-02T14:14:20+08:002024-05-02T14:14:20+08:00

    我(我自己)最终创建了一个 bash 脚本,如下所示,这足以满足我目前的需求。

    如果有人知道更好/更聪明的方法,请发表评论。谢谢你!

    #!/bin/bash
    #
    # maas_partitions_type_a.sh - deletes existing partitions and 
    # create partitons for type A machines.
    #
    
    if [ $# -ne 1 ]; then
        echo "./maas_partitions_type_a.sh <hostname>"
        exit 1
    fi
    
    MAAS_API_URL=https://my_maas.example.com:5240/MAAS/api/2.0
    maas login admin $MAAS_API_URL $(cat ~/.config/maas/api-key)
    
    : Get HOSTNAME, SYSTEM_ID, and DEVICE_ID
    HOSTNAME=$1
    SYSTEM_ID=$(maas admin machines read hostname=$HOSTNAME | jq '.[].system_id')
    SYSTEM_ID=${SYSTEM_ID//'"'}
    DEVICE_ID=$(maas admin block-devices read $SYSTEM_ID | jq '.[].id')
    
    : Clean up existing partitions
    # (Extra CAUTION: This will wipe out all partitions)
    maas admin partitions read $SYSTEM_ID $DEVICE_ID | jq '.[].id' | while read part_id; do
        maas admin partition delete $SYSTEM_ID $DEVICE_ID $part_id
    done
    
    : 512MB for /boot/efi with fat32
    PART_ID=$(maas admin partitions create $SYSTEM_ID $DEVICE_ID size=512000000| jq '.id')
    maas admin partition format $SYSTEM_ID $DEVICE_ID $PART_ID fstype=fat32
    maas admin partition mount $SYSTEM_ID $DEVICE_ID $PART_ID mount_point=/boot/efi
    
    : 300GB for / with ext4
    PART_ID=$(maas admin partitions create $SYSTEM_ID $DEVICE_ID size=300000000000| jq '.id')
    maas admin partition format $SYSTEM_ID $DEVICE_ID $PART_ID fstype=ext4
    maas admin partition mount $SYSTEM_ID $DEVICE_ID $PART_ID mount_point=/
    
    : Remaining
    maas admin partitions create $SYSTEM_ID $DEVICE_ID size=659680000000
    

    不要太勇敢,但您可以简单地在 for 循环中运行此脚本,如下所示:

    for node in node{01..32}; do
      ./maas_partitions_type_a.sh $node
    done
    
    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve