您好,欢迎来到独旅网。
搜索
您的当前位置:首页SuSE_Linux日常管理操作指南

SuSE_Linux日常管理操作指南

来源:独旅网
SUSE LINUX Enterprise Server

简易使用文档

接收方:华为公司

www.novell.com 2005年1月

版本历史

版本 1.0

日期 2005年1月 第1版

备注 目录

编写目的 .............................................................................................................................................. 5 1使用篇 ............................................................................................................................................... 5 1.1 SUSE LINUX Enterprise Server安装后的一些常用命令 ........................................................... 5 1.1.1 启动/关闭系统 .......................................................................................................................... 5 1.1.2 磁盘重新分区和创建文件系统 ................................................................................................ 6 1.1.3 查询、设置主机的IP地址、子网掩码 ................................................................................ 14 1.1.4 查询设置主机名称 .................................................................................................................. 16 1.1.5查询、设置主机的路由和网关 .............................................................................................. 20 1.1.6查询、设置主机的日期时间 .................................................................................................. 23 1.1.7 telnet和ftp ............................................................................................................................... 26 1.1.8 ssh和scp .................................................................................................................................. 38 1.1.9 建立NFS文件共享 ................................................................................................................ 39 1.1.10 查看CPU、内存、网卡等硬件的配置情况 ....................................................................... 42 1.1.11 修改显示分辨率、刷新频率 ................................................................................................ 46 1.2 服务器系统的可靠维护手段 ..................................................................................................... 48 1.2.1 修复文件系统 .......................................................................................................................... 48 1.2.2 在SLES下的备份方法 .......................................................................................................... 48 1.2.2.1 用tar进行备份和恢复 ......................................................................................................... 49 1.2.2.2使用dd进行备份/恢复 ......................................................................................................... 51

编写目的

SUSE LINUX Enterprise Server 8/9 为安全的企业计算提供了可扩展的高性能基础,使企业能够充分利用Linux* 和开放源代码。该产品具有极强的可靠性,并且为当前的网络环境提供了全面的功能,以满足用户的需求。SUSE LINUX Enterprise Server还支持广泛的硬件平台和领先的软件应用。凭借其独特的开放式管理能力,您可以在网络的任何位置轻松地安装、部署、配置、保护和更新Linux服务器――从而显著节约IT成本。由于SUSE LINUX Enterprise Server由Novell提供全面的支持,因此,在实施可行的关键任务平台时,可获得所需的可靠发布周期、法律保护、教育和认证方案、合作伙伴资格以及全面的支持环境。 编写本文稿的目的在于向用户简单介绍常用的SUSE LINUX Enterprise Server 8/9日常维护命令和备份恢复方案。

1使用篇

1.1 SUSE LINUX Enterprise Server安装后的一些常用命令 1.1.1 启动/关闭系统

相信大家肯定都知道开关机器的步骤。与任何UNIX系统一样,SUSE LINUX系统只要上电就可以开机,关机使用shutdown命令。但是在日常维护中,开关机仍然是必须学习的内容,因为在开关机的过程中可能会有一些特殊问题。

当你给系统加电的时候,SUSE LINUX将自动从启动管理器开始执行。通常我们不需要对系统的启动作任何干预,SUSE LINUX就可以自动执行启动脚本直到出现登录提示(kdm或login)。

当系统启动脚本开始执行的时候,系统必须首先mount 上文件系统。系统在此之前将会调用fsck程序来自动检测文件系统。一般情况下,fsck会正确修复文件系统中的错误。然而,如果发生了致命错误,那么fsck会退出,这时系统启动脚本会出现类似于这样的提示:

fsck failed. Please repair manually and reboot. The root file system is currently mounted read-only. To remount it read-write do:

bash# mount -n -o remount,rw /

Attention: Only CONTROL-D will reboot the system in this shutdown or reboot will not work.

然后启动脚本会调用一个sulogin程序,这个程序会提示你输入超级用户口令:

Give root password for maintenance (or type Control-D for normal startup):

