2.10. 动态分区示例
使用 Anaconda kickstart 模板,以下部分指示 Anaconda 将整个磁盘清除,自动分区,将一个分区增大到最大大小,然后继续执行置备过程中的下一个事件序列:
zerombr
clearpart --all --initlabel
autopart <%= host_param('autopart_options') %>
动态分区由安装程序执行。因此,您可以编写自己的规则来指定如何根据节点的运行时信息对磁盘进行分区,例如磁盘大小、驱动器数、厂商或制造商。
如果要置备服务器并使用动态分区,请将以下示例添加为模板。当包含 192.168.1.0/24Dynamic 条目时,模板的内容会加载到 %pre shell scriplet 中,并创建一个 /tmp/diskpart.cfg,然后包含在 Kickstart partitioning 部分。
#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