【分布式存储】samba实现分布式磁盘
公司的服务器上的raid硬盘给我划分了一小块用来实验。 我怎么共享过来呢。可以NFS也可以samba。 需要输入用户名,密码。这样来挂载。
公司内部很少人用的系统,能保证raid数据安全就是个弱可用的系统了。 够用了。
其实就是磁盘共享
Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文件共享和打印机服务共享。 <font color=red>SMB是一个协议.</font>
1 服务端:
公司做的,我只管用. 一会把搭建smaba服务端,写上.实验一下.
参考: https://www.cnblogs.com/hereboot/p/11707903.html
1.1 安装samba服务
yum install -y samba
1.2 配置samba服务
samba服务器最主要的配置文件其实只有一个,就是/etc/samba/samba.conf,这个配置文件可以分为两个部分,一个部分是全局参数,一部分是共享资源相关参数。
#1.全局部分参数设置:
[global]
#与主机名相关的设置
workgroup = zkhouse <==工作组名称
netbios name = zkserver <==主机名称,跟hostname不是一个概念,在同一个组中,netbios name必须唯一
serverstring = this is a test samba server <==说明性文字,内容无关紧要
#与登录文件有关的设置
log file = /var/log/samba/log.%m <==日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname
max log size = 50 <==日志文件最大的大小为50Kb
#与密码相关的设置
security = share <==表示不需要密码,可设置的值为share、user和server
passdb backend = tdbsam
#打印机加载方式
load printer = no <==不加载打印机
-----------------------------------------------------------
# 2.共享资源设置方面:将旧的注释掉,加入新的
#先取消[homes]、[printers]的项目,添加[temp]项目如下
[temp] <==共享资源名称
comment = Temporary file space <==简单的解释,内容无关紧要
path = /tmp <==实际的共享目录
writable = yes <==设置为可写入
browseable = yes <==可以被所有用户浏览到资源名称,
guest ok = yes <==可以让用户随意登录
工作模式 samba服务器有5种工作模式,分别为:
- share,用户对samba服务器的访问不需要身份验证,允许匿名访问,用户的访问权限仅由相应用户对共享文件的访问权限决定
- user,使用用户名和密码访问samba服务器,
- server,使用另外一台服务器专门用来做身份验证,samba服务只提供文件和打印机共享服务
- domain,域模式,不常用
- ads,最新的一种工作模式,也不太常用
1.3 添加用户并设置密码
设置账号用于登录samba服务器,同时并设置密码。具体命令:
[root@localhost ~]# useradd shirx
[root@localhost ~]# smbpasswd -a shirx
New SMB password:
Retype new SMB password:
1.4 重启Samba服务器
// [root@localhost ~]# /etc/init.d/smb restart
//没有这个命令
改用:
service smb restart
service smb status
2 客户端:
2.1 客户端 = linux(centos7)
$ yum install -y samba-client
$ smbclient -L samba服务器IP -U shirx
Enter SAMBA\shirx's password:
Sharename Type Comment
--------- ---- -------
Fileserver Disk
IPC$ IPC IPC Service ()
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP CJB-22-NO08
$ mkdir -p /data_cjb
$ mount -t cifs -o username=用户名,password=密码 //samba服务器IP/shi /data_cjb
[root@centos109 data_cjb]# ls /data_cjb
me108 me109 readme
这就能用了.
追击
想删除挂就执行下面的命令
#umount /mnt/MyShare
好像必须得加上uid,gid
sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu
追记:
客户端定期重启了。起来来之后发现如下问题,挂载目录没了。 另外,输入用户名密码也出错。
[root@centos108 ~]# mount | grep cjb
mount不见了。
虽然yperV,关闭宿主机不写这个也能挂载。但是在hyperV上显式地关闭在启动3.108 ,再进到3.108上一看,mount不见了。
重新启动后自动挂载目录
然后在/etc/fstab中添加下面这行
在/etc/fstab中添加下面这行
//192.168.100.11/shi /data_cjb/ cifs defaults,username=shirx,password=password
这样重新启动后,mount又自动挂载了。
2.2 windows
在Windows的运行,输入\192.168.100.11/shi(Samba对应的IP地址): 这个时候会弹出登录界面,直接输入之前设置的登录账号和密码就行了。