linux pxe工具,基于PXE方式的Linux系统维护工具箱

基于PXE方式的Linux系统维护工具箱

在安装RedHat Linux系统的过程中,我们知道可以通过PXE方式进行安装,从而解决了无光驱或无安装介质(光盘)来安装操作系统。但是当系统由于某种原因导致系统崩溃的问题,在这个时候首先要想到的是试图修复,而不是直接重装操作系统。因为在大多数的情况下,我们都可以通过系统维护工具来完成修复。本文主要介绍如何制作基于PXE方式的系统维护工具箱。

一、系统维护工具简介

作为一个网络管理员,我们会有许多的服务器密码,如果你没有有效的管理方法;最常见的就是你去维护一台服务器的时候忘记了管理员(root)密码,甚至没有管理员密码。对于这种情况,我们的解决方法是单用户维护模式下进行恢复口令。由于篇幅问题这里不详细介绍单用户模式的使用。

注意:使用单用户模式有一个前提,就是您的系统引导器(grub)能正常工作,否则要进行系统维护就要使用修复模式。

单用户模式下可以进行正常的系统维护(系统能够正常启动),而修复(rescue)模式,也可以称为救援模式,可以对不能从硬盘独立启动的Linux系统进行手工修复。

什么是救援模式?

救援模式是Red Hat Enterprise Linux的安装程序Anaconda所提供的一项功能,即利用安装用启动介质上的启动加载器进行开机,并执行启动介质上的Linux内核来启动计算机,从而取代硬盘中错误或故障的启动加载器或Linux内核,避开init服务执行前所有发生的错误。如此一来,通过救援模式,可用来解决init服务前所有的错误。

一般情况下,可以使用RedHat Linux安装光盘启动救援模式,首先需要确认你的计算机BIOS中的首选启动项设置CDROM,接着使用第一张安装CD或DVD盘引导系统,过程类似安装过程,注意,在“boot:”提示符下输入“linux rescue”,就可以进入救援模式,最后按照提示配置即可。

Linux系统备份工具Clonezilla介绍

Clonezilla是由台湾国网中心(NCHC) 的蕭志榥等人在一些开源项目基础上所开发的一款很优秀的系统克隆工具,它基于Partp_w_picpath,吸取了Norton Ghost和Partition Image的优点。不仅支持对整个系统进行克隆,而且也可以克隆单个的分区,这种灵活性可能更能适应备份者的需要。支持GNU/Linux的文件系统ext2、ext3、reiserfs、xfs、jfs和Windows的FAT、FAT32、NTFS文件系统。Clonezilla支持使用PXEBoot来进行Multicast克隆。这对于需要克隆大量系统的用户极为有用。

Clonezilla(再生龙)特点:

Ø自由软体, 国网中心所开发。

Ø可还原再生多种作业系统,包含Linux (ext2, ext3, reiserfs, xfs, jfs),微软Windows (fat, ntfs)。

Ø支持GNU/Linux下的LVM2 (尚未支援LVM1)。

Ø支持群播(Multicast)。配合PXE网络开机,搭配DRBL的Clonezilla可以使用多播(multicast)的方式,适合用来大备份与还原。硬件设备功能足够时(用户端支持Wake on LAN与PXE),可以远端操作,人不需到现场。

Ø不同于Partp_w_picpath或是ntfsclone只能处理分区,Clonezilla包含其他程序的撰写与整合,因此可以备份与复制分区或是整块硬盘。

Ø不同於G4U或是G4L,Clonezilla环境中,支持的文件系统(ext2, ext3, reiserfs, xfs, jfs, fat, ntfs),只备份有存资料的硬盘空间,因此可以节省备份时间与硬盘空间。其他不支持的文件系统Clonezilla采用dd的方式处理。

Ø通过本实验室开发的另外一套自由软件drbl-winroll可以指定还原后微软Windows的主机名称、工作组,还可写入随机的SID。

Ø有单机版免安装的还原系统Clonezilla Live可以使用。

关于Clonezilla的更多信息请参考http://www.clonezilla.org/

二、系统维护工具箱的制作

首先,介绍一下本工具箱包含的功能:

1)希望能够无人值守安装Red Hat AS 5.3和CentOS5.3

2)救援模式和Clonezilla工具的使用

工具箱的菜单规划

基于上述功能,我将本工具箱的菜单规划为以下目录

nBoot local hard drive

nOperating System install Menu

uReturn to Main Menu

uRHEL 5.3 i386

uCentOS 5.3 i386

nSetup ToolBox Menu

uReturn to Main Menu

uRHEL5 Rescue Mode

uClonezilla Live

配置基于PXE方式的工具箱

编辑本工具主要有以下步骤:

①配置DHCP,用于给客户端提供IP地址及其它信息

②配置TFTP服务器,用于提供客户端PXE引导所必须的文件

