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) 的蕭志榥等人在一些开源项目基础上所开发的一款很优秀的系统克隆工具,它基于Partimage,吸取了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),可以远端操作,人不需到现场。

Ø 不同于Partimage或是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工具的使用

工具箱的菜单规划

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

n Boot local hard drive

n Operating System install Menu

u Return to Main Menu

u RHEL  5.3  i386

u CentOS 5.3  i386

n Setup ToolBox Menu

u Return to Main Menu

u RHEL5 Rescue Mode

u Clonezilla Live

配置基于PXE方式的工具箱

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

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

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

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

③     安装配置NFS服务器

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

[[email protected] Server]#mkdir /mnt/RHEL5.3

[[email protected] Server]#mkdir /mnt/CentOS5.3

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

[[email protected] Server]# vi /etc/exports

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

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

[[email protected] Server]# service portmap restart

[[email protected] Server]# service nfs start

④     PXE引导配置(bootstrap)

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

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

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

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

[[email protected] Server]# rpm -ql syslinux |grep "pxelinux.0"

/usr/lib/syslinux/pxelinux.0

[[email protected] Server]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

[[email protected] Server]#cp /usr/lib/syslinux/memdisk /tftpboot

[[email protected] Server]#cp /usr/lib/syslinux/mboot.c32 /tftpboot

[[email protected] Server]#cp /usr/lib/syslinux/chain.c32 /tftpboot

[[email protected] Server]#cp /usr/lib/syslinux/menu.c32 /tftpboot

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

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

[[email protected] Server]#mkdir -p /tftpboot/images/RHEL5.3

[[email protected] Server]# mkdir -p /tftpboot/images/CentOS5.3

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

[[email protected] Server]#cd /tftpboot/images/RHEL5.3/

[[email protected]  RHEL5.3]#cp /mnt/RHEL5.3/images/pxeboot/{vmlinuz,initrd.img} .

[[email protected]  RHEL5.3]#cd ../CentOS5.3/

[[email protected]  CentOS5.3]# cp /mnt/ CentOS5.3/images/pxeboot/{vmlinuz,initrd.img} .

⑥     编辑 PXE 菜单

1)  创建PXE菜单目录

[[email protected] Server]# mkdir /tftpboot/pxelinux.cfg

2) 编辑PXE主菜单

[[email protected] 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

编辑菜单图形:

[[email protected] ~]# 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 子菜单

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

[[email protected] ~]# 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 RHEL   5.3 ^i386

KERNEL images/RHEL5.3/vmlinuz

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

LABEL CentOS 5.3

MENU LABEL CentOS 5.3 ^i386

KERNEL images/CentOS5.3/vmlinuz

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

编辑工具菜单:

[[email protected] ~]# 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 images/RHEL5.3/vmlinuz

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

⑦     配置Kickstart应答文件

详细配置请参考《Linux Kickstart无人值守安装下》中的“配置Kickstart安装”进行配置

⑧     配置工具箱

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

[[email protected] ~]# 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启动文件

[[email protected] ~]# mkdir -p /tftpboot/images/clonezilla

[[email protected] ~]# unzip -j clonezilla-live-20090727-jaunty.zip \

> live/vmlinuz1 live/initrd1.img \

> -d /tftpboot/images/clonezilla/

Archive:  clonezilla-live-20090727-jaunty.zip

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

extracting: /tftpboot/images/clonezilla/vmlinuz1

[[email protected] ~]# ls /tftpboot/images/clonezilla/

initrd1.img  vmlinuz1

[[email protected] ~]# 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

[[email protected] ~]# unzip -j clonezilla-live-20090727-jaunty.zip \

> live/freedos.img \

> -d /tftpboot/images/

Archive:  clonezilla-live-20090727-jaunty.zip

extracting: /tftpboot/images/freedos.img

[[email protected] ~]#

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

LABEL Clonezilla

MENU LABEL ^Clonezilla Live

KERNEL images/clonezilla/vmlinuz1

APPEND initrd=images/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设置为网卡启动,成功通过网卡启动后看到下图界面:

验证无人值守安装Linux

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

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

验证基于PXE的救援模式

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

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

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

验证Clonezilla工具

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

程序下载文件

成功进入Clonezilla工具界面:

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

时间: 2024-10-11 22:21:04

Linux系统维护修复模式的相关文章

GRUB与Linux系统修复(第二版)

GRUB配置解析 配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来] 软链接保存在 /etc/grub.conf 1.grub.conf文件分析 default #缺省启动系统 timeout #缺省等待时间,单位秒s splashimage #定义GRUB启动背景图片 #(hd0,0) #指定/boot所在的分区 -> 第一块硬盘,第一个分区 hiddenmenu #隐藏菜单 title CentOS (2.6.32-358.el6.i686) #菜

