2.10. 动态分区示例
使用 Anaconda kickstart 模板,以下部分指示 Anaconda 擦除整个磁盘,自动分区,将分区增大到最大大小,然后继续进行置备过程中的下一个事件序列:
zerombr clearpart --all --initlabel autopart <%= host_param('autopart_options') %>
动态分区由安装程序执行。因此,您可以编写自己的规则来根据节点的运行时信息指定如何对磁盘进行分区,例如:磁盘大小、驱动器、供应商或制造商的数量。
如果要置备服务器并使用动态分区,请作为模板添加以下示例。当包含 #Dynamic
条目时,模板的内容加载到 %pre
shell scriplet 并创建一个 /tmp/diskpart.cfg
,然后包含在 Kickstart 分区部分。
#Dynamic (do not remove this line) MEMORY=$((`grep MemTotal: /proc/meminfo | sed 's/^MemTotal: *//'|sed 's/ .*//'` / 1024)) if [ "$MEMORY" -lt 2048 ]; then SWAP_MEMORY=$(($MEMORY * 2)) elif [ "$MEMORY" -lt 8192 ]; then SWAP_MEMORY=$MEMORY elif [ "$MEMORY" -lt 65536 ]; then SWAP_MEMORY=$(($MEMORY / 2)) else SWAP_MEMORY=32768 fi cat <<EOF > /tmp/diskpart.cfg zerombr yes clearpart --all --initlabel part /boot --fstype ext4 --size 200 --asprimary part swap --size "$SWAP_MEMORY" part / --fstype ext4 --size 1024 --grow EOF