nfs實驗

實驗要求:

(1) 創建一個共享mydata,路徑為/mysql/data,客戶端1掛載至/mydata;而后客戶端1主機安裝mysql或mariadb,將數據目錄設定為/mydata,要確保mysql服務能正常 運行,但數據目錄位于nfs server上;

(2) 客戶端2主機使用類似客戶端1主機的方式掛載mydata共享至本地的/mydata目錄,而后,直接安裝mysql或mariadb server,設定其數據目錄為/mydata;測試

(a) 客戶端1 mysql服務運行時,客戶端2的mysql服務能否啟動?

(b) 客戶端1 mysql服務停止時,客戶端2的mysql服務能否啟動?

實驗步驟:

    

PC1NFS服務器,配置:

1)創建共享目錄

~]# mkdir -p /mysql/data/mydata

2)創建本地用戶,UID必須是27

~]# useradd -M -r -s /sbin/nologin -u 27 mysql

3)設置MySQL用戶對共享目錄有讀寫權限

~]# chown mysql:mysql /mysql/data/mydata/

4)修改NFS配置文件

~]# vi /etc/exports

/mysql/data/mydata      10.1.0.0/16(rw,root_squash)

5)啟動服務

~]# yum install nfs-utils 最小化安裝沒有rpcbind,需要安裝這個包

~]# systemctl start rpcbind 先啟動rpc,不然會報錯

~]# systemctl start nfs

 

PC2centos 7)為客戶端1,配置:

1)安裝nfs工具

]# yum install -y nfs-utils

2)查看網絡中的NFS共享目錄

]# showmount -e 10.1.12.12

3)創建本地掛載目錄

]# mkdir /mydata

4)掛載nfs網絡共享目錄

]# mount -t nfs 10.1.12.12:/mysql/data/mydata /mydata/

5)安裝MySQL數據庫(centos 6mysql

]# yum install -y mariadb-server

6)將數據目錄設定為掛載目錄

]# vi /etc/my.cnf

datadir=/mydata

7)啟動數據庫

~]# systemctl start mariadb

8)查看 /mydata目錄下有沒有生成MySQL的文件

]# ls /mydata/

PC3centos7)為客戶端2,配置:

PC2的操作一樣

安裝nfs-utils

創建本地掛載目錄

掛載nfs網絡共享目錄

安裝MySQL數據庫

MySQL數據庫目錄設置為掛載目錄

然后嘗試啟動mysql,

然后關閉PC2 上面的MySQL,再啟動,看能否成功

結論:倆個MySQL只能同時啟動一個,

 

實驗中遇到的問題:

在nfs服務器上對MySQL用戶做授權時,

理論上,nfs服務器上的系統用戶對共享目錄有讀寫執行權限(做setfacl),并且在配置文件中也給了rw權限時,另一臺掛載共享目錄的主機上,

相同UID GID 等 ]#id USER 命令結果相同的用戶,也可以對共享目錄有讀寫執行權限,也就是說:MySQL可以啟動

但是MySQL不能啟動是為什么?此時,/etc/exports文件中參數是(rw,no_root_squash)。root也可以對共享目錄有全套權限。

當我把facl權限去掉,并將共享目錄的屬主和屬組改為MySQL時,MySQL服務就可以啟動了!

理論上,這倆中方法是用戶對目錄都有全套權限,而且root用戶也是全套權限,但為什么,facl權限就無法啟動???

沒學好,向大神求解!

問題二

在特殊情況下,倆臺MySQL服務器可同時啟動!

1)在PC1上啟動MySQL;

2)在nfs服務器上刪除共享目錄中MySQL啟動時生成的文件;若在PC1上刪除,會報錯,MySQL文件夾不能被刪除,里面有nfs的文件

3)PC1 上的MySQL服務已經起來,在PC2上啟動MySQL就行,同時在PC2的MySQL創建數據庫和表,在PC1的MySQL中也可以查看,在NFS服務器的共享目錄中也有庫文件生成

但是在PC2上創建的表中的內容,另一個PC上的MySQL不能查看內容,只能看到表的名稱

問題三

如果沒有關閉selinux的話,會有selinux安全上下文標簽,這也會導致無法啟動MySQL服務器

如果是showmount找不到共享目錄,一般是iptables的問題,iptables -F清空一下就好了

原創文章,作者:cszdz123,如若轉載,請注明出處:http://www.www58058.com/53999

(0)
cszdz123cszdz123
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • 網絡管理的相關命令

    今天要說的是有關網絡的一些相關內容,主要介紹的有以下幾點:網絡的服務:Centos6/7中的常用命令,如何手動配置網絡,路由表的相關內容,關于Bond(僅主機模式)網絡接口的配置以及Bridge(橋接)的網絡接口配置。 首先要說的是網絡的服務: 1,Centos6/7的常用網絡的命令: Centos6:禁用網卡:ifconfig 網卡名 down啟用網卡:i…

    2017-09-07
  • DNS and BIND 初步

    DNS and bind 初步 前言 TCP/IP協議通信是針對于ip地址的,你說我要是去淘寶買東西,怎么可能記住ip地址,我要是去百度買東西,也記不住啊,所以針對于此,就出現了這樣一個翻譯器,起一個名字,跟ip地址對應。是多對一還是一對多呢,都可以,我幾個ip指向一個網址也沒問題,幾個網址指向一個ip也可以。 對于反向域名解析功能等以后用到再做總結,反向域…

    Linux干貨 2016-12-06
  • Linux網絡屬性管理

      ifconfig命令 ifconfig [interface] # ifconfig -a # ifconfig IFACE [up|down] ifconfig interface [aftype] options | address … # ifconfig IFACE IP/mask [up] # ifconfig IFACE…

    Linux干貨 2015-09-26
  • Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置

    Linux網絡屬性配置(三)&& CentOS 7網絡配置 Linux網絡屬性配置(三)修改配置文件&& CentOS 7 網絡配置 Linux網絡屬性配置(三)修改配置文件 IP、MASK、GW、DNS相關配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 路由相關配置文件: /…

    Linux干貨 2016-07-07
  • sed和vim

    1、如何設置tab縮進為4個字符? vi .vimrc //編輯用戶家目錄下的vim配置文件 set tabstop=4 2、復制/etc/rc.d/init.d/functions文件至/tmp 目錄;替換/tmp/functions 文件中的/etc/sysconfig/init 為/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干貨 2016-08-10
  • Linux基礎目錄命名的法則及規定功能

    Filesystem Hierarchy Standard (FHS):重點在于規范每個特定的目錄下應該要放置什么樣子的數據。 這樣做好處是,在Linux操作系統就能夠在既有的面貌下(目錄架構不變)發展出開發者想要的獨特風格。 /bin:系統有很多放置執行文件的目錄,但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。 在/bin底下…

    Linux干貨 2017-07-02
欧美性久久久久