案例背景:
为了平时给开发测试部门方便快速的部署新的linux系统,于是搭建了一套网络安装服务器,使用Kickstart进行新环境的部署(当然,使用openstack这样的开源云平台进行测试环境的搭建,删除会更加便捷)
今天,公司买回来一台1U的组装机器,更平时一样,开箱,上架,接电源,接网线,点亮机器,按F12进入网络安装,接下来是耐心的等待...,然而这次有麻烦了.
问题描述:
所谓有图有真相,上图说理
遇到这个问题就坑人了,第一个选项,File Bug,第二个Exit installer, 也就是要么你牛,自己去DEBUG吧,要么退出安装,这不玩人吗?
再看具体的报错:Cant' write to /dev/sda ,because it is opened read-only
既然这样,那我们就切换个终端看看这个/dev/sda是个啥,真的无法操作?
大概看一下,明明在BIOS里面看到只有一块硬盘,也就是此处显示的/dev/sdb,500GB,竟然多送了2G的一块盘?
想想就知道不可能,只能说毕竟是个服务器,这2GB的磁盘估计是用来存储一些服务器驱动玩意的。
那么看看到底能不能删除分区。
那就不删了呗,就算删除了,也不是只读操作了,又能怎样,,2GB你打算玩什么?
所以解决问题的根本不是在这里,而是需要解决如何分区创建在/dev/sdb上面,将bootloader安装在/dev/sdb上。
那么有人会说,那你出现这类错误的原始配置文件ks.cfg是怎样写的?
OK,此处列出主要的信息,也就是分区信息,分区位置
1
2
3
4
5
6
7
|
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --asprimary --fstype=
"ext4"
--size=50000
part
/boot
--fstype=
"ext4"
--size=200
part
/var
--fstype=
"ext4"
--size=300000
part swap --fstype=
"swap"
--size=16000
|
大家主要去观察的不是分区大小,而是分区所在硬盘,可以看到,一般来说,我们不会去指定第一块硬盘,而是默认分区,也就意味着系统在进行硬盘分区的时候,首选/dev/sda,那么遇到我们现在的情况,那就歇菜了。
问题解决
问题找到了,就去解决问题了,明显只需要修改配置文件中分区相关的配置:
1
2
3
4
5
6
7
8
|
# Partition clearing information
ignoredisk --drives=sda
clearpart --all --drives=sdb
# Disk partitioning information
part
/boot
--fstype=
"ext4"
--size=100
part swap --fstype=
"swap"
--size=12000
part / --fstype=
"ext4"
--size=50000
part
/var
--asprimary --fstype=
"ext4"
--size=300000
|
主要修改:
ignoredisk --drives=sda
clearpart --all --drives=sdb
主要目的,实现了对/dev/sda的无视,默认分区在/dev/sdb上面,默认grub启动器也安装在/dev/sdb上面。
问题就这么愉快的解决了!