输入超级用户口令之后,你将得到一个shell,在这个shell中你可以使用fsck命令修 理有问题的文件系统。fsck结束之后,用exit命令退出这个shell,系统将会重新启动。

如果由于硬件升级或管理原因你想关闭或重新启动系统,可以使用shutdown命令:

shutdown [时间] [信息]

时间参数定义在什么时候关机,基本的格式是hh:mm,比如12:30代表12点30分。不过更多的人喜欢用+[分钟],例如shutdown +3代表3分钟后关闭系统。一个特殊的字符串n ow表示+0,即立刻关机。信息参数用来向连接在系统上的所有用户发送一条消息,例如 ,想要在两分钟后关闭系统,并且向所有用户发送一条“system now halted.Please s

ave your work”的信息,命令是

# shutdown +2 'system now halted,Please save your work' 如果要重新启动机器,可以使用shutdown的-r参数,例如 # shutdown -r now 也可以用reboot命令: reboot

1.1.2 磁盘重新分区和创建文件系统

在SUSE Linux操作系统安装好之后,由于扩容等原因,需要在新的磁盘上创建新的分区或在原有磁盘上改变某些分区的大小以适应应用的需要。在SUSE Linux上可以通过工具yast2 disk管理分区,也可以通过命令行工具fdisk管理分区

例如:系统原有一块SCSI磁盘/dev/sda,现在新增了一块SCSI磁盘/dev/sdb

图形方式

对于yast2 disk模块管理磁盘分区方法如下: # LC_ALL=C LANG=C yast2 disk

分区程序会显示警告信息,因为分区在系统中处于非常底层的地位,所有文件系统都建立在分区之上。如果在分区中的某些错误操作会导致整个系统的毁坏,所以在运行中的系统上进行分区变更需要特别注意,事先做好规划。

单击Yes,进入分区程序主窗口

我们在测试环境中对/dev/sdb进行分区

创建一个主分区选择Format ->Do not format,Size -> End输入+100M,Mount Point从下拉列表里选择空项

单击OK按钮在分区计划里创建/dev/sdb1

重复上面的步骤,创建主分区/dev/sdb2和/dev/sdb3

创建第四个分区/dev/sdb4为扩展分区

然后创建逻辑分区/dev/sdb5

单击Apply,再次单击Apply之后将上面的分区计划保存到磁盘/dev/sdb的分区表中。

命令行方式

对这块磁盘进行分区,通过fdisk工具分区的方法如下:

# fdisk /dev/sdb Command (m for help): \"\"新增一个主分区/dev/sdb1 (command m for help): n e extended

p primary partition (1-4) p

Partition number (1-4):1 First cylinder (1-38, default 1):

Last cylinder or +size or +sizeM or +sizeK (1-38, default 38):+100M \"\"新增一个主分区/dev/sdb2 Command (m for help): n e extended

p primary partition (1-4) p

Partition number (1-4):2

First cylinder (14-38, default 14): \"\"新增一个主分区/dev/sdb3 Command (m for help): n e extended

p primary partition (1-4) p

Partition number (1-4):3

First cylinder (27-38, default 27):

Last cylinder or +size or +sizeM or +sizeK (1-38, default 38):+100M \"\"新增一个扩展分区/dev/sdb4 Command (m for help): n e extended

p primary partition (1-4) e

First cylinder (40-38, default 40):

Last cylinder or +size or +sizeM or +sizeK (1-38, default 38): \"\"新增一个逻辑分区/dev/sdb5

Command (m for help): n

First cylinder (40-38, default 40):

Last cylinder or +size or +sizeM or +sizeK (1-38, default 38):+100M

1.1.3 查询、设置主机的IP地址、子网掩码

SLES中可以用yast2 network来配置IP地址、子网掩码,也可以通过修改配置文件的方式并运行命令实现这个目的。

方法1. 通过yast2管理工具进行配置

在console中运行yast2工具配置缺省网关和到特定网络或主机的路由 # LC_ALL=C LANG=C yast2 network

配置未经配置的网卡选择“Network cards configuration”中“Network cards configuration”中

