R4700G3 使用 PMC/P430 系列阵列卡,创建逻辑盘顺序决定 OS 枚举顺序;容量大的逻辑盘在部分阵列卡固件下,会被枚举为/dev/sda,容量小的变成/dev/sdb。
/dev/sda;华为服务器阵列卡固件,默认逻辑盘枚举顺序和创建顺序保持一致,所以同样定制镜像,华为上 450G 盘为/dev/sda,自动安装脚本就落到小盘。
重点:自动安装脚本(kickstart/autoinst)很多默认取系统识别到的第一块磁盘
/dev/sda安装系统,不会根据磁盘容量、槽位、RAID 名字做过滤。/dev/sda是内核扫描顺序,不是物理槽位编号。
自动化镜像常见两种写法:
clearpart --all,不指定磁盘,默认操作/dev/sda,就是你当前遇到的情况;你的镜像属于第一种,没有写磁盘过滤条件,拿到内核识别到的第一块盘就开始部署。华为服务器阵列卡上报顺序刚好小盘是 sda,所以表现正常;R4700G3 阵列卡把 900G 大盘上报成 sda,系统自动装大盘。
很多人踩坑:在 RAID 卡界面把 450G RAID1 设置为 Boot Device(第一引导阵列),但是仅仅控制 BIOS 启动优先从 450G 阵列启动,不改变 Linux 内核加载后识别磁盘的 sda/sdb 顺序。 引导顺序和内核磁盘枚举顺序是两套独立逻辑!哪怕 BIOS 优先从 450G 盘启动,内核识别的时候 900G 仍然可能是 sda,自动化安装脚本依旧会写到 900G 盘。这是 R4700G3 这个机型非常典型的坑。
修改 kickstart 配置,明确指定目标磁盘,不再依赖 sda 顺序,可以使用 WWID 或者容量过滤。示例:
# 指定磁盘WWID,精准写入目标RAID,不受sda/sdb顺序影响
ignoredisk --only-use=disk/by-id/wwn-0xxxxxxxxxxxxx
clearpart --all --drives=disk/by-id/wwn-0xxxxxxxxxxxxx
也可以通过容量过滤,只选择 450G 对应的逻辑盘,彻底规避大盘被选中。
部分 PMC/P430 固件,严格按照创建顺序上报逻辑盘,先创建的阵列内核识别为 sda。但阵列卡固件版本不同行为会变化,稳定性不如方案 1。
lsblk
ls /dev/disk/by-id/
查看两块逻辑盘对应的 wwn、sda/sdb。
如果继续使用未指定磁盘的 ks 脚本,后续升级 RAID 卡固件,磁盘枚举顺序可能发生变化,部署时依然会出现系统装到数据盘的事故。生产环境自动化部署,必须使用 WWID / 磁盘唯一标识指定安装磁盘。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论