我正在使用 Ansible 在 Azure 上配置 RHEL VM,它是从市场映像创建的。我正在使用更大的 OS 磁盘创建 VM(128GB 与我认为图像的默认值 64GB),并希望从磁盘的未使用部分创建一个新分区。在 Ansible 中使用 parted 指令时,我可以使用 '100%' 作为part_end参数来告诉它使新分区扩展到最后,但是有没有办法告诉它在下一个未分配的位置启动新分区“点”在磁盘上(或者我需要自己弄清楚那是什么并将其传递进去)?
问问题
114 次
2 回答
1
我找到了这个解决方案:
- name: "Get partition start size of /dev/{{ item.0.vg_dev }}"
community.general.parted:
device: "/dev/{{ item.0.vg_dev }}"
unit: "MiB"
register: "device_info"
- name: "Create Partition /dev/{{ item.0.vg_dev }}"
community.general.parted:
device: "/dev/{{ item.0.vg_dev }}"
number: "{{ item.0.vg_part_num }}"
part_start: "{% if device_info.partitions is defined and device_info.partitions|length > 0 %}{{ device_info.partitions[-1].end + 1 }}MiB{% else %}0%{% endif %}"
part_end: "100%"
label: "gpt"
flags: [ lvm ]
unit: "MiB"
align: "optimal"
state: "present"
于 2021-11-07T15:15:15.710 回答
0
我忘记了我已经发布了这个。我没有尝试过上面建议的方法,但这就是我最终要做的:
- name: Get the device name for the root disk.
command: /usr/bin/realpath /dev/disk/cloud/azure_root
register: rootdev
- name: Update the GPT for the larger disk.
command: /usr/sbin/sgdisk -e {{ rootdev.stdout }} && /usr/sbin/partprobe
become: yes
become_user: root
- name: Create additional partition on extended OS disk for Kong use.
parted:
device: "{{ rootdev.stdout }}"
number: "3"
label: gpt
state: present
part_start: 69GB
part_end: 100%
part_type: primary
于 2021-11-08T16:14:00.843 回答