PXE原理以及第1-2步骤配置请参考《Linux Kickstart无人值守安装上》一文进行配置。

③安装配置NFS服务器

创建共享目录,分别将相关光盘内容拷贝到相应的共享目录中:

[root@qiuri Server]#mkdir /mnt/RHEL5.3

[root@qiuri Server]#mkdir /mnt/CentOS5.3

安装NFS并将共享目录发布出去,并重启服务使配置生效。

[root@qiuri Server]# vi /etc/exports

/mnt/RHEL5.3 *(ro,sync)

/mnt/CentOS5.3 *(ro,sync)

[root@qiuri Server]# service portmap restart

[root@qiuri Server]# service nfs start

④PXE引导配置(bootstrap)

PXE启动映像文件由syslinux软件包提供,RedHat Enterprise Linux光盘中已提供,如果没有此软件包可以到syslinux主页:下载rpm来安装。

注意:如果未安装,使用yum -y install syslinux进行安装。

我们只要安装了syslinux,就会生成一个pxelinux.0,将pxelinux.0和启动所需的文件复制到'''/tftpboot'''

创建共享目录,分别将相关光盘内容拷贝到相应的共享目录中:

[root@qiuri Server]# rpm -ql syslinux |grep "pxelinux.0"

/usr/lib/syslinux/pxelinux.0

[root@qiuri Server]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

[root@qiuri Server]#cp /usr/lib/syslinux/memdisk /tftpboot

[root@qiuri Server]#cp /usr/lib/syslinux/mboot.c32 /tftpboot

[root@qiuri Server]#cp /usr/lib/syslinux/chain.c32 /tftpboot

[root@qiuri Server]#cp /usr/lib/syslinux/menu.c32 /tftpboot

⑤配置网络启动的内核文件

创建内核及启动映像文件存放目录:

[root@qiuri Server]#mkdir -p /tftpboot/p_w_picpaths/RHEL5.3

[root@qiuri Server]# mkdir -p /tftpboot/p_w_picpaths/CentOS5.3

复制RedHat和CentOS的内核和启动映像文件。

[root@qiuri Server]#cd /tftpboot/p_w_picpaths/RHEL5.3/

[root@qiuriRHEL5.3]#cp /mnt/RHEL5.3/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} .

[root@qiuriRHEL5.3]#cd ../CentOS5.3/

[root@qiuriCentOS5.3]# cp /mnt/ CentOS5.3/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} .

⑥编辑PXE菜单

1)创建PXE菜单目录

[root@qiuri Server]# mkdir /tftpboot/pxelinux.cfg

2)编辑PXE主菜单

[root@ qiuri Server]# vi /tftpboot/pxelinux.cfg/default

default menu.c32

prompt 0

timeout 300

ONTIMEOUT local

MENU TITLE Main Menu

MENU INCLUDE pxelinux.cfg/graphics.conf

MENU AUTOBOOT Starting Local System in 300 seconds

LABEL local

MENU LABEL ^Boot local hard drive

LOCALBOOT 0

LABEL os install

MENU LABEL ^Operating System install Menu

KERNEL menu.c32

APPEND pxelinux.cfg/install

LABEL tools

MENU LABEL ^Setup ToolBox Menu

KERNEL menu.c32

APPEND pxelinux.cfg/tools

编辑菜单图形:

[root@qiuri ~]# vi /tftpboot/pxelinux.cfg/graphics.conf

menu color tabmsg 37;40#80ffffff #00000000

menu color hotsel 30;47#40000000 #20ffffff

menu color sel 30;47#40000000 #20ffffff

menu color scrollbar 30;47#40000000 #20ffffff

MENU WIDTH 80

MENU MARGIN 22

MENU ROWS 6

MENU TABMSGROW 15

MENU CMDLINEROW 15

MENU ENDROW 24

MENU TIMEOUTROW 13

MENU VSHIFT 6

#MENU MASTER PASSWD yourpassword

#MENU PASSPROMPT Enter Password:

#MENU PASSWORDROW 12

#MENU PASSWORDMARGIN 26

NOESCAPE 0

ALLOWOPTIONS 0

~

"/tftpboot/pxelinux.cfg/graphics.conf"

3)编辑PXE子菜单

编辑无人值守系统安装菜单:

[root@qiuri ~]# vi /tftpboot/pxelinux.cfg/install

MENU TITLE Operating System install Menu

LABEL Main Menu

MENU LABEL ^Return to Main Menu

KERNEL menu.c32

APPEND pxelinux.cfg/default

LABEL RHEL 5.3

MENU LABEL RHEL5.3 ^i386

KERNEL p_w_picpaths/RHEL5.3/vmlinuz

APPEND ks=nfs:192.168.18.1:/mnt/RHEL5.3/ks.cfg initrd=p_w_picpaths/RHEL5.3/initrd.img

LABEL CentOS 5.3

MENU LABEL CentOS 5.3 ^i386