Linux文件系统修复

checking root filesystem /dev/sdb5 contains a file system with errors, check forced /dev/sdb5: Unattached inode 68338812 /dev/sdb5: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY (i.e., without -a or -p options) FAILED /contains a file system with error

第14章 Linux启动管理(3)_系统修复模式

3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即"-quiet 1"其中的1表示单用户模式.然后重启就可以进入单用户模式(注意,此时无须输入用户名和密码即可进入). (2)单用户模式常见的错误修复 ①遗忘root密码:#passwd root  //为root用户设置密码 ②修改系统默认运行级别:#vi /etc/inittab就可以更改默

针对Linux系统主机,进入修复模式,解决开机报错问题

这里讲解的是,当Linux系统的主机开不了机的情况下,可以进入修复模式进行相应的修改 1.让主机重启,进入开机时的内核选择界面,按e进入编辑界面 2.找到linux16那一行,将光标移动到最前面,按下End键,到这一行的末尾,然后空格 rd.break console=tty0 3.第2步结束了按下 ctrl+x 进入另一个模式 4.输入命令重新挂载根目录:mount -o rw,remount /sysroot/ 5.输入命令进入根目录: chroot /sysroot 6.这样就可以随意修改

华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核

Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式.1.进入救援模式(1)华为服务器没有光驱,通过mgmt管理口登录,挂载iso镜像来引导.连接服务器mgmt口至数据中心网络,浏览器登录,默认IP地址192.168.2.100,默认账号root,默认密码Huawei12#$.登录如下图 单击远程控制链接,进入远程控制管理页面,选择独占模式,如下图 打开远程管理控制台,java信息提示,点击继续这里要求远控操作电脑安装好j

CentOS6.3修复模式/单用户模式修改fstab文件

今天修改LVM逻辑卷的名称时候,忘记更改fstab配置文件了,导致机器重启后找不到盘,进不了系统!立即用光盘进入修复模式进行修复!  1.修复模式操作方法: 用光盘进入Linux修复模式,插入centos光盘选择第三项:Rescue installed system 然后修改fstab 注意进入修复模式后fstab路径为 vi /mnt/sysimage/etc/fstab 2.单用户模式操作方法 进入Linux单用户模式 执行 root# mount -o remount,rw / 然后/et

如何在Linux单用户模式下修改fstab文件

今天服务器新增加了一块硬盘,分区格式后在fstab内设置了自动挂载,由于fstab设置错误,导致linux重新启动时出现错误并且不能正常登入系统: 于是让Linux启用单用户模式进入系统,当修改/etc/fstab文件时提示文件只读,无法修改: 经过网友和网上查找具体修改有两种方式 1.进入Linux单用户模式 执行 root# mount -o remount,rw / 然后/etc/fstab就可以修改了 2.用光盘进入Linux修复模式 (光盘启动按F2 接着输入linux rescue回

linux中救援模式的简单运用

操作环境:虚拟机 centos6.9 centos7 一.救援模式的介绍 当我们在Linux操作系统中因为误操作删除了某些重要文件导致大部分命令的不能使用或者某些程序不能使用时,此时就可以借助Linux的救援模式临时进入系统,进行文件修改,纠正错误. 注意救援模式的本质其实只是一个带shell的Linux运行环境,借助它可以通过mount和chroot进入要修复的系统. 二.救援模式的进入方法 linux操作系统因为版本的不同,所以进入救援模式的步骤有些不一样,但大体都是相同的,在这里介绍一下c

Linux光盘拯救模式清空root密码

Linux光盘拯救模式清空root密码 文本关键字:Linux.光盘拯救模式.忘记root密码.清空root密码光盘拯救模式主要在系统损坏时使用,可以用于系统手动修复或者拷贝关键数据.但是由于在该模式下可以使用root权限进行有限的操作(因为并未加载系统,所以大部分命令无法使用),我们也可以在忘记密码的情况下来清空root用户的密码.光盘拯救模式主要适用于物理机,并且进入单用户模式被加密又忘了密码的情况(好吧,也是够惨的). 一.Linux用户信息文件 1. 配置文件路径 /etc/passwd