【NFS】Linux配置NFS共享常用SQL指令碼目錄

secooler發表於2010-01-21
每一位DBA都會有一套或幾套常用的維護指令碼,如何在眾多的伺服器間共享並統一維護這些指令碼呢?
這裡給出一種使用NFS方法共享一套SQL指令碼的方法,當然NFS的魅力不僅僅體現在這裡。

NFS是Network File System的簡寫,就是耳熟能詳的網路檔案系統。這裡介紹的是Linux上的NFS的配置方法。

1.安裝NFS需要開啟的服務
nfs和portmap。

2.注意防火牆以及SElinux
1)檢視防火牆狀態的方法
[root@secDB1 ~]# service iptables status
Firewall is stopped.
2)若未關閉,使用下面的命令關閉防火牆
[root@secDB1 ~]# service iptables stop

最簡單的方法是關閉防火牆,如果是生產環境需要按需定製。

3.確認所需要的包均已安裝妥當
[root@secDB1 ~]# rpm -qa | grep nfs
nfs-utils-lib-1.0.8-7.2.z2
nfs-utils-1.0.9-40.el5
nfs4-acl-tools-0.3.1-1.el5.1
system-config-nfs-1.3.23-1.el5
[root@secDB1 ~]# rpm -qa | grep portmap
portmap-4.0-65.2.2.1

4.若所需的報未安裝,可以到系統安裝光碟中找到所需的包按照如下方法進行安裝
# rpm –ivh nfs*
# rpm –ivh portmap

5.配置NFS
[root@secDB1 oracle]# vi /etc/exports
/home/oracle/sql *(rw)

這個檔案裡我們只需編輯倆個欄位:前面的為共享目錄,後面的為哪些人可以訪問以及訪問許可權,*代表所有人,(rw)表示只讀許可權,也可以設定為只讀許可權(ro)。

6.啟動NFS相關服務
[root@secDB1 oracle]# service portmap restart
Stopping portmap:                                          [  OK  ]
Starting portmap:                                          [  OK  ]
[root@secDB1 oracle]#
[root@secDB1 oracle]#
[root@secDB1 oracle]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]

7.然後我們可以使用exportfs命令查詢輸出的目錄
[root@secDB1 oracle]# exportfs
/home/oracle/sql
               

8.客戶端掛載目錄方法
[root@secDB2 tmp]# mount 20.20.10.1:/home/oracle/sql /home/oracle/sql
注意,此時如果本機的/home/oracle/sql目錄下存在內容將會被新載入的目錄內容所替換,直到umount。
使用df命令檢視掛在後的效果
[root@asddevdb ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      127G  109G   12G  91% /
/dev/cciss/c0d0p1      99M   13M   82M  13% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm
20.20.10.1:/home/oracle/sql
                      234G  187G   36G  85% /home/oracle/sql

9.解除安裝方法
# umount /home/oracle/sql

10.保證系統重啟後仍能自動掛在指令碼目錄
修改/etc/rc.d/rc.local檔案
[root@secDB2 ~]# vi /etc/rc.d/rc.local
#!/bin/sh
#
# This script. will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style. init stuff.

touch /var/lock/subsys/local

mount 20.20.10.1:/home/oracle/sql /home/oracle/sql
~
~
~

11.小結
在Linux作業系統上經過如上一番的配置,我們便可以只在一臺伺服器上啟動NFS服務,讓其他所有伺服器掛載這個共享的目錄。
從此我們將不會再因一個指令碼的小變化而去手工同步不同伺服器上的指令碼了。
自動化並解放雙手是我們永恆的追求……

Good luck.

secooler
10.01.21

-- The End --



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-625722/,如需轉載,請註明出處,否則將追究法律責任。

相關文章