网络文件系统(samba、nfs、iscsi)
一、samba服務(wù)簡介
1、smb協(xié)議
smb(Server Messages Block,信息服務(wù)塊)是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議,它為局域網(wǎng)內(nèi)的不同操作系統(tǒng)的計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)。SMB 協(xié)議是客戶機(jī)/服務(wù)器型協(xié)議,客戶機(jī)通過該協(xié)議可以訪問服務(wù)器上的共享文件系統(tǒng)、打印機(jī)及其他資源。
2、ftp 服務(wù) 與 samba 服務(wù)對(duì)比
(1)ftp 的優(yōu)缺點(diǎn):
優(yōu)點(diǎn):文件傳輸、應(yīng)用層協(xié)議、可跨平臺(tái)
缺點(diǎn):只能實(shí)現(xiàn)文件傳輸,無法實(shí)現(xiàn)文件系統(tǒng)掛載;無法直接修改服務(wù)器端文件
(2)Samba 的特性:
使用 smb/cifs 協(xié)議、可跨平臺(tái)、可實(shí)現(xiàn)文件系統(tǒng)掛載、可實(shí)現(xiàn)服務(wù)器端修改文件
作用:
windows系統(tǒng)共享文件時(shí)用到的協(xié)議smb
smb是由miscrosoft+sun
Linux 系統(tǒng)用到的是cifs
CIFS 是一個(gè)新提出的協(xié)議,它使程序可以訪問遠(yuǎn)程Internet計(jì)算機(jī)上的文件并要求此計(jì)算機(jī)提供服務(wù)。CIFS 使用客戶/服務(wù)器模式。客戶程序請(qǐng)求遠(yuǎn)在服務(wù)器上的服務(wù)器程序?yàn)樗峁┓?wù)。服務(wù)器獲得請(qǐng)求并返回響應(yīng)。CIFS是公共的或開放的SMB協(xié)議版本,并由Microsoft使用。SMB協(xié)議在局域網(wǎng)上用于服務(wù)器文件訪問和打印的協(xié)議。像SMB協(xié)議一樣,CIFS在高層運(yùn)行,而不像TCP/IP協(xié)議那樣運(yùn)行在底層。CIFS可以看做是應(yīng)用程序協(xié)議如文本傳輸協(xié)議和超文本傳輸協(xié)議的一個(gè)實(shí)現(xiàn) ??
二、samba基本信息
| 主配置目錄 | /etc/samba |
| 主配置文件 | /etc/samba/samba.conf |
| 安全上下文 | samba_share_t |
| 端口 | 139??? 445?? |
| 安裝包 | samba? samba-common |
?
?
三、samba的安裝與啟用
samba的安裝: dnf install samba samba-common samba-client -ysamba服務(wù)啟動(dòng): systemctl enable --now smbsamba服務(wù)啟用 firewall-cmd --permanent --add-service=samba firewall-cmd --reload測(cè)試:
smbclient? -L //172.25.254.101 ?? ##當(dāng)要輸入root密碼時(shí)請(qǐng)直接回車
三、samba用戶的建立
1.samba用戶必須是本地存在的用戶
2.samba用戶的建立
四、samba用戶訪問加目錄
當(dāng)selinux開啟時(shí): setsebool -P samba_enable_home_dirs on (1)windows下: \\172.25.254.20 ##訪問 net use ##查看訪問記錄 net use * /del ##刪除訪問記錄(2)在linux下: smbclient //172.25.254.101/westos -U westos驗(yàn)證:
五、samba服務(wù)共享目錄
mkdir /westosdir touch /westosdir/westosfile{1..5} semanage fcontext -a -t samba_share_t '/westosdir(/.*)?' restorecon -RvvF /westosdir/ vim /etc/samba/smb.conf systemctl restart smb[westos_share]?? ??? ??? ?##共享名稱
?? ?comment = westos dir?? ?##共享說明
?? ?path = /westosdir?? ?##共享路徑
沒有設(shè)置安全上下文的情況:
設(shè)置安全上下文之后情況:
?如果共享目錄為系統(tǒng)目錄:例如/mnt
[westos_share]
comment = westos dir
path = /mnt
因?yàn)橄到y(tǒng)文件不能隨便給權(quán)限或者設(shè)置其安全上下文,所以需要開啟下面這個(gè)服務(wù)samba_export_all_ro
?驗(yàn)證:
六、samba的訪問控制
hosts allow?? ?172.25.254.1 172.25.254.?? ??? ?##當(dāng)寫到單獨(dú)共享時(shí)之對(duì)此共享生效
hosts deny?? ??? ??? ??? ??? ?##當(dāng)寫到【GLOBAL】時(shí)對(duì)samba整體生效
測(cè)試:
?
七、samba的常用配置參數(shù)
| writable = yes? | 可寫 |
| write list = lee | 指定用戶可寫 |
| write list = +westos | 指定組可寫 |
| write list = @westos | 指定組可寫 |
| valid users = lee | 指定訪問用戶 |
| valid users = +lee|@lee | 指定訪問組 |
| browseable = yes|no | 是否隱藏共享 |
?測(cè)試:(此時(shí)的測(cè)試可以將這個(gè)共享目錄掛載之后進(jìn)行寫入)
vim /etc/samba/smb.conf writable = yes ##可寫 systemctl restart smb.server chmod 777 /westosdir 為了方便實(shí)驗(yàn),所以給這個(gè)目錄777權(quán)限 mount -o username=westos,password=westos //172.25.254.101/westos_share /mnt?
vim /etc/samba/smb.conf write list = lee 指定lee 可寫 systemctl restart smb.service?
usermod -G westos lee vim /etc/samba/smb.conf writ list = +westos westos組可寫 systemctl restart smb.service mount -o username=lee,password=westos //172.25.254.101/westos_share /mnt touch file1 vim /etc/samba/smb.conf valid users = lee ##指定訪問用戶 systemctl restart smb.service mount -o username=westos,password=westos //172.25.254.101/westos_share /mnt mount -o username=lee,password=westos //172.25.254.101/westos_share /mn?
?
?指定訪問組和上面一個(gè)道理,這里不進(jìn)行測(cè)試
vim /etc/samba/smb.conf browseable = yes|no ##是否隱藏共享systemctl restart smb.service smbclient -L //172.25.254.101| map to guest = bad user | 寫到全局設(shè)定中(118行) |
| guest ok = yes?? | 允許匿名用戶訪問 |
| admin users = lee | 指定此共享的超級(jí)用戶身份呢 |
?
八、samba的多用戶掛載
在客戶端如果用普通的掛載方式
沒有用過用戶驗(yàn)證的人也可以訪問samba服務(wù)
?
root@client ~]# su - westos
[westos@client ~]$ cd /mnt
[westos@client mnt]$ ls????????????? ##客戶端主機(jī)的westos用戶沒有通過認(rèn)證
ls: cannot open directory '.': Permission denied
[westos@client mnt]$ ls
ls: cannot open directory '.': Permission denied
[westos@client mnt]$ cifscreds add? -u westos??? 172.25.254.101
Password:
[westos@client mnt]$ ls??? ##通過認(rèn)證可以顯示
file1? file2? file3
[westos@test /]$ cifscreds add? -u lee?? 172.25.254.101
Key search failed: Key has expired?? ?##當(dāng)遇到此報(bào)錯(cuò)信息
[westos@test /]$ cifscreds add? -u lee?? -d 172.25.254.101
Password:
[westos@test ~]$ cifscreds clearall?? ?##執(zhí)行以上兩條命令解決報(bào)錯(cuò)
autofs+samba
autofs:在客戶端實(shí)現(xiàn)自動(dòng)掛載卸載的軟件 下載:dnf install autofs.x86_64 配置方式: vim /etc/auto.master 最終掛載點(diǎn)的上層目錄 自動(dòng)以子策略文件 /mnt /etc/auto.sambavim 自動(dòng)以子策略文件(/etc/auto.samba) 最終掛載點(diǎn) 掛載參數(shù) 掛載資源 samba -fstype=cifs,username=westos,password=westos ://172.25.254.101/westos_sharesystemctl restart autofs測(cè)試:
cd /mnt/samba
df
cd /root
等待資源閑置超時(shí)?? ?##默認(rèn)300秒 vim /etc/autofs.conf ---->Timeout=3
df
掛載資源自動(dòng)卸載
?
NFS
Net File System
NFS是基于UDP/IP協(xié)議的應(yīng)用,其實(shí)現(xiàn)主要是采用遠(yuǎn)程過程調(diào)用RPC機(jī)制,RPC提供了一組與機(jī)器、操作系統(tǒng)以及低層傳送協(xié)議無關(guān)的存取遠(yuǎn)程文件的操作。RPC采用了XDR的支持。XDR是一種與機(jī)器無關(guān)的數(shù)據(jù)描述編碼的協(xié)議,他以獨(dú)立與任意機(jī)器體系結(jié)構(gòu)的格式對(duì)網(wǎng)上傳送的數(shù)據(jù)進(jìn)行編碼和解碼,支持在異構(gòu)系統(tǒng)之間數(shù)據(jù)的傳送。
工作原理:
NFS的工作原理是使用客戶端/服務(wù)器架構(gòu),由一個(gè)客戶端程序和服務(wù)器程序組成。服務(wù)器程序向其他計(jì)算機(jī)提供對(duì)文件系統(tǒng)的訪問,其過程稱為輸出。NFS客戶端程序?qū)蚕砦募到y(tǒng)進(jìn)行訪問時(shí),把它們從NFS服務(wù)器中“輸送”出來。文件通常以塊為單位進(jìn)行傳輸。其大小是8KB(雖然它可能會(huì)將操作分成更小尺寸的分片)。NFS傳輸協(xié)議用于服務(wù)器和客戶機(jī)之間文件訪問和共享的通信,從而使客戶機(jī)遠(yuǎn)程地訪問保存在存儲(chǔ)設(shè)備上的數(shù)據(jù)。
特點(diǎn):
(1)提供透明文件訪問以及文件傳輸;
(2)容易擴(kuò)充新的資源或軟件,不需要改變現(xiàn)有的工作環(huán)境;
(3) 高性能,可靈活配置。
| nfs-utils | ##安裝包 |
| nfs-server | ##服務(wù)腳本 |
| /etc/exports | ##共享配置文件 |
nfs的啟用
systemctl start nfs-server firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=nfs firewall-cmd --reload測(cè)試:
[root@server ~]# showmount -e 172.25.254.101
Export list for 172.25.254.101:
nfs配置
vim /etc/exports ##此文件更改后生效exportfs -rv共享目錄 共享給誰(共享參數(shù))/westosdir *(ro)?測(cè)試:
nfs配置參數(shù)
| anonuid=1000,anongid=1000 | 指定用戶身份 |
| sync | 更改生成后同步數(shù)據(jù)到服務(wù)器 |
| async | 時(shí)時(shí)同步數(shù)據(jù)到服務(wù)器 |
| rw | 讀寫 |
| ro | 只讀 |
| no_root_squash??? | root用戶掛載不轉(zhuǎn)換身份 |
?測(cè)試:
mount 172.25.254.101:/westosdir? /mnt/
?
nfs+autofs
參看autofs.samba章節(jié)內(nèi)容
vim /etc/auto.master /mnt auto.nfs vim /etc/auto.nfs nfs 172.25.254.101:/westosdir systemctl restart autofs.service cd /mnt/nfs df測(cè)試:
iscsi
iSCSI(Internet Small Computer System Interface,發(fā)音為/?а?sk?zi/),Internet小型計(jì)算機(jī)系統(tǒng)接口,又稱為IP-SAN,是一種基于因特網(wǎng)及SCSI-3協(xié)議下的存儲(chǔ)技術(shù),由IETF提出,并于2003年2月11日成為正式的標(biāo)準(zhǔn)。與傳統(tǒng)的SCSI技術(shù)比較起來,iSCSI技術(shù)有以下三個(gè)革命性的變化:
把原來只用于本機(jī)的SCSI協(xié)議透過TCP/IP網(wǎng)絡(luò)發(fā)送,使連接距離可作無限的地域延伸;
連接的服務(wù)器數(shù)量無限(原來的SCSI-3的上限是15);
由于是服務(wù)器架構(gòu),因此也可以實(shí)現(xiàn)在線擴(kuò)容以至動(dòng)態(tài)部署.
功能:
iSCSI利用了TCP/IP的port 860 和 3260 作為溝通的渠道。透過兩部計(jì)算機(jī)之間利用iSCSI的協(xié)議來交換SCSI命令,讓計(jì)算機(jī)可以透過高速的局域網(wǎng)集線來把SAN模擬成為本地的儲(chǔ)存裝置。
iSCSI使用 TCP/IP 協(xié)議(一般使用TCP端口860和3260)。 本質(zhì)上,iSCSI 讓兩個(gè)主機(jī)通過 IP 網(wǎng)絡(luò)相互協(xié)商然后交換SCSI命令。這樣一來,iSCSI 就是用廣域網(wǎng)仿真了一個(gè)常用的高性能本地存儲(chǔ)總線,從而創(chuàng)建了一個(gè)存儲(chǔ)局域網(wǎng)(SAN)。不像某些 SAN 協(xié)議,iSCSI 不需要專用的電纜;它可以在已有的交換和 IP 基礎(chǔ)架構(gòu)上運(yùn)行。然而,如果不使用專用的網(wǎng)絡(luò)或者子網(wǎng)( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能會(huì)嚴(yán)重下降。于是,iSCSI 常常被認(rèn)為是光纖通道(Fiber Channel)的一個(gè)低成本替代方法,而光纖通道是需要專用的基礎(chǔ)架構(gòu)的。但是,基于以太網(wǎng)的光纖通道(FCoE)則不需要專用的基礎(chǔ)架構(gòu)。
?
?
iscsi_client #客戶端dnf install iscsi-initiator-utils.x86_64 -y vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2020-08.com.westos:westoskey1 <---- key checksystemctl restart iscsidiscsiadm -m discovery -t st -p 172.25.254.101 iscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -l ---> /dev/sdafdisk /dev/sda ---> /dev/sda1 mkfs.xfs /dev/sda1 mount /dev/sda1 /mntiscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -u刪除/dev/sda iscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -o delete 刪除樹文件總結(jié)
以上是生活随笔為你收集整理的网络文件系统(samba、nfs、iscsi)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业dns 服务器的搭建
- 下一篇: Linux中的火墙策略优化(iptabl