用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技術,部署了異地災難數據備份應用,對一線應用系統的
實時數據進行異地備份,有力的保證了生產系
統計算機在完全崩潰後實時數據的有效恢復。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章