“Configure...”

修改已配置网卡的设置选择“Network cards configuration”中“Network cards configuration”中

“Change...” 根据具体的网络配置,选择用DHCP自动分配地址还是使用静态IP地址,如果用静态IP地址同时输入子网掩码。

方法2. 通过修改配置文件的方式并运行命令进行配置,SLES8和SLES9之间配置文件命名方式有区别。下面分别进行介绍。 SLES8

编辑文件/etc/sysconfig/ifcfg-ethx(x为对应的逻辑网络设备号,从 0开始),文件可以包含下面的配置项:

关键字 BOOTPROTO STARTMODE IPADDR string string string 类型 取值范围 static|dhcp onboot|manual 四个十进制数点分IP地址 关键字 BROADCAST NETWORK NETMASK

配置文件例子: BOOTPROTO='static' STARTMODE='onboot' IPADDR='192.168.1.251' BROADCAST='192.168.1.255' NETWORK='192.168.1.0' NETMASK='255.255.255.0'

string string string 类型 取值范围 四个十进制数广播地址 四个十进制数网络地址 四个十进制数子网掩码 修改配置文件/etc/modules.conf,修改网卡内核模块的对应关系

例如对于网卡Intel Pro100网卡,它的内核模块是e100,如果希望它是内核先加载的网络驱动,可以修改配置文件/etc/modules.conf添加行: alias e100 eth0

然后重启网络服务 # /etc/rc.d/network restart

可以运行命令ifconfig 设置临时IP地址 在eth0上添加IP地址192.168.3.20/255.255.255.0 删除eth0上的IP地址设置 # ifconfig eth0 down SLES9

在SLES9上,将网络设备的配置和网络设备对应起来,其特点就是配置文件的文件名中包含设备的唯一标识,对于网卡来说这个唯一标识就是网卡的MAC地址。有一块网卡,它的MAC地址如果是00:0C:76:AD:8B:D6,那么它的配置文件的文件名就是/etc/sysconfig/network/ifcfg-eth-id-00:0c:76:ad:8b:d6。

# ifconfig eth0 192.168.3.20 netmask 255.255.255.0 up

1.1.4 查询设置主机名称

SLES中可以用yast network来修改主机名(hostname),也可以通过修改配置文件的方式并运行命令实现这个目的。

方法1. 通过yast2管理工具进行配置

在console中运行yast2工具修改主机名(hostname) # LC_ALL=C LANG=C yast2 network

配置未经配置的网卡

点击“Network cards configuration”窗口中的“Configure...”按钮 修改已配置网卡的设置

点击“Network cards configuration”窗口中“Change...”按钮

点击“Network address setup”窗口中“Detailed settings”下的“Host name and name server”按钮。

在“Host name”输入框中输入主机名,在“Domain name”中数入域名,如果没有域名,接受缺省值。

方法2. 通过修改配置文件的方式并运行命令修改主机名 修改/etc/HOSTNAME文件,在此文件中保存主机名,例如: linuxserv1

然后运行命令设置主机名 # /etc/rc.d/boot.localnet start

1.1.5查询、设置主机的路由和网关

SLES中可以用yast network来配置缺省网关和到特定网络或主机的路由,也可以通过修改配置文件的方式并运行命令实现这个目的

方法1. 通过yast2管理工具进行配置

在console中运行yast2工具配置缺省网关和到特定网络或主机的路由 # LC_ALL=C LANG=C yast2 network

配置未经配置的网卡

点击“Network cards configuration”窗口中的“Configure...”按钮 修改已配置网卡的设置

点击“Network cards configuration”窗口中“Change...”按钮

“Network address setup”窗口中“Detailed settings”下单击“Routing” 按钮,在”Default gateway”输入框中输入缺省网关。

如果要设置到特定网络或主机的路由,选中“Routing table”中的“Expert configuration”在“Add”和“Edit”的对话窗口中,填写“Destination”,“Dummy or Gateway”和“Netmask”,

“Device”可以不用填写。

