分类: linux server

Dell 服务器远程安装 Centos 脉创方案

手头的服务器大多是dell R410&R610,都有 iDrac 。服务器的配置很不错,需要充分的利用。

远程开关机这些自然不在话下。于是寻思着如果能重装系统呢?

也问了几个牛B的运维大大,给的方案有这么些

1.netinstall – 这个很传统,很耗带宽(不过是上行带宽的话IDC也无所谓哦~)

2.自己做centos 软件源 – 这个很牛,直接在IDC内部做个发布版本的yum镜像,一样的耗带宽,不过比方案1省很多

以上2个方案适合在一个物理地点集中托管很多服务器,但是我们的应用决定了我们有很多分散的物理地点,每个物理地点托管的机器不超过20台,所以…

自己想了2个方案:

3. 用USB安装,现在usb很便宜一个30元左右,成本合理(遇到的问题后面再说)

4. 刻录光盘放在服务器里的CD中,随时可重装系统(遇到的问题后面再说)

问题来了。。。来的很快:

方案3在安装过程中很ok但是装完了发现因为是usb启动引导的,所以grub把引导区写在usb上了 。。。 囧~

虽然可以通过改grub来纠正这个错误,但是! 首先我没能搞定,其次,我都搞不定运维肯定也搞不定!!

方案4 完全没问题,光盘这种介质在现在是多么的便宜,合下来1张系统盘只要1.3元成本~ 这是我梦想的解决方案啊!!!! 但是!! 有个致命的弱点:系统装完后光驱会弹出!!! 本来采取远程安装就是不想依赖机房运维,如果每次装系统都要机房值班推光驱,这太让我不能接受了!

后来一次再和我们运维总监聊的过程中给我一个很好的启发:可以将光盘镜像存在usb里(插服务器里),然后用iDrac的虚拟介质引导安装!

说干就干:

第一步,分离光盘镜像

把引导部分抽离 成启动iso 这个iso是安装时引导用 最终我分离的iso为35m (可以进一步优化) 这部分是要从本地传给服务器的。

建立一个工作目录,网上一般叫 myiso/

目录结构如下

myiso/
======isolinux/
===============抓图3

然后在myiso上一个目录跑一下这个命令

mkisofs -o myiso.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table myiso

这样你就有个用来做虚拟介质的镜像了 》》》 myiso.iso

补充: 要说isolinux这个目录和里面的文件的来源,是我从 centos的安装镜像里解压出来的~ 对的,完全用官方的东西哦
又补充:boost.msg && isolinux.cfg是可以修改的,比如我改的 isolinux.cfg如下

prompt 1
timeout 600
display boot.msg

menu title Welcome to CentOS 6.3!

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img

label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue

第二步,简简单单的把U盘格式一下(fat32)然后把 官方镜像iso里的 images/ 和镜像本身放入U盘, Done!
第二.一步,把u盘插入dell 服务器内部usb接口 :)

第三步,启动idrac虚拟终端,挂载虚拟介质(myiso.iso)

第四步,开始安装centos, 此处略去50字。。。

Share