使用Linux建立多系统备份服务器的应用_2

  • 格式:doc
  • 大小:114.50 KB
  • 文档页数:13

使用Linux建立多应用系统备份服务器的实例安康车站解宝琦安康车务段卢军 0548-21712摘要:使用LinuxFtp服务器结合DOS批处理命令在车务段电算室一级建立一个多系统备份服务器异地备份策略,对一线计算机产生的实时数据进行异地备份,保证了在各车站主机完全崩溃的灾难性时刻能短时间及时的恢复系统应用,该实例已通过现场测试并开始使用,能够满足实际工作需要。

关键词:Linux; 备份; 灾难恢复; 实例随着铁路信息化建设的不断加快,计算机信息系统已经成为铁路系统日常生产、办公的重要工具和载体,计算机信息系统越来越多的在各种核心工作环节和工作流程中发挥着巨大的作用,特别是铁路信息系统中部分对实时性要求极高的应用已成为生产工作的重要基本保障。

作为铁路计算机信息系统重要组成部分之一的车站端各应用主机更是承担着整个铁路信息系统原始数据生成、上报,对上层应用数据接收并发挥组织生产功能的重要作用。

但长期以来车站计算机系统因为所处的工作环境相对恶劣,故障率相对较高,常常出现计算机故障后实时数据丢失的严重问题,对生产工作带来比较大的负面影响。

为了能使车站端各应用主机具有良好的可用性,及时修复故障,有效的缩短因为系统故障对铁路日常生产、工作造成的不良影响,提高系统的稳定性。

采用先进的技术对铁路计算机信息系统数据进行有效备份是广大基层电算人员的重要工作之一。

本文旨在结合自己的工作实际,利用LinuxFTP服务器和DOS批处理命令建立了一个多系统备份服务器异地备份策略,从而保证了在各车站主机完全崩溃的灾难性时刻能短时间及时的恢复系统应用,满足生产、工作对计算机信息系统的有效使用。

一、建立LinuxFTP服务器关于Linux主机的安装我们可以在网络上找到很多的相关资料,在这里不再阐述,这里我们使用了Red Hat Enterprise Linux4Update4,以下所有实例中的Linux命令均在该操作系统下完成,为了增强数据备份的安全性、服务器网络连接的高可用性及吞吐量,我们在服务器中可以使用Raid技术增强数据的安全性和完整性,使用双网卡绑定技术来提高网络连接需要的性能。

Raid的具体实现可以根据用户各自的硬件环境采用Raid卡或着Linux提供的软件Raid实现,下面是Linux下实现软件Raid的具体实例:1、Linux创建软Raid的配置过程(以RAID5为例)我们在Linux中使用了3块廉价IDE硬盘组建一个RAID5设备,从而实现数据的良好安全性。

实例中组成RAID5设备的3块IDE硬盘在Linux中的设备文件名分别为:/dev/hdb(第二个IDE硬盘)、/dev/hdc(第三个IDE硬盘)、/dev/hdd(第四个IDE硬盘)。

第一步:创建新磁盘分区:用root用户执行命令#fdisk /dev/hdb,完成对第二个IDE硬盘的格式化。

在Command (m for help):提示下输入n,即创建新的磁盘分区。

在Command actione extendedp primary partition (1-4):提示下输入p,即创建主分区。

在Partition number (1-4): 提示下输入1 ,即分区号在First cylinder (1-522, default 1): 提示下按回车,即指定起始柱面(注意:括号中尾柱面数字取决于硬盘的具体型号)在Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): 提示下按回车,即指定尾柱面。

在Command (m for help): 提示下输入p ,即查看分区状态,如果看到/dev/sdb1等信息则说明分区成功。

在Command (m for help): 提示下输入t,即转换分区类型在Hex code (type L list codes): 提示下输入L,即显示分区编码列表在Hex code (type L list codes): 提示下输入fd,即LinuxRaid分区编码在Command (m for help): 提示下输入w ,即保存退出重复以上步逐,在其余两块硬盘上创建LinuxRaid分区。

完成后需要重新启动Linux主机,以使设置生效。

第二步:创建RAID设备执行命令# mdadm -Cv /dev/md0 -l5 -n3 -c128/dev/hd[b,c,d]1命令中各参数的作用如下:“-C”:创建一个新的阵列;“/dev/md0”:表示阵列设备名称;“-l5”表示设置阵列模式,可以选择0、 1、4、 5、6,它们分别对应于RAID0、RAID1、RAID4、RAID5、RAID6,这里设为RAID5模式;“-n3”指设置阵列中活动设备的数目,该数目加上备用设备的数目应等于阵列中的总设备数; “-c128”指设置块的尺寸为128KB,缺省为64KB;“/dev/hd[b, c,d,]1”指当前阵列中包含的所有设备标识符,也可以分开来写,中间用空格分开。

当创建一个新阵列或者对阵列重构时,设备需要进行同步操作。

这一过程需要一定时间,可以通过查看/proc/mdstat文件,来显示阵列的当前状态以及同步进度、所需时间等信息。

