关于KickStart分区只使用特定硬盘分区
当服务器有多块硬盘时,如果有多个分区。默认不指定的情况下,KickStart会将分区分别放到各个盘上。比如第1块盘是根分区,第2块盘是交换分区,第3块盘放数据分区。这样的分法会让你很崩溃!
红帽缺陷跟踪里有记录: https://bugzilla.redhat.com/show_bug.cgi?id=679073
而且官方表示在anaconda-13.21.195-1.el6中已修正:http://rhn.redhat.com/errata/RHBA-2013-0373.html
方法一、指定分区操作只针对硬盘sda:
zerombr yes clearpart --all --initlabel ignoredisk --only-use=sda part / --fstype=ext4 --asprimary --size=50000 part swap --maxsize=12000 --asprimary --size=12000 part /data --fstype=xfs --grow --asprimary --size=12000
方法二、指定各个分区都基于硬盘sda:
zerombr yes clearpart --all --initlabel part / --fstype=ext4 --asprimary --size=50000 --ondisk=sda part swap --maxsize=12000 --asprimary --size=12000 --ondisk=sda part /data --fstype=xfs --grow --asprimary --size=12000 --ondisk=sda
方法三、指定分区目录到指定的硬盘分区:
zerombr yes clearpart --all --initlabel part / --fstype=ext4 --asprimary --size=50000 --onpart=/dev/sda1 part swap --maxsize=12000 --asprimary --size=12000 --onpart=/dev/sda2 part /data --fstype=xfs --grow --asprimary --size=12000 --onpart=/dev/sda3
实际上onpart只适用于在已有分区中做选择。
方法四、使用BIOS名称进行分区识别:
zerombr yes clearpart --all --initlabel --drives=sda part / --fstype=ext4 --size=50000 --onbiosdisk=sda --asprimary part swap --maxsize=12000 --size=12000 --onbiosdisk=sda --asprimary part /data --fstype=xfs --grow --size=12000 --onbiosdisk=sda --asprimary
最后,开了Debug才发现,根本不是上述错。而是把硬盘识别为sdc了:
OK,找到原因问题就好解决了:
zerombr yes
clearpart --all --initlabel
part / --fstype=ext4 --asprimary --size=50000 --maxsize=50000 --label=/ --onbiosdisk=80
part swap --asprimary --size=12000 --maxsize=12000 --label=swap --onbiosdisk=80
part /data --fstype=xfs --grow --asprimary --size=12000 --label=/data --onbiosdisk=80
原来onbiosdisk选项指的是硬盘在BIOS里的序号,第一块盘的序列为80,以此类推(官方文档这块介绍得太简单了)。附:成功验证的KickStart配置文件。