例子1: 网络192.168.2.128/255.255.255.128的网关为192.168.2.129,“Destination”填写目的网络地址192.168.2.128,“Dummy or Gateway”填写网关地址192.168.2.129,“Netmask”填写255.255.255.128。

例子2: 主机192.168.3.20/255.255.255.255的网关为192.168.3.20,“Destination”填写目的主机地址192.168.3.20,“Dummy or Gateway”填写网关地址192.168.3.20,“Netmask”填写255.255.255.255。

方法2. 通过修改配置文件的方式并运行命令进行配置

修改文件/etc/sysconfig/network/routes,配置缺省网关和到特定网络或主机的路由

文件的格式:

以#开始的行是注释,每一行是一个路由记录,由空格分隔的多列组成

示例/etc/sysconfig/network/routes文件 # default gw default

192.168.0.1 -

-

# network 192.168.2.128/255.255.255.128 gateway set to 192.168.2.129 192.168.2.128 192.168.3.20

运行命令添加上述路由 # route add default gw 192.168.0.1

192.168.2.129 255.255.255.128

# host 192.168.3.20/255.255.255.255 gateway set to 192.168.3.20

192.168.3.20 255.255.255.255

这个配置文件在执行/etc/rc.d/network start时会被加载

<网关>

<目的网络子网掩码>

<本地网络接口>

# route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129 # route add -host 192.168.3.20 gw 192.168.3.20 删除上述路由 # route del -net 0.0.0.0

# route del -net 192.168.2.128 netmask 255.255.255.128 # route del -host 192.168.3.20

1.1.6查询、设置主机的日期时间

在SLES中可以运行yast2 timezone修改日期和时间,也可以运行命令修改日期和时间 注:SLES8下没有修改时间和日期的YaST模块

SLES9

方法1. 通过yast2管理工具进行配置 在console中运行yast2工具的时区模块 # LC_ALL=C LANG=C yast2 timezone

单击“Clock and Time Zone Configuration” 窗口中“Change Time or Date”按钮修改日期和时间,然后单击“Apply”按钮,使应用生效。

在SLES8和SLES9上都可以用命令修改日期和时间。运行命令修改日期和时间的命令的例子如下:

将日期和时间改为2004年11月27日22时20分 # date -s \"2004/11/27 22:20:00\"

1.1.7 telnet和ftp

在SLES8下和SLES9下配置telnet服务(通过YaST2工具和修改配置文件)的方法略有不同,下面分别针对两种系统下的配置方法分别作出说明。 SLES8

方法1. 通过yast2管理工具进行配置

在console中运行yast2工具激活inetd以及telnet服务 #LC_ALL=C LANG=C yast2 inetd

“Enable/disable inetd” 选择框下选择“On with custom configuration ...” 然后单击“Next”按钮。

“Enable/disable network services”激活\"telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd”对应的行,然后单击”Finish”按钮

方法2. 通过修改相关配置文件并运行命令管理进行配置 编辑/etc/inetd.conf文件,去掉下面这行前面的注释: #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

然后运行如下命令激活inetd服务并启动inetd # chkconfig -a inetd # /etc/init.d/inetd restart

SLES9

方法1. 通过yast2管理工具进行配置

在console中运行yast2工具激活inetd以及telnet服务 # LC_ALL=C LANG=C yast2 inetd

“Network Services Configuration (xinetd)”,选择“Enable”前的单选框

在“Currently Available Services”中选择\"telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd”对应的行

单击“Toggle Status (On or Off)”按钮,然后单击“Finish”按钮。

方法2. 通过修改相关配置文件并运行命令管理进行配置 编辑/etc/xinetd.d/telnet文件,将行 disable = yes 改为

disable = no

然后运行如下命令激活xinetd服务并启动xinetd # chkconfig -a xinetd # /etc/init.d/xinetd restart

检查及排错:

可以用下面的命令查看ftp服务有没有起来 # netstat -l | grep telnet

telnet服务缺省禁止root用户使用.因为telnet口令传输使用明文,从安全的角度考虑不建议开放root用户的telnet. 可以编辑/etc/securitty文件添加行 pts/1 pts/2 pts/3 pts/4 pts/5 pts/6

