cifs,nfs和iscsi

一 Samba

Samba是一套让UNIX系统能够应用Microsoft网络通讯协议的软件。Samba属于GNU Public License(简称GPL)的软件。什么是SMB?SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft 网络的通讯协议,而Samba则是将SMB协议搬到UNIX上来应用;Samba的核心是 SMB(Server Message Block)协议。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源。

1)安装软件和开启服务  在ip为172.25.254.173的主机上实验

 yum install samba samba-client samba-common -y
systemctl start smb

2)查看打开的端口

netstat -antlpe | grep smb


3)匿名用户登陆   (切记不用输密码)

smbclient -L //172.25.254.173

4)创建samba用户 (用户必须是系统中真实存在的)
pdbedit -a student

pdbedit -L


5)删除samba用户

pdbedit -x student

6)samba客户端登陆
smbclient -L //172.25.254.173 -U student

7)登陆用户家目录

smbclient //172.25.254.173/student -U student


mount //172.25.254.173/student /mnt/ -o username=student,password=redhat

二 samba文件的配置

1) 查看samba的配置文件
rpm -qc samba-common


vim /etc/samba/smb.conf

[linux]

comment = dir from test

 path = /test

mkdir /test

systemctl restart rmb

2)查看samba 的安全上下文
getsebool -a | grep samba
semanage fcontext -a -t samba_share_t '/test(/.*)?'
restorecon -RvvF /test/


ls -Zd /westos/

setfacl -m u:student:rwx /test
smbclient //172.25.254.173/linux -U student

公共目录配置:
89 workgroup = data #改变共享组的名为data
95 hosts allow = 172.25.254.92 #白名单
96 hosts deny=172.25.254.91 #黑名单
125 map to guest = bad user #设置其他主机以guest身份挂载

共享目录配置:
323 [data] #共享目录在客户端显示的名称
324 comment = qqdata #共享目录的描述
325 path = /share #指定共享目录
326 guest ok = yes #允许以guest挂载
327 writable = yes #用来指定该共享路径是否可写。
328 write list = student #write list用来指定可以在该共享下写入文件的用户。
329 browseable = no #用来指定该共享是否可以浏览

三 smb多用户挂载  在ip为172.25.254.73的主机上测试

yum install cifs-utils -y
vim /root/skrauth   编写smb认证文件

username=student

password=redhat
mount //172.25.254.173/linux /mnt -o multiuser,credentials=/root/skrauth,sec=ntlmssp

测试:在客户端挂载后,开始时切换用户是无法看到共享目录重的内容的,使用命令:cifscreds add -u linux 172.25.254.173 ,意思是可以以服务器端linux用户的权限来访问共享目录。当然,linux这个用户在服务器必须存在,而且是smb用户

su - kiosk
touch /mnt/file1
cifscreds add -u  linux 172.25.254.173
crfscreds clear -u linux 172.25.254.173  清除smb用户


四   nfs

客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命 令。NFS有属于自己的协议与使用的端口号,但是在传送资料或者其他相关信息时候,NFS服务器使用一个称为"远程过程调用"(Remote Procedure Call,RPC)的协议来协助NFS服务器本身的运行。

服务端

yum install nfs-utils
systemctl start nfs
yum list nfs-utils
vim /etc/exports
/test *(ro,sync)   只读共享 在客户段不能进行读写操作
exportfs -rv
改成
/test *(rw,sync)  变成读写共享在客户端就可以进行读写操作了
exportfs -rv
客户端
showmount -e 172.25.254.173
mount 172.25.254.173:/test /mnt/
mount -a
vim /etc/fstab

五  autofs

mount是用来挂载文件系统的,可以在系统启动的时候挂载,也可以在系统启动后挂载。

对于本地固定设备,如硬盘可以使用mount挂载,而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。

光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。

而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统,免去我们手动挂载的麻烦。

