Linux 网络文件共享服务详细介绍
Linux 網絡文件共享介紹
- 一.常見的存儲類型
- 1.1 DAS 類型的存儲
- 1.2 NAS 類型的存儲
- 1.3 SAN 類型的存儲
- 1.4 三種存儲類型的比較
- 二.文件傳輸協議 FTP
- 2.1 FTP 工作原理
- 2.2 常見的 FTP 軟件
- 2.2.1 vsftpd 軟件
- 2.2.2 vsftpd 服務常見配置
- 2.2.2.1 命令端口配置
- 2.2.2.2 主動模式端口
- 2.2.2.3 被動模式端口范圍
- 2.2.2.4 使用當地時間
- 2.2.2.5 使用匿名用戶登錄
- 2.2.2.6 允許匿名上傳文件
- 2.2.2.7 指定匿名用戶的上傳文件的默認的所有者和權限
- 2.2.2.8 Linux 系統用戶
- 2.2.2.9 將系統用戶映射為指定的 guest 用戶
- 2.2.2.10 限定系統用戶在指定目錄
- 2.2.2.11 啟用日志
- 2.2.2.12 啟用提示信息
- 2.2.2.13 PAM 模塊實現用戶訪問控制
- 2.2.2.14 是否啟用控制用戶登錄的列表文件
- 2.2.2.15 vsftpd 服務指定用戶身份運行
- 2.2.2.16 連接數限制
- 2.2.2.17 傳輸速率,字節/秒
- 2.2.2.18 連接時間:秒為單位
- 2.2.2.19 優先以文本方式傳輸
- 2.2.2.20 實現基于 SSL 的 FTPS
- 2.2.3 vsftpd 虛擬用戶概念
- 2.2.4 基于文件驗證的虛擬用戶
- 2.2.4.1 創建用戶數據文件
- 2.2.4.2 創建用戶訪問 FTP 共享文件目錄
- 2.2.4.3 創建 pam 配置文件
- 2.2.4.4 指定 pam 配置文件
- 2.2.4.4 每個虛擬用戶建立獨立的配置文件
- 2.2.5 基于 mysql 驗證的虛擬用戶
- 2.2.5.1 環境準備
- 2.2.5.2 在數據庫服務器上安裝 mysql 數據庫
- 2.2.5.3 在數據庫服務上配置數據庫支持 vsftpd 服務
- 2.2.5.4 在 FTP 服務器上安裝 vsftpd 和 pam_mysql 包
- 2.2.5.5 在 FTP 服務器上建立 pam 認證所需文件
- 2.2.5.6 建立相應用戶和修改 vsftpd 配置文件
- 2.2.5.7 在 FTP 服務器上配置虛擬用戶具有不同的訪問權限
- 三.文件共享服務
- 3.1 NFS 分布式文件系統協議
- 3.2 NFS 工作原理
- 3.3 NFS 軟件
- 3.4 NFS 配置
- 3.5 NFS 相關工具
- 3.5.1 rpcinfo
- 3.5.2 exports
- 3.5.3 showmount
- 3.5.4 mount.nfs
- 3.6 自動掛載文件系統
- 3.6.1 相關文件
- 3.6.2 配置文件格式
- 3.7 案例
- 3.7.1 目標
- 3.7.2 環境準備
- 3.7.3 步驟
- 四.SAMBA 服務
- 4.1 SAMBA 服務介紹
- 4.2 SAMBA 軟件介紹
- 4.3 SAMBA 客戶端工具
- 4.3.1 使用 smbclient 訪問 SAMBA 服務器
- 4.3.2 掛載 CIFS 文件系統
- 4.4 管理 SAMBA 用戶
- 4.4.1 samba 用戶
- 4.4.2 管理用戶命令
- 4.5 SAMBA 服務器配置
- 4.5.1 SAMBA 服務器全局配置
- 4.6 案例
- 4.6.1 利用 SAMBA 實現指定目錄共享
- 4.6.2 實現不同 samba 用戶訪問相同的 samba 共享,實現不同的配置
- 五.數據同步 rsync
- 5.1 數據實時同步技術
- 5.2 notify
- 5.2.1 notify 需要內核支持
- 5.2.2 inotify-tools 工具
- 5.3 rsync
- 5.3.1 rsync 命令
- 5.3.2 以獨立服務方式運行 rsync
- 5.4 同步腳本示例
- 六.案例
一.常見的存儲類型
目前常見的存儲類型有 DAS,NAS,SAN 等,最主要的區別是硬盤存儲媒介是如何
于處理器連接的,以及處理器使用何種方式來訪問磁盤,以及訪問磁盤使用
的協議(網絡協議、I/O 協議)。
1.1 DAS 類型的存儲
- DAS 存儲是最常見的一種存儲方式,尤其是在中小企業應用中。PC 中的硬盤或只
有一個外部 SCSI 接口的 JBOD 都屬于 DAS 架構。DAS 是指存儲設備直接連接到
服務器總線上,存儲設備只與一臺獨立的主機連接,其他主機不能使用這個存儲
設備。DAS 存儲設備與服務器主機之間的連接通道通常采用 SCSI 連接,DAS 存儲
設備主要是磁盤陣列(RAID: Redundant Arrays of Independent Disks)、磁盤簇
(JBOD:Just a Bunch Of Disks)等。
1.2 NAS 類型的存儲
- NAS 存儲就是存儲設備通過標準的網絡拓撲結構(比如以太網)添加到一群計算
機上。與 DAS 以及 SAN 不同,NAS 是文件級的存儲方法。采用 NAS 較多的
功能是用來進行文件共享。 - NAS 存儲也通常被稱為附加存儲,顧名思義,就是存儲設備通過標準的網絡拓
撲結構(例如以太網)添加到一群計算機上。NAS 是文件級的存儲方法,它的重
點在于幫助工作組和部門級機構解決迅速增加存儲容量的需求。如今更多的人
們采用 NAS 較多的功能是用來文檔共享、圖片共享、電影共享等等,而且隨著
云計算的發展,一些 NAS 廠商也推出了云存儲功能,大大方便了企業和人們等
個人用戶的使用。 - NAS 產品是真正即插即用的產品。NAS 設備一般支持多計算機平臺,用戶通過
網絡支持協議可進入相同的文檔,因而 NAS 設備無需改造即可用于混合
Unix/Windows NT 局域網內,同時 NAS 的應用非常靈活。但 NAS 有一個關
鍵性問題,即備份過程中的帶寬消耗。與將備份數據流從 LAN 中轉移出去的
存儲區域網(SAN)不同,NAS 仍使用網絡進行備份和恢復。NAS 的一個缺點
是它將存儲事務由并行 SCSI 連接轉移到了網絡上。這就是說 LAN 除了必須
處理正常的最終用戶傳輸流外,還必須處理包括備份操作的存儲磁盤請求。
1.3 SAN 類型的存儲
- 存儲區域網絡,這個是通過光纖通道或以太網交換機連接存儲陣列和服務器主機,
最后成為一個專用的存儲網絡。SAN 經過十多年歷史的發展,已經相當成熟,成
為業界的事實標準(但各個廠商的光纖交換技術不完全相同,其服務器和 SAN
存儲有兼容性的要求)。
- SAN 提供了一種與現有 LAN 連接的簡易方法,并且通過同一物理通道支持廣
泛使用的 SCSI 和 IP 協議。SAN 不受現今主流的、基于 SCSI 存儲結構的
布局限制。特別重要的是,隨著存儲容量的爆炸性增長,SAN 允許企業獨立地增
加它們的存儲容量。SAN 的結構允許任何服務器連接到任何存儲陣列,這樣不管
數據置放在那里,服務器都可直接存取所需的數據。因為采用了光纖接口,SAN
還具有更高的帶寬。 - 如今的 SAN 解決方案通常會采取以下兩種形式:光纖信道以及 iSCSI 或者基于
IP 的 SAN,也就是 FC SAN 和 IP SAN。光纖信道是 SAN 解決方案中大家最熟
悉的類型,但是,最近一段時間以來,基于 iSCSI 的 SAN 解決方案開始大量出
現在市場上,與光纖通道技術相比較而言,這種技術具有良好的性能,而且價格低
廉。
何服務器連接到任何存儲陣列(好處是:不管數據放在哪里,服務器都可以直接
存取所需的數據)
ISCSI(SCSI over IP)以及 SAS(Serial Attached SCSI)接口。
1.4 三種存儲類型的比較
- 技術上
| DAS | NO | 使用并行 SCSI,光纖通道 | SCSI | 40MBps-160MBps,取決于媒介 | 手動配置,默認不共享 | NO |
| SNA | YES | 最常用光纖網絡,后來也可基于以太網 | SCSI | 100MBps or 200MBps | YES | 數據共享需要特定軟件配合,如 SANergy |
| NAS | YES | 以太網 | NFS,CIFS | 10Mbps–1Gbps | YES | YES |
- 優缺點和使用場景
較高的中小企業
但是部署靈活,成本低
- 應用和磁盤的交互
二.文件傳輸協議 FTP
2.1 FTP 工作原理
File Transfer Protocol(FTP):文件傳輸協議,是用于在計算機網絡上的客戶機和服務器
之間傳輸文件的標準應用層協議。FTP 是基于客戶端/服務器模型(C/S),并且使用不同的連
接來工作,將控制和數據傳輸分開,控制通道使用 TCP/21 端口,數據通道端口視情況而定。
FTP 用戶可以使用明文登錄協議進行身份驗證,通常是用戶名和密碼的形式,但如果服務器配
置允許,則可以匿名連接(此時連接的用戶名為 ftp 或者 anonymous)。對于保護用戶名和密
碼并對內容進行加密的安全傳輸,FTP 通常使用 SSL/TLS (FTPS)或 SSH 文件傳輸協議
(SFTP)進行保護。
第一個 FTP 客戶端應用程序是在操作系統具有圖形用戶界面之前開發的命令行程序,并且到
目前仍然隨大多數 Windows、Unix 和 Linux 操作系統一起提供。此后,許多 FTP 客戶端
和自動化實用程序被開發用于桌面、服務器和移動設備。
控制通道:客戶端:隨機 port —> 服務器:21/tcp
數據通道:客戶端:隨機 port <—服務器:20/tcp
控制通道:客戶端:隨機 port —> 服務器:21/tcp
數據通道:客戶端:隨機 port —> 服務器:隨機 port /tcp
例如:服務器被動模式數據端口
227 Entering Passive Mode (172,16,0,1,224,59)客服端主動連接服務器
可以在客戶端看到該消息,服務器數據端口計算:224*256+59
2.2 常見的 FTP 軟件
常見的 FTP 服務端軟件WU-FTP 的兩倍,據 ftp.redhat.com 提供的數據:FTP 單機最多可支持 15000 個并發連接。
ftp -A ftpserver port -A 主動模式 –p 被動模式
lftp –u username ftpserver
lftp username@ftpserver
lftpget ftp://ftpserver/pub/file
2.2.1 vsftpd 軟件
vsftpd 由 vsftpd 包提供,不由 xinetd 管理
用戶認證配置文件:/etc/pam.d/vsftpd
- 服務啟動文件
/usr/lib/systemd/system/vsftpd.service
/etc/rc.d/init.d/vsftpd
- 配置文件
/etc/vsftpd/vsftpd.conf
幫助:man 5 vsftpd.conf
-
配置文件格式
option=value 等號兩端不能有空格 -
用戶和其共享目錄
匿名用戶(映射為系統用戶 ftp )共享文件位置:/var/ftp
系統用戶共享文件位置:用戶家目錄
虛擬用戶共享文件位置:為其映射的系統用戶的家目錄
2.2.2 vsftpd 服務常見配置
2.2.2.1 命令端口配置
listen_port=212.2.2.2 主動模式端口
connect_from_port_20=YES 主動模式端口為20ftp_data_port=20 (默認) 指定主動模式的端口2.2.2.3 被動模式端口范圍
linux 客戶端默認使用被動模式
windows 客戶端默認使用主動模式
2.2.2.4 使用當地時間
use_localtime=YES 默認為NO,GMT時區2.2.2.5 使用匿名用戶登錄
anonymous_enable=YES 支持匿名用戶 no_anon_password=YES 匿名用戶略過口令檢查 , 默認NO2.2.2.6 允許匿名上傳文件
anon_upload_enable=YES 匿名上傳,注意:文件系統權限 anon_mkdir_write_enable=YES 匿名建目錄 anon_world_readable_only 只能下載全部讀的文件, 默認YES anon_umask=0333 指定匿名上傳文件的umask,默認077 anon_other_write_enable=YES 可刪除和修改上傳的文件, ,默認NO2.2.2.7 指定匿名用戶的上傳文件的默認的所有者和權限
chown_uploads=YES 默認NO chown_username=wang chown_upload_mode=06442.2.2.8 Linux 系統用戶
local_enable=YES 是否允許 linux 用戶登錄 write_enable=YES 允許 linux 用戶上傳文件 local_umask=022 指定系統用戶上傳文件的默認權限2.2.2.9 將系統用戶映射為指定的 guest 用戶
guest_enable=YES 所有系統用戶都映射成 guest 用戶 guest_username=ftp 配合上面選項才生效,指定 guest 用戶 local_root=/ftproot guest 用戶登錄所在目錄2.2.2.10 限定系統用戶在指定目錄
- 禁錮所有系統在家目錄中
- 禁錮或不禁錮特定的系統用戶在家目錄中,與上面設置功能相反
當 chroot_local_user=YES 時,則 chroot_list 中用戶不禁錮
當 chroot_local_user=NO 時,則 chroot_list 中用戶禁錮
2.2.2.11 啟用日志
wu-ftp日志:默認啟用 xferlog_enable=YES 啟用記錄上傳下載日志,此為默認值 xferlog_std_format=YES 使用wu-ftp日志格式,此為默認值 xferlog_file=/var/log/xferlog 可自動生成, 此為默認值vsftpd日志:默認不啟用 dual_log_enable=YES 使用vsftpd日志格式,默認不啟用 vsftpd_log_file=/var/log/vsftpd.log 可自動生成, 此為默認值2.2.2.12 啟用提示信息
- 登錄提示信息
- 目錄訪問提示信息
2.2.2.13 PAM 模塊實現用戶訪問控制
pam_service_name=vsftpd pam配置文件:/etc/pam.d/vsftpd /etc/vsftpd/ftpusers 默認文件中用戶拒絕登錄2.2.2.14 是否啟用控制用戶登錄的列表文件
userlist_enable=YES 此為默認值 userlist_deny=YES(默認值) 黑名單,不提示口令,NO為白名單 userlist_file=/etc/vsftpd/users_list 此為默認值2.2.2.15 vsftpd 服務指定用戶身份運行
nopriv_user=nobody 此為默認值
2.2.2.16 連接數限制
max_clients=0 最大并發連接數 max_per_ip=0 每個 IP 同時發起的最大連接數2.2.2.17 傳輸速率,字節/秒
anon_max_rate=0 匿名用戶的最大傳輸速率 local_max_rate=0 本地用戶的最大傳輸速率2.2.2.18 連接時間:秒為單位
connect_timeout=60 主動模式數據連接超時時長 accept_timeout=60 被動模式數據連接超時時長 data_connection_timeout=300 數據連接無數據輸超時時長 idle_session_timeout=60 無命令操作超時時長2.2.2.19 優先以文本方式傳輸
ascii_upload_enable=YES ascii_download_enable=YES2.2.2.20 實現基于 SSL 的 FTPS
2.2.3 vsftpd 虛擬用戶概念
vsftpd 的虛擬用戶:
- 所有虛擬用戶會統一映射為一個指定的系統帳號:訪問共享位置,即為此系統帳號的家目錄
- 各虛擬用戶可被賦予不同的訪問權限,通過匿名用戶的權限控制參數進行指定
虛擬用戶帳號的存儲方式:
- 存儲于文件:編輯文本文件,此文件需要被編碼為 hash 格式。奇數行為用戶名,偶數行為密碼
使用命令db_load -T -t hash -f vusers.txt vusers.db生成 vsftpd 可識別的.db格式 - 存儲于關系型數據庫中的表中:實時查詢數據庫完成用戶認證
vsftpd 支持 mysql 庫:pam 要依賴于 pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README
2.2.4 基于文件驗證的虛擬用戶
2.2.4.1 創建用戶數據文件
vim /etc/vsftpd/vusers.txt wang wangpass mage magepass cd /etc/vsftpd/ db_load -T -t hash -f vusers.txt vusers.db chmod 600 vusers.db2.2.4.2 創建用戶訪問 FTP 共享文件目錄
useradd -d /data/ftproot -s /sbin/nologin -r vuser mkdir -pv /data/ftproot/upload setfacl -m u:vuser:rwx /data/ftproot/upload #chmod a=rx /data/ftproot/ 如果自動創建家目錄,需修改權限2.2.4.3 創建 pam 配置文件
vim /etc/pam.d/vsftpd.db auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers2.2.4.4 指定 pam 配置文件
vim /etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=vuser pam_service_name=vsftpd.db2.2.4.4 每個虛擬用戶建立獨立的配置文件
# 指定各個用戶配置文件存放的路徑 vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers.d/# 創建各個用戶配置文件存放的路徑 mkdir /etc/vsftpd/vusers.d/ cd /etc/vsftpd/vusers.d/# 創建各用戶自已的配置文件,允許wang用戶可讀寫,其它用戶只讀 vim wang anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES# 創建各用戶自已的配置文件 vim mage # 登錄目錄改變至指定的目錄 local_root=/data/ftproot22.2.5 基于 mysql 驗證的虛擬用戶
2.2.5.1 環境準備
本實驗在兩臺 CentOS 主機上實現, CentOS 7 一臺做為 FTP 服務器,一臺做數據庫服務器
2.2.5.2 在數據庫服務器上安裝 mysql 數據庫
yum –y install mariadb-server systemctl enable --now mariadb.service2.2.5.3 在數據庫服務上配置數據庫支持 vsftpd 服務
# 建立存儲虛擬用戶數據庫和表 mysql> CREATE DATABASE vsftpd; mysql> USE vsftpd; mysql> CREATE TABLE users ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(50) BINARY NOT NULL, password CHAR(48) BINARY NOT NULL ); # 添加虛擬用戶,為了安全應該使用PASSWORD函數加密其密碼后存儲 mysql> INSERT INTO users(name,password) values('wang',password('magedu')); mysql> INSERT INTO users(name,password) values('mage',password('magedu')); # 創建連接的數據庫用戶 mysql> GRANT SELECT ON vsftpd.* TO vsftpd@'172.16.0.%' IDENTIFIED BY 'magedu'; mysql> FLUSH PRIVILEGES;2.2.5.4 在 FTP 服務器上安裝 vsftpd 和 pam_mysql 包
yum install vsftpd -y yum install pam_mysql -y- 對于 centos 6:pam_mysql 由 EPEL 的源中提供
- 對于 centos7 和 8:無對應 rpm 包,需手動編譯安裝
- pam-mysql 源碼進行編譯
2.2.5.5 在 FTP 服務器上建立 pam 認證所需文件
vi /etc/pam.d/vsftpd.mysql# 添加如下兩行 auth required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 account required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2參考 README 可知
- crypt 加密方式:
0 表示不加密
1 表示 crypt(3)加密
2 表示使用 mysql password()函數加密
3 表示 md5 加密
4 表示 sha1 加密 - 配置字段說明
auth 表示認證
account 驗證賬號密碼正常使用
required 表示認證要通過
pam_mysql.so 模塊是默認的相對路徑,是相對/lib64/security/路徑而言,也可以寫絕對路徑;后
面為給此模塊傳遞的參數
user=vsftpd 為登錄 mysql 的用戶
passwd=magedu 登錄 mysql 的的密碼
host=mysqlserver mysql 服務器的主機名或 ip 地址
db=vsftpd 指定連接 msyql 的數據庫名稱
table=users 指定連接數據庫中的表名
usercolumn=name 當做用戶名的字段
passwdcolumn=password 當做用戶名字段的密碼
crypt=2 密碼的加密方式為 mysql password()函數加密
2.2.5.6 建立相應用戶和修改 vsftpd 配置文件
# 建立虛擬用戶映射的系統用戶及對應的目錄 useradd -s /sbin/nologin -d /data/ftproot -r vuser # centos7 需除去ftp根目錄的寫權限 chmod 555 /data/ftproot mkdir -pv /data/ftproot/{upload,pub} setfacl –m u:vuser:rwx /data/ftproot/upload # 確保/etc/vsftpd.conf中已經啟用了以下選項 anonymous_enable=YES # 添加下面兩項 guest_enable=YES guest_username=vuser # 修改下面一項,原系統用戶無法登錄 pam_service_name=vsftpd.mysql# 啟動vsftpd服務 systemctl enable --now vsftpd2.2.5.7 在 FTP 服務器上配置虛擬用戶具有不同的訪問權限
vsftpd 可以在配置文件目錄中為每個用戶提供單獨的配置文件以定義其 ftp 服務訪問權限,
每個虛擬用戶的配置文件名同虛擬用戶的用戶名。配置文件目錄可以是任意未使用目錄,
只需要在 vsftpd.conf 指定其路徑及名稱即可
三.文件共享服務
3.1 NFS 分布式文件系統協議
Network File System(NFS):網絡文件系統,是一個分布式文件系統協議,最初由
Sun Microsystems(SUN)在 1984 年開發,其允許用戶在客服端通過計算機網絡
訪問服務器的文件,就如同在客戶端本地訪問一樣。和其他協議一樣,NFS 基于
Open Network Computing Remote Procedure Call(ONC RPC)遠程過程調用
系統。NFS 是一個開放的標準,定義于一個 RFC 中,允許任何人實現該協議。
3.2 NFS 工作原理
RPC 采用 C/S 模式,客戶機請求程序調用進程發送一個有進程參數的調用信息到服務
進程,然后等待應答信息。在服務器端,進程保持睡眠狀態直到調用信息到達為止。
當一個調用信息到達,服務器獲得進程參數,計算結果,發送答復信息,然后等待
下一個調用信息,最后,客戶端調用進程接收答復信息,獲得進程結果,然后調用
執行繼續進行。
NFS 優勢:節省本地存儲空間,將常用的數據,如:/home 目錄,存放在 NFS 服務
器上且可以通過網絡訪問,本地終端將可減少自身存儲空間的使用
3.3 NFS 軟件
軟件包:nfs-utils
相關軟件包:rpcbind(必須),tcp_wrappers
Kernel 支持:nfs.ko
端口:2049(nfsd), 其它端口由 portmap(111)分配
- 說明:CentOS 6 開始 portmap 進程由 rpcbind 代替
日志位置:/var/lib/nfs/
NFS 配置文件:
/etc/exports
/etc/exports.d/\*.exports
3.4 NFS 配置
/dir 主機1(opt1,opt2) 主機2(opt1,opt2)...格式
- #號開始為注釋
- 主機格式單個主機:ipv4,ipv6,FQDN IP networks:兩種掩碼格式均支持 172.18.0.0/255.255.0.0 172.18.0.0/16 wildcards:主機名通配,例如*.magedu.com,IP不可以 netgroups:NIS域的主機組,@group_name anonymous:表示使用*通配所有客戶端
- 每個條目指定目錄導出到的哪些主機,及相關的權限和選項
- 配置示例
3.5 NFS 相關工具
3.5.1 rpcinfo
rpcinfo 工具可以查看 RPC 相關信息,查看注冊在指定主機的 RPC 程序
rpcinfo -p hostname
查看 RPC 注冊程序
rpcinfo -s hostname
例子
3.5.2 exports
exportfs:可用于在 NFS 服務器管理 NFS 導出的文件系統
常用選項:
- –v 查看本機所有 NFS 共享
- –r 重讀配置文件,并共享目錄
- –a 輸出本機所有共享
- –au 停止本機所有共享
3.5.3 showmount
showmount 用來查詢遠程服務器上的 NFS 服務信息。
showmount -e hostname
3.5.4 mount.nfs
mount.nfs工具用于在客戶端掛載網絡文件系統
掛載 NFS 時,選項參數說明
- fg(默認)前臺掛載
- bg 后臺掛載
- hard(默認)持續請求
- soft 非持續請求
- intr 和 hard 配合,請求可中斷
- rsize 和 wsize 一次讀和寫數據最大字節數,rsize=32768
- netdev 無網絡不掛載
提示:基于安全考慮,建議使用 nosuid,nodev,noexec 掛載選項_
范例:臨時掛載 NFS 共享
mount -o rw,nosuid,fg,hard,intr 172.16.0.1:/testdir /mnt/nfs/
范例:開機掛載
3.6 自動掛載文件系統
可使用 autofs 服務按需要掛載外圍設備,NFS 共享等,并在空閑 5 分鐘后后自動卸載
3.6.1 相關文件
軟件包: autofs
服務文件:/usr/lib/systemd/system/autofs.service
配置文件:/etc/auto.master
3.6.2 配置文件格式
參看幫助:man 5 autofs
所有導出到網絡中的 NFS 啟用特殊匹配 -host 至“browse”
范例:/net 目錄可以自動掛載 NFS 共享
可能會影響現有的目錄結構
相對路徑法:
相對路徑例子
[root@centos8 ~]#vim /etc/auto.master /misc /etc/auto.misc [root@centos8 ~]#vim /etc/auto.misc cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom相對路徑法支持通配符
vim /etc/auto.master /misc /etc/auto.misc vim /etc/auto.misc #表示/misc下面的子目錄和nfs共享/export目錄的子目錄同名 * server:/export/&絕對路徑法
絕對路徑例子
vim /etc/auto.master: /- /etc/auto.direct vim /etc/auto.direct: /foo -fstype=nfs server1:/export/foo /user/local/ -fstype=nfs,vers=3 server1:/usr/local /mnt/cdrom -fstype=iso9660 :/dev/cdrom3.7 案例
3.7.1 目標
將 NFS 的共享目錄,通過 autofs 發布出來,做為遠程主機用戶的家目錄
3.7.2 環境準備
三臺主機3.7.3 步驟
# NFS服務器創建用戶和相應的家目錄,將用戶wang的家目錄共享 useradd -d /data/wang wang Vim /etc/exports.d/test.exports /data/wang *(rw,anonuid=1000,anongid=1000,all_sqush) # 在第一臺NFS客戶端主機192.168.8.101上實現相對路徑法的autofs vim /etc/auto.master /home /etc/homeauto vim /etc/homeauto * -fstype=nfs,vers=3 192.168.8.100:/data/wang/& # 注意:home目錄下其它用戶家目錄無法訪問 # 在第二臺NFS客戶端主機192.168.8.102上實現絕對路徑法的autofs vim /etc/auto.master /- /etc/homeauto vim e/etc/homeauto /home/wang -fstype=nfs,vers=3 nfsserver:/data/wang四.SAMBA 服務
Samba 是基于SMB網絡協議實現的自由軟件,最初由Andrew Tridgell。Samba 為各種
Microsoft Windows 客戶端提供文件和打印服務,可以作為域控制器(DC)或域成員與
Microsoft Windows 服務域集成。從版本 4 開始,它支持活動目錄(Active Directory)
和 Microsoft Windows NT 域。
另外,Samba 也是巴西的一種最受歡迎的音樂和舞蹈形式。每年狂歡節的主角都是 Samba 舞。
4.1 SAMBA 服務介紹
SMB:Server Message Block 服務器消息塊,IBM 發布,最早是 DOS 網絡文件共享協議
CIFS:common internet file system,微軟于 1996 年將 SMB 改名并加入很多特性的協議
SAMBA:1991 年 Andrew Tridgell,實現 windows 和 UNIX 相通
CIFS/SMB 和網絡文件系統(NFS) 是目前在 network-attached(NAS)存儲系統使用最為廣泛的協議。
SAMBA 官網
SAMBA 的功能:
- 共享文件和打印,實現在線編輯
- 實現登錄 SAMBA 用戶的身份認證
- 可以進行 NetBIOS 名稱解析
- 外圍設備共享
Windows 計算機網絡管理模式:
- 工作組 WORKGROUP:計算機對等關系,帳號信息各自管理
- 域 DOMAIN:C/S 結構,帳號信息集中管理,DC,AD
4.2 SAMBA 軟件介紹
相關包:
- samba 提供 smb 服務
- samba-client 客戶端軟件
- samba-common 通用軟件
- cifs-utils smb 客戶端工具
- samba-winbind 和 AD 相關
相關服務進程:
- smbd 提供 smb(cifs)服務 TCP:139,445
- nmbd NetBIOS 名稱解析 UDP:137,138
主配置文件:/etc/samba/smb.conf
幫助參看:man smb.conf
語法檢查: testparm [-v][/etc/samba/smb.conf]
客戶端工具:smbclient,mount.cifs
- 安裝和啟動服務
4.3 SAMBA 客戶端工具
訪問 SAMBA 服務器時使用 UNC 命名規范
UNC 路徑: Universal Naming Convention 通用命名規范,格式如下
4.3.1 使用 smbclient 訪問 SAMBA 服務器
smbclient -L instructor.example.com smbclient -L instructor.example.com -U smb用戶%password # 可以使用-U選項來指定用戶%密碼,或通過設置和導出USER和PASSWD環境變量來指定 smbclient //instructor.example.com/shared -U wang >cd directory >get file1 >put file24.3.2 掛載 CIFS 文件系統
范例:手動掛載
mount -o user=wang,password=magedu //server//shared /mnt/smb范例:開機自動掛載
cat /etc/fstab # 可以用文件代替用戶名和密碼的輸入 //server/homes /mnt cifs credentials或cred=/etc/smb.txt 0 0cat /etc/smb.txt username=wang #或 user=wang password=password #或 pass=password chmod 600 /etc/smb.txt4.4 管理 SAMBA 用戶
4.4.1 samba 用戶
相關包:samba-common-tools
相關工具:smbpasswd pdbedit
用戶數據庫:/var/lib/samba/private/passdb.tdb
說明:samba 用戶須是 Linux 用戶,建議使用/sbin/nologin
4.4.2 管理用戶命令
添加 samba 用戶:
smbpasswd -a <user> pdbedit -a -u <user>修改用戶密碼:
smbpasswd <user>刪除用戶和密碼:
smbpasswd –x <user> pdbedit –x –u <user>查看 samba 用戶列表:
pdbedit –L –v例
[root@centos8 ~]#pdbedit -L No builtin backend found, trying to load plugin smb1:1002: smb2:1003: smb3:1004: [root@centos8 ~]#pdbedit -L -v No builtin backend found, trying to load plugin --------------- Unix username: smb1 NT username: Account Flags: [U ] User SID: S-1-5-21-1476810783-3936299954-1329646792-1000 Primary Group SID: S-1-5-21-1476810783-3936299954-1329646792-513 Full Name: Home Directory: \\linux39\smb1 HomeDir Drive: Logon Script: Profile Path: \\linux39\smb1\profile Domain: CENTOS8 Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: Wed, 06 Feb 2036 23:06:39 CST Kickoff time: Wed, 06 Feb 2036 23:06:39 CST Password last set: Thu, 19 Dec 2019 10:02:31 CST Password can change: Thu, 19 Dec 2019 10:02:31 CST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF --------------- Unix username: smb2 NT username: Account Flags: [U ] User SID: S-1-5-21-1476810783-3936299954-1329646792-1001 Primary Group SID: S-1-5-21-1476810783-3936299954-1329646792-513 Full Name: Home Directory: \\linux39\smb2 HomeDir Drive: Logon Script: Profile Path: \\linux39\smb2\profile Domain: CENTOS8 Account desc: Workstations: Munged dial: Logon time: 0 Logoff time: Wed, 06 Feb 2036 23:06:39 CST Kickoff time: Wed, 06 Feb 2036 23:06:39 CST Password last set: Thu, 19 Dec 2019 09:57:36 CST Password can change: Thu, 19 Dec 2019 09:57:36 CST Password must change: never Last bad password : 0 Bad password count : 0 Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ---------------查看服務器狀態–smbstatus
[root@centos8 ~]#smbstatus Samba version 4.9.1 PID Username Group Machine Protocol Version Encryption Signing 45299 smb1 smb1 192.168.39.6 (ipv4:192.168.39.6:55898) NT1 - - Service pid Machine Connected at Encryption Signing smb1 45299 192.168.39.6 Thu Dec 19 10:30:24 AM 2019 CST - - No locked files4.5 SAMBA 服務器配置
amba 配置文件 /etc/smb.conf 格式 ,使用.ini 文件的格式
全局設置:
- [global] 服務器通用或全局設置的部分
特定共享設置:
- [homes] 用戶的家目錄共享
- [printers] 定義打印機資源和服務
- [sharename] 自定義的共享目錄配置
- 其中:#和;開頭的語句為注釋,大小寫不敏感
samba 配置中的宏定義:
- %m 客戶端主機的 NetBIOS 名
- %M 客戶端主機的 FQDN
- %H 當前用戶家目錄路徑
- %U 當前用戶的用戶名
- %g 當前用戶所屬組
- %h samba 服務器的主機名
- %L samba 服務器的 NetBIOS 名
- %I 客戶端主機的 IP
- %T 當前日期和時間
- %S 可登錄的用戶名
4.5.1 SAMBA 服務器全局配置
workgroup 指定工作組名稱
server string 主機注釋信息
netbios name 指定 NetBIOS 名,注意:netbios name 需要啟動 nmb 服務
范例:
interfaces 指定服務偵聽接口和 IP
hosts allow 可用逗號,空格,或 tab 分隔,默認允許所有主機訪問,也可在每個共享獨立
配置,如:在[global]設置,將應用并覆蓋所有共享設置,可以是以下格式:
例
hosts allow = 172.16. .example.comhosts deny 拒絕指定主機訪問,格式和 hosts allow 相同
config file=/etc/samba/conf.d/%U 用戶獨立的配置文件
Log file=/var/log/samba/log.%I 不同客戶機采用不同日志
log level = 2 日志級別,默認為 0,不記錄日志
例
max log size=50 日志文件達到 50K,將輪循 rotate,單位 KB
Security 三種認證方式:
- user:samba 用戶(采有 linux 用戶,samba 的獨立口令)
- share:匿名(CentOS7 不再支持),已不建議使用
- server:已不建議使用
passdb backend = tdbsam 密碼數據庫格式
4.5.2 配置特定目錄共享
每個共享目錄應該有獨立的[ ]部分
[共享名稱] 遠程網絡看到的共享名稱
comment 注釋信息
path 所共享的目錄路徑
public 能否被 guest 訪問的共享,默認 no,和 guest ok 類似
browsable 是否允許所有用戶瀏覽此共享,默認為 yes,no 為隱藏
writable=yes 可以被所有用戶讀寫,默認為 no
read only=no 和 writable=yes 等價,如與以上設置沖突,放在后面的設置生效,默認只讀
write list 用戶,@組名,+組名,用,分隔,如 writable=no,列表中用戶或組可讀寫,不在列表中用戶
valid users 特定用戶才能訪問該共享,如為空,將允許所有用戶,用戶名之間用空格分隔
范例:基于特定用戶和組的共享
vim /etc/samba/smb.conf [share] path = /app/dir valid users=wang,@admins writeable = no browseable = no4.6 案例
4.6.1 利用 SAMBA 實現指定目錄共享
# 在samba服務器上安裝samba包 yum -y install samba # 創建samba用戶和組 groupadd -r admins useradd -s /sbin/nologin -G admins wang smbpasswd -a wang useradd -s /sbin/nologin mage smbpasswd -a mage # 創建samba共享目錄,并設置SElinux mkdir /testdir/smbshare chgrp admins /testdir/smbshare chmod 2775 /testdir/smbshare # samba服務器配置 vim /etc/samba/smb.conf ...省略... [share] path = /testdir/smbshare write list = @admins systemctl enable --now smb nmb # samba客戶端訪問 yum -y install cifs-utils # 用wang用戶掛載smb共享并訪問 mkdir /mnt/wang mount -o username=wang //smbserver/share /mnt/wang echo "Hello wang" >/mnt/wang/wangfile.txt # 用mage用戶掛載smb共享并訪問 mkdir /mnt/mage mount -o username=mage //smbserver/share /mnt/mage touch /mnt/mage/magefile.txt4.6.2 實現不同 samba 用戶訪問相同的 samba 共享,實現不同的配置
# 創建三個samba用戶,并指定密碼為magedu useradd -s /sbin/nologin -r smb1 useradd -s /sbin/nologin -r smb2 useradd -s /sbin/nologin -r smb3 smbpasswd –a smb1 smbpasswd –a smb2 smbpasswd –a smb3 # 修改samba配置文件 Vim /etc/samba/smb.conf # 在workgroup下加一行 config file= /etc/samba/conf.d/%U 說明:%U表示用戶名 [share] Path=/data/dir Read only= NO Guest ok = yes write list=@wheel # 針對smb1和smb2用戶創建單獨的配置文件 Vim /etc/samba/conf.d/smb1 [share] Path=/data/dir1 Read only= NO 等價于writable = yes Create mask=0644 # 說明:默認為744 Vim /etc/samba/conf.d/smb2 [share] path=/data/dir2 systemctl restart smb nmb # 用戶smb1,smb2,smb3訪問share共享目錄,看到目錄是不同目錄 smbclient //sambaserver/share -U smb1%magedu smbclient //sambaserver/share -U smb2%magedu smbclient //sambaserver/share -U smb3%magedu五.數據同步 rsync
在生產環境,有時會需要兩臺主機的特定目錄實現實時同步。比如,將 NFS 共享目錄的
數據文件,自動實時同步到備份的服務器特定目錄中,這時就會用到 rsync
rsync 是一款輕量級的備份和遠程拷貝軟件,其通過比較文件的修改時間和大小,在計算機
和外部硬盤驅動器之間以及在聯網的計算機之間有效地傳輸和同步文件。它通常出現在類
unix 操作系統上。Rsync 是用 C 編寫的單線程應用程序。rsync 使用的算法是一種增量編碼,
適用于用于最小化網絡使用。Zlib 可以用于額外的數據壓縮,也可以使用 SSH 或 stunnel
進行安全加密。
5.1 數據實時同步技術
一般企業在使用 rsync 時會配合 inotify 使用,使用 inotify 監聽文件修改情況,一旦文件某些
屬性改變,就通知 rsync 進行備份
- inotify + rsync 方式實現數據同步
- sersync :金山公司周洋在 inotify 軟件基礎上進行開發的,功能更加強大
5.2 notify
5.2.1 notify 需要內核支持
Linux 支持 inotify 的內核最小版本為 2.6.13,參看 man 7 inotify
ls -l /proc/sys/fs/inotify #列出下面的文件,說明服務器內核支持inotify -rw-r--r-- 1 root root 0 Dec 7 10:10 max_queued_events -rw-r--r-- 1 root root 0 Dec 7 10:10 max_user_instances -rw-r--r-- 1 root root 0 Dec 6 05:54 max_user_watchesinotify 內核參數說明:
max_queued_events:inotify事件隊列最大長度,如值太小會出現 Event Queue Overflow 誤,默認值:16384 max_user_instances:每個用戶創建inotify實例最大值,默認值:128 max_user_watches:可以監視的文件數量(單進程),默認值:8192 [root@centos8 ~]#vim /etc/sysctl.conf fs.inotify.max_queued_events=66666 fs.inotify.max_user_watches=100000 [root@centos8 ~]#sysctl -p fs.inotify.max_queued_events = 66666 fs.inotify.max_user_watches = 100000 [root@centos8 ~]#cat /proc/sys/fs/inotify/* 66666 128 1000005.2.2 inotify-tools 工具
inotify-tools 參考文檔:https://github.com/rvoicilas/inotify-tools/wiki
安裝 inotify-tools:基于 epel 源
yum install inotify-tools
inotify-tools 包主要工具:
- inotifywait: 在被監控的文件或目錄上等待特定文件系統事件(open ,close,delete 等)
發生,常用于實時同步的目錄監控 - inotifywatch:收集被監控的文件系統使用的統計數據,指文件系統事件發生的次數統計
inotifywait 命令常見選項
- -m, --monitor 始終保持事件監聽
- -d, --daemon 以守護進程方式執行,和-m 相似,配合-o 使用
- -r, --recursive 遞歸監控目錄數據信息變化
- -q, --quiet 輸出少量事件信息
- –exclude 指定排除文件或目錄,使用擴展的正則表達式匹配的模式實現
- –excludei 和 exclude 相似,不區分大小寫
- -o, --outfile 打印事件到文件中,相當于標準正確輸出,注意:使用絕對路徑
- -s, --syslogOutput 發送錯誤到 syslog 相當于標準錯誤輸出
- –timefmt 指定時間輸出格式
- –format 指定的輸出格式;即實際監控輸出內容
- -e 指定監聽指定的事件,如果省略,表示所有事件都進行監聽
inotifywait 的–timefmt 時間格式
參考 man 3 strftime
- %Y 年份信息,包含世紀信息
- %y 年份信息,不包括世紀信息
- %m 顯示月份,范圍 01-12
- %d 每月的第幾天,范圍是 01-31
- %H 小時信息,使用 24 小時制,范圍 00-23
- %M 分鐘,范圍 00-59
如
--timefmt "%Y-%m-%d %H:%M"
inotifywait 的 --format 格式定義
- %T 輸出時間格式中定義的時間格式信息,通過 --timefmt option 語法格式指定時間信息
- %w 事件出現時,監控文件或目錄的名稱信息
- %f 事件出現時,將顯示監控目錄下觸發事件的文件或目錄信息,否則為空
- %e 顯示發生的事件信息,不同的事件默認用逗號分隔
- %Xe 顯示發生的事件信息,不同的事件指定用 X 進行分隔
例
--format "%T %w%f event: %;e" --format '%T %w %f'inotifywait -e 選項指定的事件類型
- create 文件或目錄創建
- delete 文件或目錄被刪除
- modify 文件或目錄內容被寫入
- attrib 文件或目錄屬性改變
- close_write 文件或目錄關閉,在寫入模式打開之后關閉的
- close_nowrite 文件或目錄關閉,在只讀模式打開之后關閉的
- close 文件或目錄關閉,不管讀或是寫模式
- open 文件或目錄被打開
- moved_to 文件或目錄被移動到監控的目錄中
- moved_from 文件或目錄從監控的目錄中被移動
- move 文件或目錄不管移動到或是移出監控目錄都觸發事件
- access 文件或目錄內容被讀取
- delete_self 文件或目錄被刪除,目錄本身被刪除
- unmount 取消掛載
inotifywait -e create,delete,moved_to,close_write, attrib
例:使用 inotifywait
#監控一次性事件 inotifywait /data #持續前臺監控 inotifywait -mrq /data #持續后臺監控,并記錄日志 inotifywait -o /root/inotify.log -drq /data --timefmt "%Y-%m-%d %H:%M" --format "%T %w%f event: %e" #持續前臺監控特定事件 inotifywait -mrq /data --timefmt "%F %H:%M" --format "%T %w%f event: %;e" -e create,delete,moved_to,close_write,attrib5.3 rsync
rsync 常用于做為 linux 系統下的數據鏡像備份工具,實現實現遠程同步,支持本地復制,
或者與其他 SSH、rsync 主機同步數據,支持增量備份,配合任務計劃,rsync 能實現定時或
間隔同步,配合 inotify 或 sersync,可以實現觸發式的實時數據同步。
官方網站
軟件包:rsync,rsync-daemon(CentOS 8)
服務文件:/usr/lib/systemd/system/rsyncd.service
配置文件:/etc/rsyncd.conf
端口:873/tcp
5.3.1 rsync 命令
#Local: rsync [OPTION...] SRC... [DEST]#Access via remote shell: Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST:DEST#Access via rsync daemon: Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST] rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] Push: rsync [OPTION...] SRC... [USER@]HOST::DEST rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DESTrsync 有三種工作方式:
remote shell"段的格式。
"Access viarsync daemon"段的格式。
前兩者的本質是通過本地或遠程 shell,而第 3 種方式則是讓遠程主機上運行 rsyncd
服務,使其監聽在一個端口上,等待客戶端的連接
rsync 常見選項
-v:顯示rsync過程中詳細信息。可以使用"-vvvv"獲取更詳細信息。 -P:顯示文件傳輸的進度信息。(實際上"-P"="--partial --progress",其中的"--progress"才是顯 示進度信息的)。 -n --dry-run :僅測試傳輸,而不實際傳輸。常和"-vvvv"配合使用來查看rsync是如何工作的。 -a --archive :歸檔模式,表示遞歸傳輸并保持文件屬性。等同于"-rtopgDl"。 -r --recursive:遞歸到目錄中去。 -t --times:保持mtime屬性。強烈建議任何時候都加上"-t",否則目標文件mtime會設置為系統時間, 導致下次更新:檢查出mtime不同從而導致增量傳輸無效。 -o --owner:保持owner屬性(屬主)。 -g --group:保持group屬性(屬組)。 -p --perms:保持perms屬性(權限,不包括特殊權限)。 -D :是"--device --specials"選項的組合,即也拷貝設備文件和特殊文件。 -l --links:如果文件是軟鏈接文件,則拷貝軟鏈接本身而非軟鏈接所指向的對象 -z :傳輸時進行壓縮提高效率 -R --relative:使用相對路徑。意味著將命令行中指定的全路徑而非路徑最尾部的文件名發送給服務端, 包括它們的屬性。用法見下文示例。 --size-only :默認算法是檢查文件大小和mtime不同的文件,使用此選項將只檢查文件大小。 -u --update :僅在源mtime比目標已存在文件的mtime新時才拷貝。注意,該選項是接收端判斷的,不會 影響刪除行為。 -d --dirs :以不遞歸的方式拷貝目錄本身。默認遞歸時,如果源為"dir1/file1",則不會拷貝dir1 目錄,使用該選項將拷貝dir1但不拷貝file1。 --max-size :限制rsync傳輸的最大文件大小。可以使用單位后綴,還可以是一個小數值(例如:"-- max-size=1.5m") --min-size :限制rsync傳輸的最小文件大小。這可以用于禁止傳輸小文件或那些垃圾文件。 --exclude :指定排除規則來排除不需要傳輸的文件。 --delete :以SRC為主,對DEST進行同步。多則刪之,少則補之。注意"--delete"是在接收端執行 的,所以它是在:exclude/include規則生效之后才執行的。 -b --backup :對目標上已存在的文件做一個備份,備份的文件名后默認使用"~"做后綴。 --backup-dir:指定備份文件的保存路徑。不指定時默認和待備份文件保存在同一目錄下。 -e :指定所要使用的遠程shell程序,默認為ssh。 --port :連接daemon時使用的端口號,默認為873端口。 --password-file:daemon模式時的密碼文件,可以從中讀取密碼實現非交互式。注意,這不是遠程 shell認證的密碼,而是rsync模塊認證的密碼。 -W --whole-file:rsync將不再使用增量傳輸,而是全量傳輸。在網絡帶寬高于磁盤帶寬時,該選項比增 量傳輸更高效。 --existing :要求只更新目標端已存在的文件,目標端還不存在的文件不傳輸。注意,使用相對路徑時如 果上層目錄不存在也不會傳輸。 --ignore-existing:要求只更新目標端不存在的文件。和"--existing"結合使用有特殊功能,見下文 示例。 --remove-source-files:要求刪除源端已經成功傳輸的文件5.3.2 以獨立服務方式運行 rsync
范例:以獨立服務方式運行 rsync,該服務在備份服務器上運行
#創建rsync服務器的配置文件 vi /etc/rsyncd.conf uid = root gid = root use chroot = no max connections = 0 ignore errors exclude = lost+found/ log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock reverse lookup = no hosts allow = 192.168.8.0/24 [backup] path = /backup/ comment = backup read only = no auth users = rsyncuser secrets file = /etc/rsync.pass # 服務器端準備目錄 mkdir /backup # 服務器端生成驗證文件 echo "rsyncuser:magedu" > /etc/rsync.pass chmod 600 /etc/rsync.pass # 服務器端啟動rsync服務 rsync --daemon #可加入/etc/rc.d/rc.local實現開機啟動 systemctl start rsyncd #CentOS 7 以上版本 # 客戶端配置密碼文件 echo "magedu" > /etc/rsync.pass chmod 600 /etc/rsync.pass #此為必要項 # 客戶端測試同步數據 rsync -avz --delete --password-file=/etc/rsync.pass /data/ \ rsyncuser@rsync服務器IP::backup5.4 同步腳本示例
- 該同步腳本在需要備份的主機上(客戶端)運行
六.案例
實現基于分布式的 LAMP 架構,并將 NFS 實時同步到備份服務器
見此文章----實現 LAMP_數據庫主從_NFS 備份_日志存儲
總結
以上是生活随笔為你收集整理的Linux 网络文件共享服务详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 痞子衡嵌入式:盘点国内Cortex-M内
- 下一篇: 深入理解Android之Gradle