KERNEL p_w_picpaths/CentOS5.3/vmlinuz

APPEND ks=nfs:192.168.18.1:/mnt/CentOS5.3/ks.cfg initrd=p_w_picpaths/CentOS5.3/initrd.img

编辑工具菜单:

[root@qiuri ~]# vi /tftpboot/pxelinux.cfg/tools

MENU TITLE Setup ToolBox Menu

LABEL Main Menu

MENU LABEL ^Return to Main Menu

KERNEL menu.c32

APPEND pxelinux.cfg/default

LABEL rescue

MENU LABEL RHEL5 Rescue Mode

kernel p_w_picpaths/RHEL5.3/vmlinuz

append ks=nfs:192.168.18.1:/mnt/RHEL5.3/rescue.cfg initrd=p_w_picpaths/RHEL5.3/initrd.img text rescue

⑦配置Kickstart应答文件

详细配置请参考中的“配置Kickstart安装”进行配置

⑧配置工具箱

1)配置救援模式的Kickstart应答文件:

[root@qiuri ~]# vi /mnt/RHEL5.3/rescue.cfg

lang zh_CN.UTF-8

langsupport --default=en_US.UTF-8 en_US.UTF-8

keyboard us

mouse none

nfs --server=192.168.18.1 --dir=/mnt/RHEL5.3

network --bootproto=dhcp

2)配置Clonezilla live的PXE启动

配置PXE启动文件

[root@qiuri ~]# mkdir -p /tftpboot/p_w_picpaths/clonezilla

[root@qiuri ~]# unzip -j clonezilla-live-20090727-jaunty.zip \

> live/vmlinuz1 live/initrd1.img \

> -d /tftpboot/p_w_picpaths/clonezilla/

Archive:clonezilla-live-20090727-jaunty.zip

extracting: /tftpboot/p_w_picpaths/clonezilla/initrd1.img

extracting: /tftpboot/p_w_picpaths/clonezilla/vmlinuz1

[root@qiuri ~]# ls /tftpboot/p_w_picpaths/clonezilla/

initrd1.imgvmlinuz1

[root@qiuri ~]# unzip -j clonezilla-live-20090727-jaunty.zip \

> live/filesystem.squashfs live/memtest \

> -d /tftpboot/

Archive:clonezilla-live-20090727-jaunty.zip

extracting: /tftpboot/filesystem.squashfs

extracting: /tftpboot/memtest

[root@qiuri ~]# unzip -j clonezilla-live-20090727-jaunty.zip \

> live/freedos.img \

> -d /tftpboot/p_w_picpaths/

Archive:clonezilla-live-20090727-jaunty.zip

extracting: /tftpboot/p_w_picpaths/freedos.img

[root@qiuri ~]#

在/tftpboot/pxelinux.cfg/tools中添加:

LABEL Clonezilla

MENU LABEL ^Clonezilla Live

KERNEL p_w_picpaths/clonezilla/vmlinuz1

APPEND initrd=p_w_picpaths/clonezilla/initrd1.img boot=live union=aufs noswap noprompt vga=788 ocs_live_keymap=NONE ocs_lang=zh_CN.UTF-8 fetch=tftp://192.168.18.1/filesystem.squashfs

三、配置后的功能验证

最后,我们在客户端上将BIOS设置为网卡启动,成功通过网卡启动后看到下图界面:

45af0d8538fa158837efa33b087b9c1d.png

验证无人值守安装Linux

我们选择“Operating System install Menu”菜单,将进入其子菜单中,如下图所示:

ea6c1ba8beb2b6daa3a190c345b0ff9b.png

例如:我们进行无人值守安装RHEL5.3,选择“RHEL 5.3 i386”菜单即可。以下的步骤和我们在无人值守安装过程中一样。

验证基于PXE的救援模式

我们只需要在主菜单中选择“Setup ToolBox Menu”菜单,即可进入其子菜单,之后选择“RHEL5 Rescue Mode”如下图所示:

aed260c67dfc06af154ae010e1733f67.png

稍后,几秒钟即可看到如下界面:

f5bda7d6ddd487072fdea95a30c7946a.png

到该界面,熟悉救援模式的朋友,就知道如何去做了,如果不了解的朋友,根据提示也可以成功进入救援模式。

验证Clonezilla工具

如果我们选择主菜单中“Setup ToolBox Menu”菜单,即可进入其子菜单,之后选择“Clonezilla Live”如下图所示:

94b8e9a00fc2ecdd8760e17165eaeda1.png

程序下载文件

32aea61a8f3e63b6b9ca1e00fc822da0.png

成功进入Clonezilla工具界面:

14e02d1524484481cd1b551c4b0092d7.png

关于该备份工具的使用,如果你使用过Ghost的话,按照软件的中文说明,即可完成使用。如果不熟悉的话可以参考网上相关文章,这里不做介绍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值