mysql 共享nfs nfs共享

2021-10-20 22:16:48 字數 3845 閱讀 7667

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 ...