我是一名云平台IAAS层的运维开发工程师,在本系列文章中,我会介绍服务器装机的方方面面,欢迎大家关注.
本系列已经发布的文章,欢迎大家阅读
服务器装机(一) 服务器装机系统
服务器装机(二) PXE中交换机dhcp relay和dhcp服务器配置
服务器装机(三) 带外网络和服务器配置
0x00 服务器装机介绍服务器开机之后,启动顺序特别重要. 一般的,服务器可以从硬盘,光驱,USB,PXE启动. 大部分服务器会把硬盘作为第一启动项,PXE作为第二启动项,USB,光驱再往后面排. 对于硬盘,不管是SAS卡还是RAID卡,如果没有配置RAID,或者配置的直通,那么还需要给第一块盘(不管是物理盘还是做好的raid盘)打上boot tag.
对于服务器装机,我们很少像PC机用USB或者是光盘来装机,基本都是远程PXE无人值守装机,毕竟服务器都在机房,而且服务器都很多,一台一台装很容易弄错. 当然,一般一个环境的母机还是用U盘装的(母机一般是一台,如果需要高可用会有两台).一般的,母机装好之后,会在母机上搭建一套装机系统,其他的机器都由这套装机系统来装机.
服务器和我们使用的PC机不同.服务器上有套独立运行的系统,分别为带内系统和带外系统.带内系统就我们要安装的linux或者是windows server操作系统,带外系统我们一般称为BMC系统,这个是服务器厂商自己做的.
只要服务器上电这两套系统就会独立运行了.也就是说,一台服务器在没有装机之前,带内系统是没有的,但是带外系统总是有的.
如下图,带外系统会有自己的网卡,这个网卡连接网线到带外交换机,然后会连接到一个带外dhcp服务器,这样环境里面每台服务器的带外就有一个IP了.
0x01 服务器装机流程概述1.现在大部分服务器都可以同时配置独占带外口和共享带外口.独占带外口比较好理解,就是BMC系统自己带的那个网口.共享带外口的意思是物理上使用带内网口,但是功能上是带外网口,也就是通过在PHY层做一些配置,让一个物理带内口,同时跑带内流量和带外流量.当然,这种情况下一般带内,带外走不同VLAN.
2.服务器带外可以不配置为dhcp,而是配置为静态IP模式,不过当有成百上千台服务器的时候,dhcp就方便多了.
服务器装机一般有如下流程
服务器开机上电之后,带外得到一个IP地址.服务器进入PXE启动模式.如果是新机器,因为没有操作系统,导致第一启动项硬盘启动失败,进入第二启动项PXE启动;如果带内有系统,通过ipmitool命令远程设置服务器下一次用PXE模式启动.服务器进入PXE启动模式之后,轮询自己所有带内设置了PXE启动的网卡.直到第一个可以启动成功的.在服务器PXE轮询过程中,带内装机服务器的dhcpd回复服务器的PXE启动请求,同时回复tftp服务器IP,pxelinux.0在tftp服务器上的位置服务器网卡从tftp服务器拉取pxelinux.0文件,PXE固件充当bootloader(类似于grub)的作用,开始拉取pxelinux.cfg文件,从中选择启动项,拉取装机需要vmlinuz和initramfs.img,然后在带内启动装机linux系统装机linux系统启动之后,将initramfs.img中的/init启动,一般/init是anaconda装机系统. anaconda根据启动的命令行配置,去拉起kickstart配置文件,然后按照配置文件完成装机.一般装机过程中需要访问yum源下载包(图中的http),访问过程中需要进行域名解析(图中的dns)当然,第6步我们完全可以不使用anoconda,而是自己写一个专门的装机系统(我们公司内部就是自己写了一个定制的装机系统,没有使用anoconda),然后重新做一下initramfs.img,将/init换成自己写的装机系统.
0xff 总结服务器装机和PC装机有比较大的区别. 装机系统一般涉及的组件较多,要熟练使用装机系统,解决装机中遇到的问题,需要对每个系统的作用有深入理解. 后面的文章我会继续展开上面的步骤进行介绍,欢迎大家关注.