客户端
yum install autofs -y
systemctl start autofs
cd /net
cd 172.25.254.173
vim /etc/sysconfig/autofs
TIEMOUT=8     刷新时间为8s
systemctl restart autofs
vim /etc/auto.master   上层挂载目录配置文件
/opt/nfs  /etc/auto.nfs
vim /etc/auto.nfs       下层挂载目录配置文件
test -ro 172.25.254.173:/test
cd /net/nfs/test
df

六 iscsi

SCSI 的全称是: Internet 小型计算机系统接口,是一个基于 TCP/IP 的协议,主要用于通过 IP 网络仿真 SCSI,从而为远程块存储设备提供数据传输和管理。说白了,就是通过网络由专门的服务器提供存储管理,以实现数据的远程储存,便于数据的集中管理,从而 简化了数据复制、迁移和容灾。

服务端 ip为172.25.254.93

1)安装targetcli安装包
yum install targetcli -y

2)设置开机启动和服务启动

systemctl start  target

systemctl enable target

3 )建立一个2G的分区作为backstores
fdisk /dev/vdb
partprobe
cat /proc/partitions

4)进入targetcli管理界面
targetcli

5)添加建立的分区到backstores
/> /backstores/block create test:storage1 /dev/vdb1

6)创建新的target
/> /iscsi create iqn.2018-08.com.test:storage1

7)在TPG下,新建ACL设置IQN为 iqn.2018-08.com.test:testkey1客户端使用
/> iscsi/iqn.2018-08.com.test:storage1/tpg1/acls create iqn.2018-08.com.test:testkey1

8)添加baskstores到lun项下
/> iscsi/iqn.2018-08.com.test:storage1/tpg1/luns create /backstores/block/test:storage1

9)添加本机ip和端口
/> iscsi/iqn.2018-08.com.test:storage1/tpg1/portals create 172.25.254.93
Using default IP port 3260
Created network portal 172.25.254.93:3260.

exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

10)可以在配置文件里找到上述的配置信息
 vim /etc/target/saveconfig.json

11)如果开着防火墙做以下设置

firewall-cmd --permanent --add-port=3260/tcp

firewall-cmd --reload

客户端 ip172.25.254.173

1)安装 iscsi-initiator-utils软件包
 yum install iscsi-initiator-utils -y

2)发现服务端已经配置好的target
 iscsiadm -m discovery -t st -p 172.25.254.93

3)编辑配置文件使用服务端iqn.2018-08.com.test:storage1
 vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2018-08.com.test:testkey1
 systemctl restart iscsid.service

4)登陆服务端已经设置好tatget
 iscsiadm -m node -T iqn.2018-08.com.test:storage1 -p 172.25.254.93 -l

5)在新分区上创建新分区并挂载
 fdisk -l
 fdisk /dev/sda
mkfs.xfs /dev/sda1

partprobe
cat /proc/partitions
mount /dev/sda1 /mnt/
df -H

6)开机自动永久挂载
 vim /etc/fstab

/dev/sda1 /mnt  xfs defaults,_netdev   0 0
客户端删除

出于种种目的,如:磁盘扩容、客户端不再使用 iSCSI 进行数据存储、客户端布署其他应用而不再使用原应用等等,就需要将已经挂载的 iSCSI Target 进行卸载,并出于信息安全的目的,删除已经保存的服务端的相关信息,这时就需要进行下面的操作。

1)删除挂载分区文件并且卸载挂载
vim /etc/fstab
umount /mnt/
df

2)安装tree安装包查看挂载
yum install tree
fdisk -l
tree /var/lib/iscsi/

3)在客户端系统中挂载安装的iscsi磁盘
iscsiadm -m node -T iqn.2018-08.com.test:storage1 -p 172.25.254.93 -u

4)删除已发现的isicsi信息并验证

iscsiadm -m node -T iqn.2018-08.com.test:storage1 -p 172.25.254.93 -o delete
tree /var/lib/iscsi/

服务端删除

1)打开targetcli管理界面输入clearconfig confirm=true
/> clearconfig confirm=true
All configuration cleared

2)退出管理界面会出现以下信息,表明配置已经删除,并且所有信息保存到配置文件中
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

猜你喜欢

转载自blog.csdn.net/yangkaiorange/article/details/81711833