打开root用户的telnet

在SLES中可以用yast2 inetd来配置打开ftp服务,也可以通过修改配置文件的方式加以支持

SLES8

方法1. 通过yast2管理工具进行配置

首先编辑/etc/vsftpd.conf文件 将如下两行去掉注释 #local_enable=YES #write_enable=YES

在console中运行yast2工具激活inetd以及ftp服务 # yast2 inetd

“Enable/disable inetd” 选择 “On with custom configuration ...” 然后单击“Next”按钮。

“Enable/disable network services” 激活“ftp stream tcp nowait root /usr/sbin/tcpd vsftpd”对应的行,然后单击“Finish”按钮。

方法2. 通过修改相关配置文件并运行命令管理进行配置 首先编辑/etc/vsftpd.conf文件 将如下两行去掉注释 #local_enable=YES #write_enable=YES

编辑/etc/inetd.conf文件,去掉下面这行前面的注释: #ftp stream tcp nowait root /usr/sbin/tcpd vsftpd

然后运行如下命令激活inetd服务并启动inetd # chkconfig -a inetd # /etc/init.d/inetd restart

SLES9

方法1. 通过yast2管理工具进行配置 首先编辑/etc/vsftpd.conf文件 将如下两行去掉注释 #local_enable=YES #write_enable=YES

在console中运行yast2工具激活inetd以及ftp服务 # LC_ALL=C LANG=C yast2 inetd

“Network Services Configuration (xinetd)”窗口选择“Enable”前的单选框。

在“Currently Available Services”中选择,“ftp stream tcp nowait root /usr/sbin/tcpd vsftpd”对应的行。

然后单击“Toggle Status (On or Off)”按钮,然后单击“Finish”按钮。

方法2. 通过修改相关配置文件并运行命令管理进行配置

首先编辑/etc/vsftpd.conf文件 将如下两行去掉注释 #local_enable=YES #write_enable=YES

编辑/etc/inetd.conf文件,去掉下面这行前面的注释: #ftp stream tcp nowait root /usr/sbin/tcpd vsftpd 然后运行如下命令激活inetd服务并启动inetd # chkconfig -a inetd

# /etc/init.d/inetd restart

检查及排错:

可以用下面的命令查看ftp服务有没有起来 # netstat -l | grep ftp

还可以查看vsftpd的日志文件进行排错

ftp服务缺省禁止root用户使用.可以编辑/etc/ftpusers文件取消对root的.

1.1.8 ssh和scp

传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这 些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓 “中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中 间人”一转手做了手脚之后,就会出现很严重的问题。

SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额 外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一 个安全的“通道”。

ssh客户端的命令的语法和telnet很类似:

ssh -l [your accountname on the remote host] [address of the remote host]

如果SSH工作正常,你会看到下面的提示信息:

The authenticity of host [hostname] can't be established.

Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52. Are you sure you want to continue connecting (yes/no)?

SSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。

然后,SSH提示你输入远程主机上你的帐号的口令。输入完口令之后,就建立了SSH连接,这之后就可以象使用telnet那样使用SSH了。

用“scp”拷贝文件,SSH提供了一些命令和shell用来登录远程服务器。在默认情况下它不

允许你拷贝文件,但是还是提供了一个“scp”命令。 假定你想把本地计算机当前目录下的一个名为“dumb”的文件拷贝到远程服务器www.foobar.com上你的家目录下。而且你在远程服务器上的帐号名为“bilbo”。可以用这个命令: scp dumb bilbo@www.foobar.com:. 把文件拷贝回来用这个命令: scp bilbo@www.foobar.com:dumb .

“scp”调用SSH进行登录,然后拷贝文件,最后调用SSH关闭这个连接。

“scp”假定你在远程主机上的工作目录为你的HOME目录。如果你使用相对目录就要相对于HOME目录。

用“scp”命令的“-r”参数允许递归地拷贝目录。“scp”也可以在两个不同的远程主机之间拷贝文件。

