NFS & samba
NAS:Network Attached Storage 网络附属存储 NFS samba FTP
基于网络的存储
SAN:Storage Area Network 存储区域网络(存储局域网)
基于存储的网络 万兆起 10Gb IBM 联想 DELL HP
采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通道)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准(但各个厂商的光纤交换技术不完全相同,其服务器和SAN存储有兼容性的要求)。
SAN专注于企业级存储的特有问题。当前企业存储方案所遇到问题的两个根源是:数据与应用系统紧密结合所产生的结构性限制,以及小型计算机系统接口(SCSI)标准的限制。大多数分析都认为SAN是未来企业级的存储方案,这是因为SAN便于集成,能改善数据可用性及网络性能,而且还可以减轻管理作业。
NFS:network file system 网络文件系统
作用:可以通过网络让不同的机器可以共享彼此的文件。 SUN 1984 sun小机 UNIX
不区分平台 (C|S)
RPC 使用111端口来监听客户端的请求,并相客户端提供nfs各个功能对应的端口号,RPC是怎么知道NFS各个端口号呢?NFS服务启动时会向rpc注册各个功能的端口号,同时各个功能的端口号不固定,如果NFS面向于公网,随机端口会带来麻烦
安装服务
rpcbind
nfs-utils
nfs server端
需要安装的软件:
rpc主程序:rpcbind(portmap) ----负责为nfs各个功能指定端口号并将端口号信息通知给客户端的工作
nfs主程序:nfs-utils rpc.nfsd和rpc.mounted这两个守护进程是nfs服务的主要程序
锁定文件程序:nfslock rpc.lock和rpc.statd这两个守护进程保护文件系统的一致性
NFS的软件结构
主配置文件:/etc/exports
nfs文件系统的维护命令 :/usr/sbin/exportfs
共享资源日志文件:/var/lib/nfs/etab
client端查询NFS server端的共享命令:、/usr/sbin/showmount
主配置文件写法
vim /etc/exports
/share 192.168.180.0/255.255.255.0(rw)
你要共享的目录 可以使用该共享的网段或者主机 (挂载参数)
rw/ro :该目录共享的权限是可读写(rw)或只读(ro),但最终能不能读写还是要看文件系统的权限
sync/async 是否同步
no_root_squash/root_squash: 客户端使用NFS文件系统的账号要是root ,设置root_squash意味着系统默认将root身份降为nfsnobody
all_squash/no_all_squash 不论登录NFS用户身份如何,都默认为nfsnobody
anonuid/anongid: 配合以上两个参数使用 ,设置被贬身份 NFS server中的那个用户
secure/insecure: nfs通过1024以下的安全端口发送; in----- 通过1024以上端口发送
wdelay/no_wdelay: wdelay表示如果多个用户要写入nfs目录,则归组写入(默认);no-----
表示如果多个用户写入 立即写入(会增加io压力)
*************** netstat ss 查看网络状态
启动NFS
/etc/init.d/rpcbind start
/etc/init.d/nfs start
/etc/init.d/nfslock start
chkconfig **** on
查看日志了解nfs的运行状态 /var/lib/nfs/etab
nfs使用的端口 rpc 111
nfs 2049
其他功能的端口不固定。编辑/etc/sysconfig/nfs 固定
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020
RDMA_PORT=20049
exportfs -a 全部挂载(或卸载)
-r 重新加载/etc/exports里的设置
-v 显示过程
samba
samba使用的守护进程
smbd:管理smaba主机共享的目录、文件、打印机,利用可靠的TCP协议来传输数据。端口为139、445
nmbd:管理工作组、netbios的名称解析。利用UDP协议 137、138端口
samba服务软件结构
samba:提供samba服务所需的各项主要程序(smbd,nmbd)
samba-client:提供linux作为客户端所需要的工具命令
samba-common:提供服务器与客户端都会使用到的数据,如语法校验工具,samba的主配置文件
重要的文件
/etc/samba/smb.conf 主配置文件
/etc/samba/sambausers 用于存放windows与unix-like(类Unix)用户账号的对应关系文件
/usr/share/doc/samba版本号 存放的samba的使用手册
pam模块是linux一个认证机制,
[global] 全局配置
workgroup = MYGROUP 定义工作组
server string = Samba Server Version %v 定义客户端登录后显示的版本
; netbios name = MYSERVER 定义网上邻居看到的主机名字
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 定义是监听的网卡及网段
; hosts allow = 127. 192.168.12. 192.168.13. 定义访问控制
log file = /var/log/samba/log.%m 定义日志文件
max log size = 50 定义日志大小 (切割使用)
security = user 安全级别
share 常用,任何人都可以登录,允许匿名访问
user 常用,需要用户名和密码验证并且通过才可以访问服务
server Pdc环境 客户端能否登录由pdc服务器控制
domain 需要加入域环境 客户端通过与服务器验证 LDAP
ads -------------------------------------- windows AD
passdb backend = tdbsam 存放用户名密码的方式
smbpasswd 相当于passwd 不安全
tdbsam 使用数据库存放用户名密码(目前正在使用)
#============================ Share Definitions ==============================
[public] 客户端看到的共享名称
comment = Public Stuff 描述信息
path = /tmp 共享目录
public = yes 是否允许匿名访问
guest ok = yes.no 同上
writeable = yes 是否可写
write list = +staff (username +groupname @groupname)配合上一条使用 定义可写用户和组
browseable = yes 共享资源可否被浏览 默认是浏览
read only = yes 是否可读
read list = username +groupname @groupname
valid users = cjk xz @liege 定义可以访问的用户和组
invalid users = 用法同上 意思去翻
host allow = 192.168.1. EXCEPT 192.168.1.1 允许192.168.1.0、/24网段访问 但是1.1 不可访问
samba的用户管理
要添加的samba用户(配置文件)必须存在于/etc/passwd文件中
smbpasswd -a 用户名 添加用户并设置密码
-x 删除用户
-d 禁用用户
-e 启用用户
linux 连接samba
smbclient -L //server IP 查看共享信息
smbclient -U 用户名%密码 //192.168.180.254/share
mount -t cifs //192.168.180.254/share /mnt -o user=red1,password=123456