nfs共享
實驗環境:
服務端:192.168.36.158
客戶端:192.168.36.159
iptables and selinux disabled
一.nfs(net file system)簡介
nfs分為伺服器和客戶機兩部分,每個主機都有自己的核心級服務:外部資料表示(xdr,external data representation)、遠端過程呼叫(rpc,remote procedure call)、i/o監控程式和鎖監控程式。每個主機還有自己的使用者級服務。核心級服務和使用者級服務都依賴於主機的功能:nfs客戶機或者是nfs伺服器。當然,還要依賴於每個主機使用的不同功能的配置檔案(如果是伺服器,則用的是/etc/exports配置檔案,如果是客戶機,則用的是/etc/fstab配置檔案)。如果一台主機既是伺服器又是客戶機,那麼它需要執行兩個部分的服務。
二.共享資源
/etc/exports引數詳解
rw 可讀寫的許可權
ro 唯讀的許可權
no_root_squash 登入到nfs主機的使用者如果是root使用者,他就擁有root的許可權
root_squash 在登入nfs主機使用目錄的使用者如果是root時,那麼這個使用者的許可權將被壓縮成為匿名使用者,通常他的uid與gid都會變成nobody那個身份
all_squash 不管登陸nfs主機的使用者是什麼都會被重新設定為nobody
anonuid 將登入nfs主機的使用者都設定成指定的userid,此id必須存在於/etc/passwd中
anongid 同anonuid,但是變成groupid就是了
sync 資料同步寫入儲存器中
async 資料會先暫時存放在記憶體中,不會直接寫入硬碟
insecure 允許從這台機器過來的非授權訪問
exportfs[-aruv] 引數
a 全部掛載(或解除安裝)/etc/exports檔案內的設定
r 重新掛載/etc/exports 裡面的設定,也同步的更新/etc/exports和/var/lib/nfs/xtab裡面的內容
u 解除安裝某一目錄
v 在export的時候,將分享的目錄顯示到螢屏上
#exportfs -rv 重新export一次
#exportfs -au 全部解除安裝
服務端# yum install -y nfs nfs-utils rpcbind
# /etc/init.d/rpcbind start
# /etc/init.d/nfs start
# mkdir /test
# cd /test/
# touch file
# vim /etc/exports
/test 192.168.36.159(rw)
# exportfs -rv
# showmount -e localhost
export list for localhost:
/test 192.168.36.159
客戶端# yum install -y nfs nfs-utils rpcbind
# showmount -e 192.168.36.158
export list for 192.168.36.158:
/test 192.168.36.159
# mount 192.168.36.158:/test /mnt/
# df
192.168.36.158:/test 18208256 2638592 14638080 16% /mnt
cd /mnt/
# ls
file1 file2 file3
# rm -f file1
rm: cannot remove `file1': permission denied
# touch file4
touch: cannot touch `file4': permission denied
服務端# ls -ld .
drwxr-xr-x. 2 root root 4096 aug 19 04:30 .
# chmod 1777 .
# ls -ld .
drwxrwxrwt. 2 root root 4096 aug 19 04:30 .
客戶端# touch file4
# ll
total 0
-rw-r--r--. 1 root root 0 aug 19 04:30 file1
-rw-r--r--. 1 root root 0 aug 19 04:30 file2
-rw-r--r--. 1 root root 0 aug 19 04:30 file3
-rw-r--r--. 1 nfsnobody nfsnobody 0 aug 19 04:37 file4
# rm -f file4
服務端/test 192.168.36.159(rw,no_root_squash)
# exportfs -rv
exporting 192.168.36.159:/test
客戶端在掛載目錄mnt下
# touch file4
# ll
total 0
-rw-r--r--. 1 root root 0 aug 19 04:30 file1
-rw-r--r--. 1 root root 0 aug 19 04:30 file2
-rw-r--r--. 1 root root 0 aug 19 04:30 file3
-rw-r--r--. 1 root root 0 aug 19 04:52 file4
二.多個共享資源
服務端根目錄下建立目錄/public和/public2
[root@test1 public]# mkdir /public2
[root@test1 public]# cd ../public2
[root@test1 public2]# touch file
/public 192.168.36.159(rw,no_root_squash)
/public2 192.168.36.159(ro,sync)
[root@test1 ~]# exportfs -rv
exporting 192.168.36.159:/public2
exporting 192.168.36.159:/public
客戶端[root@test1 test]# showmount -e 192.168.36.158
export list for 192.168.36.158:
/public2 192.168.36.159
/public 192.168.36.159
[root@test1 ~]# umount /mnt/
[root@test1 ~]# mount 192.168.36.158:/ /mnt/
192.168.36.158:/ 18208256 2780544 14496128 17% /mnt
[root@test1 ~]# cd /mnt/
[root@test1 mnt]# ls
public public2
[root@test1 mnt]# cd public
[root@test1 public]# ls
test test2
[root@test1 public2]# touch file1
touch: cannot touch `file1': read-only file system
[root@test1 public2]# rm -f file2
rm: cannot remove `file2': read-only file system
mysql共享記憶體 MySQL全域性共享記憶體介紹
前言 全域性共享記憶體則主要是 mysql instance mysqld程序 以及底層儲存引擎用來暫存各種全域性運算及可共享的暫存資訊,如儲存查詢快取的 query cache,快取連線線程的 thread cache,快取表檔案控制代碼資訊的 table cache,快取二進位制日誌的 binl...
mysql共享記憶體 MySQL全域性共享記憶體介紹
前言 全域性共享記憶體則主要是 mysql instance mysqld程序 以及底層儲存引擎用來暫存各種全域性運算及可共享的暫存資訊,如儲存查詢快取的 query cache,快取連線線程的 thread cache,快取表檔案控制代碼資訊的 table cache,快取二進位制日誌的 binl...
MySQL 共享排他鎖 mysql 共享排他鎖
1 基礎知識 共享鎖又叫s鎖 share locks 共享鎖就是多個事務對於同一資料可以共享一把鎖,都能訪問到資料,但是只能讀不能修改。排他鎖又叫x鎖 exclusive locks,記為x鎖 排他鎖就是不能與其他鎖並存,只有等待鎖釋放完成以後其他事務才能得到鎖。下面是共享鎖與排他鎖的互斥關係 s ...