1.1.9 建立NFS文件共享

在SLES下可以运行yast2管理模块配置nfs服务器,也可以通过修改配置文件并运行命令的方式配置nfs服务器。SLES8和SLES9在nfs服务器的设置上没有区别。

方法1. 通过yast2管理工具进行配置 在console中运行yast2工具配置nfs服务 # LC_ALL=C LANG=C yast2 nfs_server

“Configuration of the NFS server” 选择 “Start NFS server” 然后单击“Next”按钮。

“Add directory”添加要输出的目录,例如/opt

“Hosts wildcard”输入可以使用此服务的网络或主机信息,例如192.168.0.0/255.255.255.0 ,“Options”输入所需选项,选项sync或async必须填写,其它选项可以参见man exports(5)

方法2. 通过修改相关配置文件并运行命令管理进行配置 首先编辑/etc/exports文件

# export /mnt to any host with option ro,async /mnt /media

*(ro,async)

# export /media to hosts 192.168.0.0/255.255.255.0 with option ro,root_squash,sync

192.168.0.0/24(ro,root_squash,sync)

然后运行下面的命令激活并启动nfs服务 # chkconfig -a nfsserver # /etc/init.d/nfsserver restart

检查及排错:

可以用下面的命令查看nfs服务有没有起来 # rpcinfo -p localhost | grep nfs

从linux客户端加载nfs共享文件系统的命令语法 # mount -t nfs 例如:

# mount -t nfs 192.168.1.99:/opt /mnt

1.1.10 查看CPU、内存、网卡等硬件的配置情况

在SLES下可以通过运行YaST2模块hwinfo查看各种硬件信息。

运行YaST2的hwinfo模块查看各种硬件信息 #LC_ALL=C LANG=C yast2 hwinfo

查看CPU信息

查看内存信息

查看网卡信息

查看PCI设备信息

在SLES下用命令行命令查看CPU,内存等设备的信息的方法如下: 查看cpu的信息 # cat /proc/cpuinfo 查看内存的信息 # cat /proc/meminfo 查看网卡等硬件的信息 #lspci | grep Ethernet 查看SCSI控制器信息 #lspci | grep SCSI

1.1.11 修改显示分辨率、刷新频率

可以通过手工修改/etc/X11/XF86Config文件的方式来改变分辨率,对于手工改变刷新频率,需要知道显示器支持的水平扫描频率和垂直扫描频率范围,这里提到的刷新率一般指的是垂直扫描频率。修改配置文件里Monitor Section的HorizSync和VertRefresh字段的值。

Section \"Monitor\"

Identifier \"Monitor[0]\"

ModelName \"1280X1024@70HZ\" Option \"DPMS\" VendorName \"--> LCD\" HorizSync 28-82 VertRefresh 57-70 EndSection

然后修改Screen Section的DefaultDepth所对应的SubSection的Modes Section \"Screen\" DefaultDepth 16 SubSection \"Display\" Depth 15

Modes \"0x480\" EndSubSection SubSection \"Display\" Depth 16

#将Modes改为 1024x768 800x600 0x480 Modes \"1024x768\" \"800x600\" \"0x480\" EndSubSection SubSection \"Display\" Depth 24

Modes \"0x480\" EndSubSection SubSection \"Display\" Depth 32

Modes \"0x480\" EndSubSection SubSection \"Display\" Depth 8

Modes \"0x480\"

EndSubSection

Device \"Device[0]\" Identifier \"Screen[0]\" Monitor \"Monitor[0]\" EndSection

1.2 服务器系统的可靠维护手段

在本章中我们向您介绍在linux下的文件系统维护和备份方法。

1.2.1 修复文件系统

在SLES8/9上, 系统安装时默认的文件系统是reiserfs, 其他的文件系统如: ext3, jfs, xfs等都是日志文件系统. 这些日志文件系统在系统启动时会做检查/etc/fstab里面记录的文件系统, 并作出自动修复. 通常情况下不需要用户的交互.

