最近公司远端机房的一台服务器挂掉了,需要重装系统,安装的系统版本是OpenSUSE 11.2,由于之前一直使用RHEL系列的系统版本,所以对OpenSUSE不太熟悉,结果发现安装完系统后网卡根本就没识别到,还得手动安装网卡驱动。
插个题外话,这个服务器的品牌型号我是第一次听说,叫啥Ciara ORION HF210G2-FC,主板是华硕的。之前不知道谁在这台服务器上设置了BIOS密码,结果一问谁都不知道,按ESC或Enter依然不能跳过密码,无法更改启动顺序,同时启动时也没有主流服务器那种可以F11等功能键修改启动顺序,所以安装系统只能暂时搁浅,最后还是叫Ciara的厂商工程师到现场给重置了BIOS,居然还去了两次!第一次没有重置成功,好吧,我也是醉了,这厂商工程师能否专业点。
好了,重置完BIOS后终于可以修改启动顺序,然后按部就班利用IPMI端口连上服务器进行安装系统操作。
安装完OpenSUSE后,在/etc/sysconfig/network路径下未发现任何ifcfg-eth*的文件,于是我手动添加了ifcfg-eth0,把IP、子网掩码等等配置好,重启网络服务,结果显示只有一个可怜的lo设备,eth0未能识别。由于用惯了RHEL/CentOS系列的系统版本,大部分主流驱动都是包含在操作系统里,所以安装完很顺利的就能配置好网卡,但这OpenSUSE似乎并不这么给力,让我有些失望,不得不去找这个服务器的网卡型号和驱动程序。
于是乎我按照厂商提供的服务器官网地址去找驱动程序,结果大失所望,这个华硕的网站居然只提供Windows系统的驱动程序,完全忽略掉了Linux,囧。
那行,我得先把它的服务器具体型号给找到,于是用命令dmidecode -t1 查询到具体型号
Manufacturer: CIARA TECHNOLOGIES
Product Name: ORION HF210G2-FC
然后上网搜索,找到它的具体硬件配置,把网卡型号给揪出来,然后到Intel的官网去下载驱动。
下载回来的驱动是源码还得手动编译,但前提是我得先把这个源码包弄进服务器,由于服务器可以载入虚拟设备,于是我先把这个源码包做成一个iso镜像,然后在远程控制台里把它载入进去。
然后在系统里挂载这个iso文件, mount -o loop /dev/cdrom /mnt, 将文件拷贝出来, 下一步就是将源码进行编译了。按照README的说明一步一步操作。
- tar zxf igb-<x.x.x>.tar.gz 解压该文件
- cd igb-<x.x.x>/src/ 进入源文件
- make install 开始编译驱动模块,编译好的驱动模块将存放在/lib/modules/<KERNEL VERSION>/kernel/drivers/net/igb/igb.[k]o 路径下
- modprobe igb 加载驱动模块
- 配置网卡文件
再次插入个题外话,由于新装系统里没有make , gcc这些,然后又没有网络,那个类似于yum的zypper也用不了,所以只能将需要用到的编译工具一个一个的rpm 安装,中间的依赖关系是一个接一个,不过还是被我一个接一个的克服了。
网卡驱动安装好了,接下来配置网卡IP这些就水到渠成,继续埋头苦干。。。