• 用Linux建立多应用系统备份服务器


    用Linux建立多应用系统备份服务器
    本文旨在结合自己的工作实际,利用LinuxFTP服务器建立了一个多系统备份服务器异地备份策略.
    1 建立LinuxFTP服务器
    使用了Red Hat Enterprise Linux 5 Update1, 以下所有实例中的Linux命令均在该操作系统下完成,为了增强数据备份的安全性、服务器网络连接的高可用性及吞吐量,在服务器中可以使用Raid技术增强数据的安全性和完整性,使用双网卡绑定技术来提高网络连接需要的性能。Raid 的具体实现可以根据用户各自的硬件环境采用Raid卡或着Linux提供的软件Raid实现,下面是Linux下实现软件Raid的具体实例。
    1.1 Linux创建软Raid的配置过程以Raids为例,在Linux中使用3块廉价IDE硬盘组建一个Raid5设备,从而实现数据的安全性。组成Raid5设备的3块IDE硬盘在Linux中的设备文件名分别为:/dev/hdb (第2个IDE硬盘)、 /dev/hdc (第3个IDE硬盘)、/dev/hdd(第4个IDE硬盘)。(1)创建新磁盘分区用root用户执行命令#fdisk /dev/hdb, 完成对第2 个IDE 硬盘的格式化。
    在Command(m for help) :提示下输入n,即
    创建新的磁盘分区。
    在Command action
    e   extended
    p   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 ,即保存退出。
    重复以上步逐,在其余2块硬盘上创建Linux-Raid分区。完成后需要重新启动Linux主机,以使设置生效。
    (2)创建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”指设置块的
    尺寸为128 kb, 缺省为64 kb ; “/dev/hd[b, c,d,]1” 指当前阵列中包含的所有设备标识符,也可以分开来写,中间用空格分开。当创建一个新阵列或者对阵列重构时,设备需要进行同步操作。这一过程需要一定时间,可以通过查看/proc/mdstat文件, 来显示阵列的当前状态以
    及同步进度、所需时间等信息。
    # more /proc/mdstat
    Personalities : [raid5]
    md0 : active raid5 hdd1[2] hdc1[1] hdb1[0]
    75469842 blocks level 5, 128 k chunk, algorithm  2
    [3/2] [UU_]
     [>....................] recovery = 4.3  % (1622601/
    37734912) finish=1.0min speed=15146K/sec
    unused devices:
    当新建或重构完成后,再次查看/proc/mdstat
    文件:
    # more /proc/mdstat
    Personalities : [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位数表示阵
    列所包含的设备数,第2位数表示活动的设备数,如
    果有一个设备损坏,则第2位数将减1; “[UUU]”标
    记当前阵列可以正常使用的设备情况,现假设/dev/
    hdb1出现故障,则该标记将变成 [_UU],这时的阵
    列以降级模式运行,即该阵列仍然可用,但是不再
    具有任何冗余; “sdd1[2]” 指阵列所包含的设备数为
    n,若方括号内的数值小于 n,则表示该设备为活动
    设备,若数值大于等于n,则该设备为备份设备,当
    一个设备出现故障的时候,相应设备的方括号后将
    被标以(F)。
    3)配置Raid设备
    接下来为mdadm生成配置文件, mdadm的缺省
    配置文件为/etc/mdadm.conf,为了方便阵列的日常
    管理而设置的,为了减少日后管理中不必要的麻
    烦,还是应该坚持把这一步做完。
    在mdadm.conf文件中要包含两种类型的行:一
    种是以DEVICE 开头的行,它指明在阵列中的设备
    列表;另一种是以ARRAY 开头的行,它详细地说
    明了阵列的名称、模式、阵列中活动设备的数目以
    及设备的UUID 号。
    (4)生成文件系统
    创建文件系统并挂接(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目录中建立备份系统目录结构,以
    实现备份服务器应具备的全部功能。
    1.2  FTP服务器及备份目录结构的设置
    设定3 个不同的用户权限:upload 用户,用于
    上传数据; download用户,用于下载数据;admin用
    户,作为管理员。为了有效地保护系统安全,这些
    用户都不能登录系统,并且用FTP 连接时锁定在自
    己的根目录中不能进入系统文件夹。
    创建FTP 用户的命令如下:
    (1)  vi logins.txt
    1>upload
    2>upload  (注:本行的“upload”为“upload”
    用户的密码)
    3>download
    4>download
    5>admin
    6>admin
    此文本文件的格式是单数行为用户名,偶数行
    为密码。
    (2) db_load -T -t hash -f logins.txt /etc/vsftpd_log-
    in.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=NO
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    anon_other_write_enable=NO
    chroot_local_user=YES
    guest_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/upload
    vi /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服务器,就可以使用以上创建
    的3 个功能不同的用户来实现其各自不同的功能。
    在/ftp目录中建立备份系统目录树结构。 将在
    /ftp 目录中以车站电报码为各车站数据备份一级目
    录,在一级目录下再依次建立相关系统的备份目
    录,这样室的数据将被异地备份到vsftpd服务器
    中的相关备份目录中,目录结构图如图1。
     
    2 部署各应用系统的备份策略
     
    本文通过使用Linux系统提供的FTP服务器,结
    合Linux系统提供的软Raid技术,部署了异地灾难数据备份应用,对一线应用系统的
    实时数据进行异地备份,有力的保证了生产系
    统计算机在完全崩溃后实时数据的有效恢复。
     

    本文出自 “李晨光原创技术博客” 博客,转载请与作者联系!

  • 相关阅读:
    兼容火狐回车事件
    html的锚链接位置偏差解决
    jq记住密码
    PHP界面显示中文乱码
    ThinkPHP5.0学习1
    Fatal error: Call to undefined function pasterTempletDiy()
    dede问答模块修改
    PHP:Deprecated: Function set_magic_quotes_runtime() is deprecated 错误
    jq根据文本显示内容设置样式
    Tomcat Remote Debug操作和原理
  • 原文地址:https://www.cnblogs.com/chenguang/p/3742529.html
Copyright © 2020-2023  润新知