如果用户因为变更/etc/fstab加入了无效的文件系统记录, 系统自动检测会失败, 会进入管理员模式, 让管理员进行维护. 管理员首先应该根据console上记录的出错判断fsck返回错误的文件系统是哪个文件系统. 然后作相应的处理.

一旦发生文件系统失败, 可以由管理员手工执行fsck, 在作fsck之前, 首先要根据数据的重要性,对文件系统所在的分区作备份!!!!

例如: /dev/sdc1上的文件系统保存业务系统的重要数据, 在系统正常工作时加载在/opt/serv_data

目录下, 首先需要对/dev/sdc1作备份, 然后进行手工修复 \"\"首先将/重新用defaults属性加载 # mount -o remount,defaults /

\"\"备份/dev/sdc1到/archives目录下的sdc1.dat文件, 确保目的文件系统有足够大的空间 # dd if=/dev/sdc1 of=/archives/sdc1.dat \"\"假设/dev/sdc1文件系统类型为ext3 # fsck.ext3 /dev/sdc1

\"\"假设/dev/sdc1文件系统类型为reiserfs # fsck.reiserfs /dev/sdc1

关于fsck.ext3和fsck.reiserfs的详细帮助,请参见man e2fsck(8)和man reiserfsck(8)

1.2.2 在SLES下的备份方法

服务器的安全性和可靠性是与备份密切相关的。定期备份是一件非常重要的事。错误随时会发生。有可能是硬件出错、电源问题或是人为的错误。如果你是系统管理员,很有可能有人会让你恢复一些被误删除的文件。如果定期备份,就能把这种损失减到最小。最安全的备份方法是把它们备份到别的地方,如:网络上、磁带、可移动驱动器(removable drive)

或可写光驱,等等。

在备份和还原系统时,Linux 基于文件的性质成了一个极大的优点。在 Windows 系统中,注册表与系统是非常相关的。配置和软件安装不仅仅是将文件放到系统上。因此,还原系统就需要有能够处理 Windows 这种特性的软件。在 Linux 中,情况就不一样了。配置文件是基于文本的,并且除了直接处理硬件时以外,它们在很大程度上是与系统无关的。硬件驱动程序的现代方法是,使它们以动态加载的模块的形式可用,这样内核就变得更加与系统无关。不同于让备份必须处理操作系统如何安装到系统和硬件上的复杂细节,Linux 备份处理的是文件的打包和解包。

一般情况下,以下这些目录是需要备份的:

目录名 /etc /var /home /root /opt 说明 包含所有核心配置文件。这其中包括网络配置、系统名称、防火墙规则、用户、组,以及其他全局系统项。 含系统守护进程(服务)所使用的信息,包括 DNS 配置、DHCP 租期、邮件缓冲文件、HTTP 服务器文件、db2 实例配置,等等。 包含所有用户的默认用户主目录。这包括他们的个人设置、已下载的文件和用户不希望失去的其他信息。 是根(root)用户的主目录。 是安装许多第三方软件的地方。用户的应用也经常安装在这个目录下。 在SLES下常用的备份方法主要有两种,一种是用tar进行备份和恢复,另外一种是用dd进行备份和恢复。

1.2.2.1 用tar进行备份和恢复

tar 是一个已移植到 Linux 中的经典 UNIX 命令。tar 是 tape archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果您下载过 Linux 源代码,或许已经碰到过 tar 文件。这是一个基于文件的命令,它本质上是连续地、首尾相连地堆放文件。 使用 tar 可以打包整个目录树,这使得它特别适合用于备份。归档文件可以全部还原,或从中展开单独的文件和目录。备份可以保存到基于文件的设备或磁带设备上。文件可以在还原时重定向,以便将它们重新放到一个与最初保存它们的目录(或系统)不同的目录(或系统)。tar 是与文件系统无关的。它可以使用在 ext2、ext3、 jfs、Reiser 和其他文件系统上。

使用 tar 非常类似于使用诸如 PKZip 这样的文件实用工具。只需将它指向一个目的(可以是文件或设备),然后指定您想要打包的文件。您可以通过标准的压缩类型来动态压缩归档文件,或指定一个自己选择的外部压缩程序。要通过 bzip2 压缩或解压缩文件,可使用 tar -z 命令。

