RHCE 共享文件系统
9.1 共享文件系统
概述: 共享文件系统通常有两种方式:
基于文件共享,一种直接共享文件夹给client端,常见的技术有NFS(Network File System )和 SMB (Server Message Block)
基于block共享,即共享服务器端分配的磁盘给client端使用。
--------------------------------------------------------------------------------------------------------
测试环境
--------------------------------------------------------------------------------------------------------
9.1.1 基于文件共享
NFS 配置
服务端设置
安装包
libnfsidmap-0.25-9.el7.x86_64
nfs-utils-1.3.0-0.el7.x86_64
服务名: nfs
防火墙:
1. 安装包检查及安装
rpm -qa | grep -i nfs
yum install nfs-utils-*
2. 启动服务nfs-server
systemctl restart nfs-server
systemctl enable nfs-server
systemctl status nfs-serve
3. 开启防火墙
rhel 7
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
4. 配置分享的文件
4.1. 创建分享的文件系统
mkdir /nfs
如果分享的用户有写权限,需要设置other 对共享文件夹有写权限
4.2. 配置共享文件
/etc/exports /nfs desktop0(rw)
保存退出后,使用命令检测是否成功
exportfs -r
客户端设置
配置/etc/fstab
192.168.56.12:/nfs /sharednfs nfs defaults 0 0
执行挂载
mount -a
df -h
mount 192.168.56.12:nfs /sharednfs
SMB (Server Message Block)
安装包
samba
samba-client
服务 :smb
防火墙:
服务端设置
1. 安装包
yum install samba*
2. 启动服务
systemctl restart smb
systemctl enable smb
systemctl status smb
3. 开启防火墙
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
4. 创建共享文件目录,及用户需求
mkdir /samba
5. 设置共享文件
5.1 添加共享配置
/etc/samba/smb.conf [samba_s0]
path=/samba
valid users=user0
write list=user1,user2
hosts allow=192.168.56.1
writable=no
5.2 执行命令testparm 检查配置是否存在语法错误
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[samba_s0]"
Loaded services file OK.
“Loaded services file OK.” 表示everything is ok
5.3 将用户升级为samba用户,需要设置对应用户的登录密码
smbpasswd -a user0
[root@localhost ~]# smbpasswd -a user0
New SMB password:
Retype new SMB password:
Added user user0.
客户端设置
安装包
samba-client-3.6.23-45.el6_9.x86_64
cifs-utils-4.8.1-20.el6.x86_64 服务:N/A
1. 安装安装包
yum install samba-client
yum install cifs*
2. 测试是否能够访问成功
2.1 测试是否mount 成功
[root@dpf01 ~]# mount -ousername=user0 //192.168.56.12/samba_s0 /samba
Password:
2.2 测试是否有读权限
[root@dpf01 ~]# cd /samba
[root@dpf01 samba]# ls
ls: reading directory .: Permission denied
原因分析及解决方法
临时关闭 selinux, 测试成功
setenforce 0
接下来我们 fix ,在 server 端做如下操作
方法一:
[root@localhost ~]# semanage fcontext -a -t samba_share_t "/samba(/.*)?"
[root@localhost ~]# restorecon -R -v /samba
restorecon reset /samba context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:samba_share_t:s0
[root@localhost ~]# ls -dZ /samba
drwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 /samba 方法二: 通过查看配置文件 /etc/samba/smb.conf
# Security-Enhanced Linux (SELinux) Notes:
#
# Turn the samba_domain_controller Boolean on to allow Samba to use the useradd
# and groupadd family of binaries. Run the following command as the root user to
# turn this Boolean on:
# setsebool -P samba_domain_controller on
#
# Turn the samba_enable_home_dirs Boolean on if you want to share home
# directories via Samba. Run the following command as the root user to turn this
# Boolean on:
# setsebool -P samba_enable_home_dirs on
#
# If you create a new directory, such as a new top-level directory, label it
# with samba_share_t so that SELinux allows Samba to read and write to it. Do
# not label system directories, such as /etc/ and /home/, with samba_share_t, as
# such directories should already have an SELinux label.
#
# Run the "ls -ldZ /path/to/directory" command to view the current SELinux
# label for a given directory.
#
# Set SELinux labels only on files and directories you have created. Use the
# chcon command to temporarily change a label:
# chcon -t samba_share_t /path/to/directory
#
# Changes made via chcon are lost when the file system is relabeled or commands
# such as restorecon are run.
#
# Use the samba_export_all_ro or samba_export_all_rw Boolean to share system
# directories. To share such directories and only allow read-only permissions:
# setsebool -P samba_export_all_ro on
# To share such directories and allow read and write permissions:
# setsebool -P samba_export_all_rw on
9.1.2 基于 block 共享
ISSCI
1. 安装必要的安装包
2. 创建共享的磁盘
3. 配置ISSCI 服务端
服务端设置
要求的安装包
target
服务:target
防火墙:
1. 安装包
yum install target*
2. 启动服务
systemctl restart target
systemctl enable target
systemctl status target
3. 配置共享磁盘
targetcli [root@localhost RHEL-7.0 Server.x86_64]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb34
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'. /> ls
o- / ..................................................................................................................... [...]
o- backstores .......................................................................................................... [...]
| o- block .............................................................................................. [Storage Objects: 0]
| o- fileio ............................................................................................. [Storage Objects: 0]
| o- pscsi .............................................................................................. [Storage Objects: 0]
| o- ramdisk ............................................................................................ [Storage Objects: 0]
o- iscsi ........................................................................................................ [Targets: 0]
o- loopback ..................................................................................................... [Targets: 0]
/> /backstores> block/ create block0 /dev/sda5
Created block storage object block0 using /dev/sda5.
cd ..
/> ls
o- / ..................................................................................................................... [...]
o- backstores .......................................................................................................... [...]
| o- block .............................................................................................. [Storage Objects: 1]
| | o- block0 .................................................................. [/dev/sda5 (200.0MiB) write-thru deactivated]
| o- fileio ............................................................................................. [Storage Objects: 0]
| o- pscsi .............................................................................................. [Storage Objects: 0]
| o- ramdisk ............................................................................................ [Storage Objects: 0]
o- iscsi ........................................................................................................ [Targets: 0]
o- loopback ..................................................................................................... [Targets: 0]
/> iscsi/ create iqn.2017-11.com.example:remotedisk1
cd iscsi/iqn.2017-11.com.example:remotedisk1/tpg1/
acls/ create iqn.2017-11.com.example:192.168.56.1
luns/ create
portals/ create 192.168.56.12 /> ls
o- / ......................................................................................................................... [...]
o- backstores .............................................................................................................. [...]
| o- block .................................................................................................. [Storage Objects: 1]
| | o- block0 ........................................................................ [/dev/sda5 (200.0MiB) write-thru activated]
| o- fileio ................................................................................................. [Storage Objects: 0]
| o- pscsi .................................................................................................. [Storage Objects: 0]
| o- ramdisk ................................................................................................ [Storage Objects: 0]
o- iscsi ............................................................................................................ [Targets: 1]
| o- iqn.2017-11.com.example:remotedisk1 ............................................................................... [TPGs: 1]
| o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
| o- acls .......................................................................................................... [ACLs: 1]
| | o- iqn.2017-11.com.example:192.168.56.1 ................................................................. [Mapped LUNs: 1]
| | o- mapped_lun0 ................................................................................ [lun0 block/block0 (rw)]
| o- luns .......................................................................................................... [LUNs: 1]
| | o- lun0 ....................................................................................... [block/block0 (/dev/sda5)]
| o- portals .................................................................................................... [Portals: 1]
| o- 192.168.56.12:3260 ............................................................................................... [OK]
o- loopback ......................................................................................................... [Targets: 0]
/>
4. 防火墙设置
[root@localhost ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
客户端设置
1. 安装包
iscsi-initiator-utils
2. 启动服务
systemctl restart iscsid
systemctl enable iscsid
systemctl status iscsid
2. 设置配置文件
/etc/iscsi/initiatorname.iscsi
nitiatorName=iqn.2017-11.com.example:192.168.56.1
3. 发现共享 node
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.56.12 --discover
[root@dpf01 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.56.12 --discover
Starting iscsid: [ OK ]
192.168.56.12:3260,1 iqn.2017-11.com.example:remotedisk1
4. login node
iscsiadm --mode node --targetname iqn.2017-11.com.example:remotedisk1 --portal 192.168.56.12:3260 --login
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
5. 配置/etc/fstab
RHCE 共享文件系统的更多相关文章
- 基于 Azure 托管磁盘配置高可用共享文件系统
背景介绍 在当下,共享这个概念融入到了人们的生活中,共享单车,共享宝马,共享床铺等等.其实在 IT 界,共享这个概念很早就出现了,通过 SMB 协议的 Windows 共享目录,NFS 协议的网络文件 ...
- Linux安装配置Samba共享文件系统
Samba共享文件系统搭建与配置: 1.Samba服务端:yum install samba samba-client cifs-utilscd /etc/samba/cp smb.conf smb. ...
- Openmpi 编译安装+集群配置 + Ubuntu14.04 + SSH无密码连接 + NFS共享文件系统
来源 http://www.open-mpi.org/ 网络连接 SSH连接,保证各台机器之间可以无密码登陆,此处不展开 hosts文件如下 #/etc/hosts 192.168.0.190 mas ...
- NFS网络共享文件系统
1.nfs服务端配置操作 1.1 创建所需的共享目录--源 mkdir /data/rw #rw代表同步的数据可读可写 1.2 对共享目录进行授权 chown -R nfsnobody.nfsno ...
- NFS,两台linux设置网络共享文件系统
NFS,MOUNT,UMOUNT 简介 NFS是Network File System的简写,网络文件系统.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,根据权限的控制可以对N ...
- exportfs - 管理NFS共享文件系统列表
概述 (SYNOPSIS) /usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..] /usr/sbin/exportfs -r [-v] ...
- nfs共享文件系统
NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别的档 ...
- NFS共享文件系统部署
1. 概述 本篇博客主要是介绍如何安装和使用NFS服务. 2. 安装软件包 首先确认系统是否已经安装相应的软件包,执行命:rpm -qa | egrep "rpcbind|nfs-utils ...
- SharedFile System Master Slave(共享文件系统)做ActiveMQ集群
WINDOWS环境下:http://www.apache.org/dyn/closer.cgi?path=/activemq/apache-activemq/5.9.0/apache-activemq ...
随机推荐
- Access denied for user 'root'@'MiWiFi-Ryyy-srv' (using password: YES)
虽然是跟很多人一样的问题但是原因不同,其他很多文章说是授权问题,也确实是授权问题,但是,配置文件写的是连接localhost,而这里不知道什么原因切换了使用的用户,变成了默认访问MiWiFi-Ryyy ...
- com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'easylabdb.userInfo' doesn't exist
这个问题主要是说,你查找的表不存在,但是,事实上我这个表示存在的,会产生这个问题的原因是,我这个表的大小写拼写方式跟sql语句中的大小写不一样,这时就要设置数据库不区分大小写 找到mysql的配置文件 ...
- 加载 bean.xml 的几种方式 (java or web project)
1. java project ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:bean1.xm ...
- 微信小程序Wepy框架的三个事件交互($broadcast,$emit,$invoke)
$broadcast: $broadcast事件是由父组件发起,所有子组件都会收到此广播事件,除非事件被手动取消.事件广播的顺序为广度优先搜索顺序,如上图,如果页面Page_Index发起一个$bro ...
- Linux的进程/线程间通信方式总结
Linux系统中的进程间通信方式主要以下几种: 同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal) * System V进程 ...
- (4)-optXXX方法的使用
在JSONObject获取value有多种方法,如果key不存在的话,这些方法无一例外的都会抛出异常.如果在线环境抛出异常,就会使出现error页面,影响用户体验,针对这种情况最好是使用optXXX方 ...
- #ifdef __cplusplus extern "C" { #endif 的解释
好多程序中都会遇到下列代码段: #ifdef __cplusplus extern "C" { #endif /****************** C语法代码段 ******** ...
- java程序练习
数组求和作业 开发环境:java 工具:eclipse 两种数据类型excel和csv 在同学建议下,我选择用csv文件打开,这就引来了第一个问题,在java中如何调用csv文件.以下是我百度的结果 ...
- day14(带参装饰器,迭代器,生成器,枚举对象)
一,复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...
- EAS系统环境的搭建
(一)应用服务器配置 1.先建立好程序需要部署的文件夹,如D:\AppServer\,此目录下包含如下几个子目录: XClient(客户端升级程序放置的目录,此目录下应包含Config和Files子目 ...