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 clearpart --all --initlabel part /boot --fstype ext4 --size 200 --asprimary part swap --size "$SWAP_MEMORY" part / --fstype ext4 --size 1024 --grow EOF