使用tar进行备份的方法:

备份步骤 1确定要备份的目录和文件 示例 通常情况下用户可以选择要备份的目录,但是为了保证 系统和应用的一致性,我们建议用户备份除临时文件之外的所有文件 备注 要备份的目录 / 不备份的目录 /proc 2确定保存备份的设备 一般情况下,通常备份到外部存储设备上,我们的例子里备份设备是第一个非回卷磁带设备/dev/nst0 我们用文件系统上的文件作为备份的标识 # mkdir -p /backup # date +%Y\"-\"%m\"-\"%d\" \"%H\":\"%M\":\"%S > /backup/full_backup 进行第一次全备份 # tar -cpzMf /dev/nst0 / --exclude=/proc 3执行全备份 文件/backup/full_backup的内容是下一次备份时要使用的时间戳。 4定期执行增量备份 备份前,建立文件系统上的时间戳 # date +%Y\"-\"%m\"-\"%d\" \"%H\":\"%M\":\"%S > /backup/incr_backup_1 # tar –newer=`cat /backup/full_backup` -cpzMf /dev/nst0 / --exclude /proc 文件/backup/incr_backup_1的内容是下一次备份时要使用的时间戳。

使用tar进行恢复的方法:

恢复步骤 1确定恢复的磁盘设备 示例 新加一块磁盘,将来会在这块磁盘上建立分区和文件系统 备注 恢复步骤 2用系统安装光盘引导系统 进入manual->rescue模式 示例 插入SLES操作系统安装光盘, 加载所需的SCSI控制器的驱动模块 备注 3建立分区和文件系统 在新加入的磁盘上建立分区和文件系统 会用到命令mkfs.reiserfs/mkfs.ext3,fdisk等 4加载分区上的文件系统到 某个目录 5将磁带回卷 # mkdir /restore # mount /dev/sda1 /restore 执行命令 # mt -f /dev/nst0 rewind 6从磁带上恢复全备份 7从磁带上恢复增量备份

1.2.2.2使用dd进行备份/恢复

# tar -zxpvf /dev/nst0 # tar -zxpvf /dev/nst0 dd 是一个文件系统复制实用工具,它产生文件系统的二进制副本。dd还可用于产生硬盘驱动器的映像,类似于使用诸如 Symantec 的Ghost 这样的产品。然而,dd 不是基于文件的,因此您只能使用它来将数据还原到完全相同的硬盘驱动器分区。

使用dd进行磁盘备份的方法:

备份步骤 示例 备注 假设这个磁盘大小为60GB 1确定要备份的分区确定要备份第一块SCSI盘 或磁盘 在linux上设备名为/dev/sda 这个盘是操作系统和应用所在的磁盘,实际中可根据实际情况确定要备份的磁盘设备。 2选择备份镜像文件备份文件保存在共享存储上, 的存储 文件名为SLES_9_APP_20050107.img 假设共享存储设备名为/dev/sdc1,分区后有足够的自由空间, 在备份系统上加载在/mnt目录下 3切换到单用户 执行命令 # init 1 4加载共享存储 执行命令 # mount /dev/sdc1 /mnt 5运行dd命令生成磁盘镜像 执行命令 # dd if=/dev/sda of=/mnt/SLES_9_APP_20050107.img 使用dd进行磁盘恢复的方法:

恢复步骤 示例 备注 1用同类型的磁盘更替有故障更替系统上的第一块SCSI磁 的磁盘 盘/dev/sda 2用SLES安装光盘引导系统 插入SLES操作系统安装光盘, 进入manual->rescue模式 加载所需的SCSI控制器的驱动模块 3手工加载共享存储 执行命令 # mount /dev/sdc1 /mnt 恢复步骤 示例 备注 4用磁盘的备份镜像文件进行执行命令 恢复 # dd if=/mnt/SLES_9_APP_20050107.img of=/dev/sda 5恢复完毕后重启系统

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务