# more /proc/mdstatPersonalities : [raid5]md0 : active raid5 hdd1[2] hdc1[1] hdb1[0]75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [UU_][>....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146K/secunused devices:当新建或重构完成后,再次查看/proc/mdstat文件:# more /proc/mdstatPersonalities : [raid5]md0 : active raid5 hdd1[2] hdc1[1] hdb1[0]75469842 blocks level 5, 128k chunk, algorithm 2 [3/3][UUU]unused devices:通过以上内容,可以很清楚地看出当前阵列的状态,各部分所代表的意思如下:“[3/3]”中的第一位数表示阵列所包含的设备数,第二位数表示活动的设备数,如果有一个设备损坏,则第二位数将减1;“[UUU]”标记当前阵列可以正常使用的设备情况,现假设/dev/hdb1出现故障,则该标记将变成 [_UU],这时的阵列以降级模式运行,即该阵列仍然可用,但是不再具有任何冗余;“sdd1[2]”指阵列所包含的设备数为n,若方括号内的数值小于 n,则表示该设备为活动设备,若数值大于等于n,则该设备为备份设备,当一个设备出现故障的时候,相应设备的方括号后将被标以(F)。

第三步:配置RAID设备接下来我们为mdadm生成配置文件, mdadm的缺省配置文件为/etc/mdadm.conf,它主要是为了方便阵列的日常管理而设置的,对于阵列而言不是必须的,但是为了减少日后管理中不必要的麻烦,还是应该坚持把这一步做完。

在mdadm.conf文件中要包含两种类型的行:一种是以DEVICE开头的行,它指明在阵列中的设备列表;另一种是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。

格式如下:DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1ARRAY /dev/md0 level=raid5 num-devices=3UUID=8f128343:715a42df: baece2a8: a5b878e0以上的这些信息可以通过扫描系统的阵列来获取,命令为:# mdadm -DsARRAY /dev/md0 level=raid5 num-devices=3UUID=8f128343:715a42df: baece2a8devices=/dev/hdb1,/dev/hdc1,/dev/hdd1使用vi命令,按照规定的格式编辑修改/etc/mdadm.conf文件# vi /etc/mdadm.conf第四步:生成文件系统创建文件系统并挂接(mount)使用。

RAID5已经启动并处于运行状态,现在要做的就是在其上创建一个文件系统,这里使用mkfs命令,文件系统类型为ext3。

命令如下:# mkfs -t ext3 /dev/md0 //以ext3文件系统格式化RAID5设备当新的文件系统生成之后,就可以将/dev/md0挂接到指定的目录了。

命令如下:# mount /dev/md0 /ftp //挂接/dev/md0设备到/ftp目录为了让系统在启动时自动将/dev/md0挂接到/ftp,还需要修改/etc/fstab文件,添加如下内容:/dev/md0 /ftp ext3 defaults 0 0这样在系统重新启动后,RAID5设备/dev/md0将被自动挂接到/ftp 目录中,我们对目录/ftp的操作实际就是对RAID5设备/dev/md0的操作。

通过以上步骤,我们完成了在Linux系统下创建软件Raid的配置过程,接写下来我们将使用Linux提供的vsftpd服务器,创建一个具有不同功能权限的ftp服务器用户,并在/ftp目录中建立备份系统目录结构,以实现备份服务器应具备的全部功能。

2、FTP服务器及备份目录结构的设置我们设定三个不同的用户权限:upload用户,用于上传数据;download用户,用于下载数据;admin用户,作为管理员。

为了有效的保护系统安全这些用户都不能登录系统,并且用ftp连接时锁定在自己的根目录中不能进入系统文件夹。

创建FTP用户的命令如下:(1) vi logins.txt1>upload2>upload (注:本行的“upload”为“upload”用户的密码)3>download4>download5>admin6>admin说明,此文本文件的格式是:单数行为用户名,偶数行为密码(2)db_load -T -t hash -f logins.txt /etc/vsftpd_login.db (3)chmod 600 /etc/vsftpd_login.db(4)useradd -d /ftp virtual;chmod 700 /ftp(5)修改FTP配置文件:在/etc/vsftpd.conf文件中插入下面的配置语句Anonymous_enable=NO(禁止匿名用户)guest_enable=YES(启用虚拟用户)write_enable=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOchroot_local_user=YESguest_username=virtual(将虚拟用户映射为本地virtual用户)pam_service_name=vsftpd.pam(指定PAM配置文件为在/etc/pam.d/下的vsftpd)user_config_dir=/etc/vsftpd_user_conf(指定不同虚拟用户配置文件的存放路径)保存退出(6) cp /usr/share/doc/vsftpd-2.0.1/EXAMPLE/VIRTUAL_USRES/vsftpd.pam /etc/pam.d/(7)mkdir /etc/vsftpd_user_conf(8)开放不同用户的不同权限echo"anon_world_readable_only=NO">/etc/vsftpd_user_conf/download (开放 download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录)cp /etc/vsftpd_user_conf/download/etc/vsftpd_user_conf/uploadvi /etc/vsftpd_user_conf/upload,添加下列行write_enable=YES (增加写权限)anon_upload_enable=YES(增加上传权限)anon_world_readable_only=YES (禁止列出文件和目录)anno_other_write_enable=YES(增加用户的删除/重命名的权限)cp /etc/vsftpd_user_conf/upload /etc/vsftpd_user_conf/admin 修改一行:anon_world_readable_only=NO重新启动vsftpd服务器,我们就可以使用以上创建的三个功能不同的用户来实现其各自不同的功能。