爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      Linux 多种方式实现文件共享

      首页 知识中心 服务器 文章详情页

      Linux 多种方式实现文件共享

      2023-06-19 07:02:14 阅读次数:461

      Linux,samba,服务器

      文件共享服务在Linux系统上有多种方式,最常用的有Samba,vsftp,iSCSI,NFS这四种方式,如下将分别配置四种不同的文件共享服务.

      VSFTP 文件传输

      FTP是文件传输协议.用于Internet上的控制文件的双向传输,FTP传输文件属于明文传输,不对传输过程进行任何加密处理,VSFTP服务是Linux系统下的加强版传输服务器,安全性更好.

      • VSFTP的特点

      • 1.vsftp程序的运行者一般是普通用户,降低了相对应进程的权限,提高了安全性.

      • 2.任何需要执行较高权限的指令都需要上层程序许可.

      • 3.ftp所需要使用的绝大多数命令都被整合到了vsftp中,基本不需要系统额外提供命令.

      • 4.拥有chroot功能,可以改变用户的根目录,限制用户只能在自己的家目录.

      • VSFTP的连接类型

      • 控制连接(持续连接)-> TCP21(命令信道)-> 用户收发FTP命令

      • 数据连接(按需连接)-> TCP20(数据信道)-> 用于上传下载数据

      • 主动模式与被动模式

      • 1.很多防火墙在设置的时候都是不允许接受外部发起的连接,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高位端口.

      • 2.而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP20无法和内部网络的客户端建立一个新的连接,造成无法工作.

      配置匿名FTP服务器

      作用:任意用户,输入FTP服务器IP都可以访问,只需输入用户名ftp即可访问.

      [匿名配置常用参数]
      
      	anonymous_enable=YES		#启用匿名访问
      	anon_umask=022			#匿名用户所上传文件的权限掩码
      	anon_root=/var/ftp		#匿名用户的FTP根目录
      	anon_upload_enable=YES		#允许上传文件
      	anon_mkdir_write_enable=YES	#允许创建目录
      	anon_other_write_enable=YES	#开放其他写入权
      	anon_max_rate=0			#限制最大传输速率
      

      1.安装VSFTP服务器.

      [root@localhost ~]# yum install -y vsftpd
      

      2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

      [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
      
      pasv_enable=YES							#开启被动模式
      pasv_min_port=10000						#被动模式最小端口
      pasv_max_port=15000						#被动模式最大端口
      
      anonymous_enable=YES						#允许匿名用户访问
      anon_upload_enable=YES						#允许匿名用户上传
      anon_mkdir_write_enable=YES					#允许匿名用户建立目录
      anon_other_write_enable=YES					#开放其他人写入权限
      anon_umask=022							#设置匿名用户umask
      anon_root=/ghost						#匿名用户ftp根目录
      
      local_enable=YES						#允许本地用户登录
      write_enable=YES						#允许本地用户上传
      local_umask=022							#本地用户上传umask值
      xferlog_enable=YES						#激活记录日志
      connect_from_port_20=YES					#主动模式传输接口
      xferlog_std_format=YES						#使用标准ftp日志的格式
      
      listen=YES							#允许被侦听
      pam_service_name=vsftpd						#ftp采用pam默认用户名密码验证
      userlist_enable=YES						#用户登陆限制
      tcp_wrappers=YES						#网络访问限制机制
      
      
      #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]
      

      3.启动FTP服务,并设置开机自动启动.

      [root@localhost ~]# systemctl start vsftpd
      [root@localhost ~]# systemctl enable vsftpd
      

      配置本地用户FTP服务器

      作用:只有正确输入用户名和密码才能访问数据.

      [本地配置常用参数]
      
      	local_enable=YES				#是否启用本地系统用户
      	local_umask=022					#本地用户所上传文件的权限掩码
      	local_root=/var/ftp				#设置本地用户的FTP根目录
      	chroot_local_user=YES				#是否将用户禁锢在主目录
      	local_max_rate=0				#限制最大传输速率
      	ftpd_banner=Welcome to blah FTP service		#用户登录时显示的欢迎信息
      	banner_file=/目录				#弹出一个说明,可以做哪些操作
      	userlist_enable=YES &userlist_deny=YES 	#禁止/etc/vsftpd/user_list文件中出现的用户名登录FTP
      	userlist_enable=YES & userlist_deny=NO 	#仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP
      

      1.安装VSFTP服务器.

      [root@localhost ~]# yum install -y vsftpd
      

      2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

      [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
      
      pasv_enable=YES							#开启被动模式
      pasv_min_port=10000						#被动模式最小端口
      pasv_max_port=15000						#被动模式最大端口
      
      anonymous_enable=NO						#允许匿名用户登陆
      chroot_local_user=YES						#把用户禁锢在家目录
      local_enable=YES						#本地用户允许登陆
      local_root=/ghost						#指定本地用户的ftp根目录
      write_enable=YES						#允许本地用户上传
      local_umask=022							#本地用户上传umask值
      xferlog_enable=YES						#激活记录日志
      xferlog_std_format=YES						#使用标准ftp日志的格式
      
      listen=YES							#允许被侦听
      pam_service_name=vsftpd						#ftp采用pam默认用户名密码验证
      userlist_enable=YES						#用户登陆限制
      tcp_wrappers=YES						#网络访问限制机制
      
      #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]
      

      3.创建用户并指定其家目录,创建用于存储数据的目录.

      [root@localhost ~]# useradd -s /sbin/nologin -d /ghost/lyshark  lyshark
      [root@localhost ~]# passwd  lyshark
      

      4.启动FTP服务,并设置开机自动启动.

      [root@localhost ~]# systemctl start vsftpd
      [root@localhost ~]# systemctl enable vsftpd
      

      配置匿名与本地混合FTP

      作用:匿名用户可以查看共享数据,登陆后有自己的存储池.

      1.安装VSFTP服务器

      [root@localhost ~]# yum install -y vsftpd
      

      2.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

      [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
      
      pasv_enable=YES							#开启被动模式
      pasv_min_port=10000						#被动模式最小端口
      pasv_max_port=15000						#被动模式最大端口
      anonymous_enable=YES						#允许匿名用户登陆
      anon_umask=022							#设置匿名用户umask
      anon_root=/var/ftp						#匿名用户ftp根目录
      anon_upload_enable=YES						#允许匿名用户上传
      anon_mkdir_write_enable=YES					#允许匿名用户建立目录
      anon_other_write_enable=YES					#开放其他人写入权限
      anon_max_rate=0							#限制最大传输速率
      
      local_enable=YES						#允许本地用户登录
      local_root=/ghost						#指定本地用户的ftp根目录
      chroot_local_user=YES						#把用户禁锢在家目录
      write_enable=YES						#允许本地用户上传
      local_umask=022							#本地用户上传umask值
      xferlog_enable=YES						#激活记录日志
      xferlog_std_format=YES						#使用标准ftp日志的格式
      listen=YES							#允许被侦听
      pam_service_name=vsftpd						#ftp采用pam默认用户名密码验证
      userlist_enable=YES						#用户登陆限制
      tcp_wrappers=YES						#网络访问限制机制
      
      #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]
      

      3.创建用户并指定其家目录,创建用于存储数据的目录.

      [root@localhost ~]# useradd -s /sbin/nologin -d /ghost/lyshark  lyshark
      [root@localhost ~]# passwd  lyshark
      

      4.启动FTP服务,并设置开机自动启动.

      [root@localhost ~]# systemctl start vsftpd
      [root@localhost ~]# systemctl enable vsftpd
      

      配置虚拟用户FTP服务器

      作用:有时候创建本地用户过多,严重影响系统效率,所有我们要使用虚拟用户模式.

      [虚拟配置常用参数]
      
      	anon_world_readable_only=NO 		#允许查看和上传下载文件
      	anon_upload_enable=YES			#允许上传文件
      	anon_world_readable_only=NO		#允许查看和上传下载文件
      	anon_mkdir_write_enable=YES		#允许创建目录
      	anon_world_readable_only=NO		#允许查看和上传下载文件
      	anon_other_write_enable=YES		#允许重名和删除文件
      

      1.安装相应软件包,libdb-utls是数据库包.

      写入相应账号以及密码yum install -y libdb-utils
      写入相应账号以及密码yum install -y vsftpd
      

      2.配置vlogin文件,vlogin文件名称可自定义,写入相应账号以及密码.

      [root@localhost ~]# vim /etc/vsftpd/vlogin
      
      Lyshark			#奇数行写账号
      123456			#偶数行写密码
      

      3.将写好的文件加密,并转换成vlogin.db数据库文件

      [root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db
      

      4.设置数据库文件的权限,保证安全.

      [root@localhost ~]# chmod 600 /etc/vsftpd/{vlogin,vlogin.db}
      

      5.覆盖编辑PAM文件,写入以下内容.

      [root@localhost ~]# vim /etc/pam.d/vsftpd.pam
      
      auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
      account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
      

      6.创建一个映射账号virtual,所有的登陆请求都是virtual.

      [root@localhost ~]# useradd -s /sbin/nologin -d /home/ftp virtual
      

      7.修改VSFTP主配置文件,覆盖写入以下内容,并去掉#号注释即可.

      [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
      
      pasv_enable=YES							#开启被动模式
      pasv_min_port=10000						#被动模式最小端口
      pasv_max_port=15000						#被动模式最大端口
      
      anonymous_enable=NO						#允许匿名用户访问
      local_enable=YES						#允许本地用户登录
      write_enable=YES						#允许本地用户上传
      anon_upload_enable=YES						#允许匿名用户上传
      anon_mkdir_write_enable=NO					#允许匿名用户建立目录
      anon_other_write_enable=NO					#开放其他人写入权限
      chroot_local_user=YES						#把用户禁锢在家目录
      guest_enable=YES						#启动来宾用户
      guest_username=virtual						#来宾默认使用的用户
      listen=YES							#允许被侦听
      listen_port=21							#侦听21端口
      pam_service_name=vsftpd.pam					#ftp采用pam默认用户名密码验证
      user_config_dir=/etc/vsftpd_user_conf				#指定虚拟用户配置文件保存位置
      user_sub_token=$USER						#映射用户变量
      
      #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]
      

      8.创建对应文件(用于保存权限文件).

      [root@localhost ~]# mkdir /etc/vsftpd_user_conf
      [root@localhost ~]# mkdir -p /home/ftp/lyshark
      

      9.编辑文件给指定用户分配权限,用匿名用户权限分配.

      [root@localhost ~]# vim /etc/vsftpd_user_conf/lyshark
      
      local_root=/home/ftp/$USER
      anon_upload_enable=YES
      anon_mkdir_write_enable=YES
      anon_other_write_enable=YES
      chroot_local_user=YES
      
      #	allow_writeable_chroot=YES	  	#可在公共目录下创建文件
      

      10.启动FTP服务,并设置开机自动启动.

      [root@localhost ~]# systemctl start vsftpd
      [root@localhost ~]# systemctl enable vsftpd
      

      OpenSSL+FTP 加密传输

      1.查看是否安装OpenSSL包.

      [root@localhost ~]# rpm -q openssl
      

      2.生成SSL加密密钥对.

      [root@localhost ~]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
      
      [参数说明]
      		req 		#标注格式
      		-new 		#创建一个新的证书
      		-x509		#证书内容格式
      		-nodes 		#不使用密码
      		-out		#生成文件名
      		-keyout		#生成的秘钥文件名
      
      #创建时依次填写:国家、省份、城市、组织、部门、个人或主机名、邮箱
      

      3.把生成的证书放入特定目录下,并给予最低权限,保证安全.

      [root@localhost ~]# cp -a vsftpd.pem /etc/ssl/certs/
      [root@localhost ~]# chmod 500 /etc/ssl/certs/
      

      4.在VSFTP主配置中文件加入以下参数.

      
      [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
      
      ssl_enable=YES							#启用ssl认证
      ssl_tlsv1=YES
      ssl_sslv2=YES							#开启tlsv1、sslv2、sslv3都支持
      ssl_sslv3=YES
      allow_anon_ssl=YES						#允许匿名用户
      force_anon_logins_ssl=YES
      force_anon_data_ssl=YES						#匿名登录和传输时强制使用ssl
      force_local_logins_ssl=YES
      force_local_data_ssl=YES					#本地登录和传输时强制使用ssl
      rsa_cert_file=/etc/ssl/certs/vsftpd.pem				#证书文件所在目录
      
      #[打开vim,输入正则 去掉警号:%s/#.*$//g 去掉空格:%s/\s//g]
      

      5.启动FTP服务,并设置开机自动启动.

      [root@localhost ~]# systemctl start vsftpd
      [root@localhost ~]# systemctl enable vsftpd
      

      Samba 文件共享

      smb: 实现资源共享、权限验证 -> TCP 139 445 nmb: 实现计算机名解析 -> UDP 137

      • Samba和FTP的区别
      • Samba可以实现跨平台的文件传输,并且支持在线修改,这一点是它和FTP服务器的明显区别.
      • Linux 系统之间的资源共享,我们使用的是NFS协议.
      • Windows 系统之间的资源共享,我们使用的是NetBIOS协议.
      • Linux 和 Windows 之间资源共享我们就要使用SMB协议了.CIFS协议.

      匿名验证Samba配置

      匿名Samba的主要作用是,在局域网内编辑共享文件,比如你有一个word文件需要让大家填写,此时我们就可以使用Samb服务将Word文档匿名分享出去,让大家填写文档

      ◆配置服务端◆

      1.首先通过yum,来安装samba服务程序,恰巧samba服务名也是samba

      [root@localhost ~]# yum install -y samba samba-client
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager.
      Package samba-4.7.1-6.el7.x86_64 already installed and latest version
      Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.然后创建一个共享目录,这个目录主要用来存储一些文件,后期要共享出去

      [root@localhost ~]# mkdir /smb_file
      [root@localhost ~]#
      [root@localhost ~]# chmod 755 -R /smb_file/
      [root@localhost ~]#
      

      3.编辑Samba主配置文件,在配置文件最下面创建匿名共享区域,如果有多个匿名区域可以继续往下写配置

      [root@localhost ~]# vim /etc/samba/smb.conf
      
        6 [global]
        7         workgroup = SAMBA
        8         security = user
        9         map to guest=Bad User   #添加此项,开启免密码认证
      
       .....
       38
       39 [smb_file]                       #共享目录显示的名称
       40         comment=hello guest      #描述信息(可以自定义)
       41         path=/smb_file           #共享的目录
       42         browseable=yes           #共享目录是否对所有人可见
       43         guest ok=yes             #允许匿名用户访问
       44         writable=yes             #匿名用户可写
       45         public=yes               #所有人可见
      

      4.重启SMB服务,并设置开机自启动

      [root@localhost ~]# systemctl restart smb
      [root@localhost ~]# systemctl enable smb
      

      ◆配置Linux客户端◆

      1.首先想要使用Samba资源,需要在Linxu客户端安装一个Samba的客户端工具,下面就开始安装吧

      [root@localhost ~]# yum install -y samba-client
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager.
      Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.匿名用户访问,我们可以直接使用下面的命令无需输入密码直接扫描资源,并使用

      [root@localhost ~]# smbclient -L //服务器IP	             #查看smaba共享目录
      
      Enter SAMBA root s password:
      
              Sharename       Type      Comment
              ---------       ----      -------
              print$          Disk      Printer Drivers
              smb_file        Disk      hello guest
              IPC$            IPC       IPC Service (Samba 4.7.1)
      Reconnecting with SMB1 for workgroup listing.
      
              Server               Comment
              ---------            -------
      
              Workgroup            Master
              ---------            -------
      
      [root@localhost ~]# smbclient //服务器IP/共享名			#查看共享文件
      
      Enter SAMBA root s password:
      Try "help" to get a list of possible commands.
      smb: \> ls
        .                                  DR        0  Mon Nov  5 04:53:30 2018
        ..                                 DR        0  Mon Nov  5 04:45:11 2018
                      17811456 blocks of size 1024. 16582792 blocks available
      smb: \>
      

      ◆配置Windows客户端◆

      运行CMD(Win+R) > 输入:\\服务器IP\	共享资源名			#访问目录
      C:\Users\LyShark>net use * /del               #清理windows目录缓存
      你有以下的远程连接:
      
                          \\192.168.1.20\smb_file
      继续运行会取消连接。
      你想继续此操作吗? (Y/N) [N]: y
      命令成功完成。
      

      密码验证Samba配置

      基于密码验证的Samba的常用作用是,在局域网内,实现加密访问,只有知道相应密码的人才能访问指定资源

      ◆配置服务端◆

      1.首先通过yum,来安装samba服务程序,恰巧samba服务名也是samba

      [root@localhost ~]# yum install -y samba samba-client
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager.
      Package samba-4.7.1-6.el7.x86_64 already installed and latest version
      Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.然后创建一个共享目录,这个目录主要用来存储一些文件,后期要共享出去

      [root@localhost ~]# mkdir /smb_file
      [root@localhost ~]#
      [root@localhost ~]# chmod 755 -R /smb_file/
      [root@localhost ~]#
      

      3.编辑Samba主配置文件,在配置文件最下面创建共享区域,如果有多个区域可以继续往下写配置

      [root@localhost ~]# vim /etc/samba/smb.conf
      
       39 [smb_file]                       #共享目录显示的名称
       40         comment=hello admin      #描述信息(可以自定义)
       41         path=/smb_file           #共享的目录
       42         browseable=yes           #共享目录是否对所有人可见
       43         guest ok=no              #允许匿名用户访问
       44         writable=yes             #可写
      

      4.通过命令管理,创建一个系统用户,并转换为Samba用户

      [root@localhost ~]# useradd -M -s /sbin/nologin admin      #创建一个系统用户
      [root@localhost ~]# smbpasswd -a admin                     #将系统用户转化成Samba用户
      -----------------------------------------------------------------
      [参数说明]
      
      smbpasswd [选项] 账户名称
      
        -a        #添加账户并设置密码
        -x        #删除SMB账户
        -d        #禁用SMB账户
        -e        #启用SMB账户
      -----------------------------------------------------------------
      
      [root@localhost ~]# useradd -M -s /sbin/nologin guest      #创建一个系统用户
      [root@localhost ~]# pdbedit -a guest                       #将系统用户转化成Samba用户
      new password:
      retype new password:
      Unix username:        guest
      NT username:
      Account Flags:        [U          ]
      User SID:             S-1-5-21-2500030998-3215874083-1041928306-1001
      Primary Group SID:    S-1-5-21-2500030998-3215874083-1041928306-513
      Full Name:
      Home Directory:       \\localhost\guest
      HomeDir Drive:
      Logon Script:
      Profile Path:         \\localhost\guest\profile
      Domain:               LOCALHOST
      Account desc:
      Workstations:
      Munged dial:
      Logon time:           0
      Logoff time:          Wed, 06 Feb 2036 10:06:39 EST
      Kickoff time:         Wed, 06 Feb 2036 10:06:39 EST
      Password last set:    Mon, 05 Nov 2018 06:23:37 EST
      Password can change:  Mon, 05 Nov 2018 06:23:37 EST
      Password must change: never
      Last bad password   : 0
      Bad password count  : 0
      Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
      
      
      [root@localhost ~]# pdbedit -L                             #列出所有Samba用户
      admin:1001:
      guest:1002:
      

      5.重启SMB服务,并设置开机自启动

      [root@localhost ~]# systemctl restart smb
      [root@localhost ~]# systemctl enable smb
      

      ◆配置Linux客户端◆

      1.首先想要使用Samba资源,需要在Linxu客户端安装一个Samba的客户端工具,下面就开始安装吧

      [root@localhost ~]# yum install -y samba-client
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager.
      Package samba-client-4.7.1-6.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.用户访问,我们可以直接使用下面的命令输入密码扫描资源,并使用

      [root@localhost ~]# smbclient -U 用户名 -L //服务器IP               #查看共享目录
      Enter SAMBA dmin s password:
      
              Sharename       Type      Comment
              ---------       ----      -------
              print$          Disk      Printer Drivers
              smb_file        Disk      hello admin
              IPC$            IPC       IPC Service (Samba 4.7.1)
              admin           Disk      Home Directories
      Reconnecting with SMB1 for workgroup listing.
      
              Server               Comment
              ---------            -------
      
              Workgroup            Master
              ---------            -------
      
      [root@localhost ~]# smbclient -U 用户名 //服务器IP/共享文件名      #查看共享文件
      Enter SAMBA dmins password:
      Try "help" to get a list of possible commands.
      smb: \> ls
        .                                   D        0  Mon Nov  5 06:30:02 2018
        ..                                 DR        0  Mon Nov  5 06:17:37 2018
        lyshark                             N      988  Mon Nov  5 06:23:28 2018
      
                      17811456 blocks of size 1024. 16584148 blocks available
      

      ◆Linux挂载Samba◆

      1.将远程的smb_file共享目录,挂载到本地的/mnt下,我们可以执行以下命令

      [文件格式]  [/smb_file共享目录][挂载到/mnt] [username=smb用户名][password=smb密码]
      
      [root@localhost ~]# mount -t cifs //192.168.1.20/smb_file /mnt -o username=admin,password=123123
      [root@localhost ~]#
      [root@localhost ~]# df -h
      Filesystem               Size  Used Avail Use% Mounted on
      /dev/mapper/rhel-root     17G  1.2G   16G   7% /
      //192.168.1.20/smb_file   17G  1.2G   16G   7% /mnt
      

      NFS 实现文件共享

      NFS 即网络文件系统,是一种使用于分布式文件系统的协议,NFS 功能是通过网络让不同的机器,不同的操作系统能够彼此分享各自的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法.

      • 目前NFS有三个版本,其常用的版本解析
      • NFSv2:是一个古老的版本,但却被众多的操作系统所支持,这样兼容性更好.
      • NFSv3:拥有更多的特点,包括更快的速度,更大的单个文件大小,对TCP的支持.
      • NFSv4:提供有状态连接,共容易追踪,安全性增强,RHEL7上默认4版本协议.

      在启动NFS Server之前,首先要启动RPC服务否则NFS Server就无法向RPC服务区注册,另外如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失.因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册.

      • NFS系统的守护进程介绍
      • RPC:(Remote Procedure Call Protocol),远程过程调用协议
      • NFS:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器
      • RPCbind:主要功能是进行端口映射工作,和端口代理分配等

      客户端NFS和服务端NFS通讯过程

      • 首先服务器端启动RPC服务,并开启111端口
      • 启动NFS服务,并向RPC注册端口信息
      • 客户端启动RPC,向服务端的RPC服务请求服务端的NFS端口
      • 服务端的RPC服务,反馈NFS端口信息给客户端
      • 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

      NFS服务器是通过读取/etc/exports配置文件设定那个客户端可以访问那些NFS共享文件系统,该文件书写原则有如下几条.

      • 空白行的内容将被忽略
      • 以#号开头的内容是注释
      • 可以通过\转义字符换行
      • 每个共享文件系统需要独立一行条目
      • 客户端的主机列表需要使用空格隔开

      接下来我们来看一下一条完整的规则条目是如何书写的吧,需要注意的是客户端主机可以是一个网段,单台主机或者是主机名称,在使用时应该灵活运用.

      [共享目录]	[允许谁来访问][权限]	[可用主机名][权限]	[其他主机权限]
      
      /nfs		192.168.1.1(rw)		localhost(rw)		*(ro,sync)
      /nfs		192.168.1.0/24(rw)	localhost(rw)		*(ro,sync)
      /nfs		192.168.1.1(rw) 192.168.1.2(ro) 192.168.1.3(ro,sync)
      

      如上所示,有个权限列表,NFS配置中可以给一个共享路径指定相关权限,NFS的默认属性为ro,sync,wdelay,root_squash,具体的NFS属性列表,我们可以参考一下列表.

      NFS权限选项 功能描述信息
      ro 以只读方式共享
      rw 以读写方式共享
      sync 同步写入磁盘
      async 异步写入磁盘
      wdelay 延迟写入操作
      root_squash 屏蔽远程root权限
      no_root_squash 不屏蔽远程root权限
      all_squash 屏蔽所有远程用户权限

      以上的几个说明信息,是我们最常用的几个,当然还有很多这样的配置选项,这里就不依次列举了,更多内容请百度了解.

      NFS 服务端配置

      1.在配置NFS共享文件之前,我们先来放行NFS的几个常用服务,并将防火墙默认设置为拒绝状态.

      [root@localhost ~]# firewall-cmd --add-service=nfs
      [root@localhost ~]# firewall-cmd --add-service=mountd
      [root@localhost ~]# firewall-cmd --add-service=rpc-bind
      [root@localhost ~]# firewall-cmd --add-service=nfs --permanent
      [root@localhost ~]# firewall-cmd --add-service=mountd --permanent
      [root@localhost ~]# firewall-cmd --add-service=rpc-bind --permanent
      

      2.通过YUM仓库快速安装NFS相关的软件包.

      [root@localhost ~]# yum install -y rpcbind nfs-utils*
      
      Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
      Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
      Nothing to do
      

      3.创建需要共享的文件,并拷贝相关的文件内容,并设置SeLinux规则.

      [root@localhost ~]# mkdir -p /public
      [root@localhost ~]# chmod o+rw /public/
      [root@localhost ~]# chcon -R -t public_content_t /public/
      

      4.修改NFS主配置文件,并写入要访问的主机列表.

      [root@localhost ~]# vim /etc/exports
      
      /public 192.168.1.0/24(rw,sync)
      #-----------------------------------------------------------------
      # 其他完整写法,可参考以下配置方式
      #[共享目录]	[允许谁来访问][权限]	[可用主机名][权限]	[其他主机权限]
      #/nfs		192.168.1.1(rw)		localhost(rw)		*(ro,sync)
      #/nfs		192.168.1.0/24(rw)	localhost(rw)		*(ro,sync)
      

      5.重启NFS服务,和守护进程,并设置开机自启动.

      [root@localhost ~]# systemctl restart nfs
      [root@localhost ~]# systemctl restart rpcbind
      [root@localhost ~]# systemctl enable nfs
      [root@localhost ~]# systemctl enable rpcbind
      [root@localhost ~]# systemctl restart nfs-server
      [root@localhost ~]# systemctl enable nfs-server
      

      NFS 客户端配置

      1.通过YUM仓库快速安装NFS相关的软件包.

      [root@localhost ~]# yum install -y rpcbind nfs-utils*
      
      Package rpcbind-0.2.0-47.el7.x86_64 already installed and latest version
      Package 1:nfs-utils-1.3.0-0.61.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.创建挂载点,并设置SeLinux规则.

      [root@localhost ~]# mkdir -p /mnt/nfsmount
      [root@localhost ~]# chcon -R -t public_content_t /mnt/nfsmount
      

      NFS挂载演示: 手动挂载目录,可通过mount命令来实现,具体的挂载参数如下.

      #mount -t nfs -o 选项 服务主机:/服务器共享目录  /本地挂载没记录
      
      [root@localhost ~]# mount -t nfs -o rw,sync 192.168.1.5:/public /mnt/nfsmount
      [root@localhost ~]# df -hT |grep "public"
      
      Filesystem              Type      Size  Used Avail Use% Mounted on
      192.168.1.5:/public     nfs4       17G  1.9G   16G  12% /mnt/nfsmount
      

      具体的挂载详细参数如下: ● Intr:当服务器宕机时终端NFS请求 ● nfsvers=4:指定使用那个版本的协议 ● noacl:关闭ACL,仅与老版本兼容 ● nolock:关闭文件锁机制 ● noexec:挂载时屏蔽二进制程序 ● port=num:指定NFS服务器端口号 ● rsize=num:设置最大数据块大小(读取) ● wsize=num:设置最大数据块大小(写入) ● tcp:使用TCP协议挂载 ● udp:使用UDP协议挂载

      nfsstat命令: NFS提供了查看NFS共享状态功能.

      [root@localhost ~]# nfsstat        #显示服务端与客户端状态
      [root@localhost ~]# nfsstat -s     #只显示服务端状态
      [root@localhost ~]# nfsstat -c     #只显示客户端状态
      [root@localhost ~]# nfsstat -n     #仅显示NFS与RPC信息
      [root@localhost ~]# nfsstat -m     #显示挂载信息
      [root@localhost ~]# nfsstat -l     #以列表信息显示信息
      

      rpcinfo命令: NFS生成RPC信息报表功能.

      [root@localhost ~]# rpcinfo -m 127.0.0.1   #显示指定主机rpcbind操作列表
      [root@localhost ~]# rpcinfo -p 127.0.0.1   #显示指定主机RPC注册信息 
      [root@localhost ~]# rpcinfo -s             #显示所有RPC注册信息
      

      showmount命令: NFS使用shomount命令可以查看远程主机共享列表.

      [root@localhost ~]# showmount -e 127.0.0.1  #显示服务器可用资源
      [root@localhost ~]# showmount -a 127.0.0.1  #查看所有客户链接信息
      [root@localhost ~]# showmount -d 127.0.0.1  #只显示客户输出信息
      

      exportfs命令: 此命令允许root在不重启NFS服务情况下,选择共享或取消共享文件.

      [root@localhost ~]# exportfs -a   #全部挂载或卸载配置文件中的内容
      [root@localhost ~]# exportfs -r   #重新加载配置文件中的信息
      [root@localhost ~]# exportfs -u   #停止单一目录的共享
      [root@localhost ~]# exportfs -au  #停止所有服务端的共享
      [root@localhost ~]# exportfs -ra  #重新共享所有目录
      

      配置固定端口: 我们可以修改配置文件来实现配置固定的共享端口号.

      [root@localhost ~]# vim /etc/sysconfig/nfs
      
      RQUOTAD_PORT=5001               
      LOCKD_TCPPORT=5002            #设置tcp的ockd程序端口号
      LOCKD_UDPPORT=5002            #设置udp的lockd程序端口号
      MOUNTD_PORT=5003              #设置mountd程序端口号
      STATD_PORT=5004               #设置rpc.statd程序端口号
      

      设置自动挂载: 修改自动挂载目录,写入以下内容即可实现自动挂载.

      [root@localhost ~]# vim /etc/fstab
      
      192.168.1.1:/public /mnt/nfsmount  nfs  default  0 0
      

      iSCSI 磁盘共享服务

      iSCSI技术是一种新储存技术, iSCSI 提供了在 IP 网络封装 SCSI 命令,且以TCP/IP协议传输.

      配置iSCSI服务端

      1.通过yum安装iSCSI服务端,此处已安装成功,略过本步骤

      [root@localhost ~]# yum install -y targetd targetcli
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager.
      Package targetd-0.8.6-1.el7.noarch already installed and latest version
      Package targetcli-2.1.fb46-1.el7.noarch already installed and latest version
      Nothing to do
      

      2.安装成功后,手动启动iSCSI服务,并设置开机自启动 (注意:iSCSI服务程序为targetd)

      [root@localhost ~]# systemctl restart targetd
      [root@localhost ~]# systemctl enable targetd
      

      3.查看iSCSI服务端共享资源,targetcli是用于管理iSCSI服务的专用命令,在执行命令是可看到交互界面.

      [root@localhost ~]# targetcli
      Warning: Could not load preferences file /root/.targetcli/prefs.bin.
      targetcli shell version 2.1.fb46
      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]
      />
      

      4.进入/backstores/block共享设备位置,并创建共享设备名称 (注意:/backstores/block是iSCSI服务端配置共享设备的位置)

      /> cd backstores/block                                   #进入共享设备位置
      /backstores/block> create disk0 /dev/sdb                 #创建共享设备名称 此处将 /dev/sdb 加入到设备中命名为disk0
      Created block storage object disk0 using /dev/sdb.
      /backstores/block> cd /                                  #返回根
      /> ls
      o- / ............................................................. [...]
        o- backstores .................................................. [...]
        | o- block ..................................................... [Storage Objects: 1]
        | | o- disk0 ................................................... [/dev/sdb (20.0GiB) write-thru deactivated]
        | |   o- alua .................................................. [ALUA Groups: 1]
        | |     o- default_tg_pt_gp .................................... [ALUA state: Active/optimized]
        | o- fileio .................................................... [Storage Objects: 0]
        | o- pscsi ..................................................... [Storage Objects: 0]
        | o- ramdisk ................................................... [Storage Objects: 0]
        o- iscsi ....................................................... [Targets: 0]
        o- loopback .................................................... [Targets: 0]
      />
      

      5.创建iSCSI target名称及配置共享资源,iSCSI target 名称是由系统自动生成的,这是一串用于描述共享资源的唯一字符串

      /> cd iscsi                                                                 #进入iSCSI目录
      /iscsi> create                                                              #创建target标签
      Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8.
      Created TPG 1.
      Global pref auto_add_default_portal=true
      Created default portal listening on all IPs (0.0.0.0), port 3260.
      /iscsi>
      /iscsi> cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8/     #进入上面的标签中
      /iscsi/iqn.20....8c7dcc63aea8> ls                                           #查看标签内容
      o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8 ........ [TPGs: 1]
        o- tpg1 ............................................................. [no-gen-acls, no-auth]
          o- acls ........................................................... [ACLs: 0]
          o- luns ........................................................... [LUNs: 0]
          o- portals ........................................................ [Portals: 1]
            o- 0.0.0.0:3260 ................................................. [OK]
      /iscsi/iqn.20....8c7dcc63aea8> cd tpg1/luns                                 #进入tpg目录
      /iscsi/iqn.20...ea8/tpg1/luns> create /backstores/block/disk0               #标签与设备绑定
      Created LUN 0.
      

      6.配置访问控制列表(ACL),iSCSI设备无需密码进行验证,只需知道标签名称即可通过,因此需要在iSCSI服务端的配置文件中写入一串能够验证信息的名称,这里推荐在系统生成的标签后面加上标识符,:client参数,保证标签唯一性,同时方便区别和管理

      /> cd iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8     #进入指定标签
      /iscsi/iqn.20....8c7dcc63aea8> cd tpg1/acls                                 #进入ACL配置列表
      
      /iscsi/iqn.20...ea8/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8:client  #创建用于挂载的标签
      Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8:client
      Created mapped LUN 0.
      /iscsi/iqn.20...ea8/tpg1/acls>
      

      7.设置iSCSI服务器的监听IP地址和端口号,即在portals参数目录中写上服务器的IP地址,接下来系统会自动开启服务器192.168.1.20的3260号端口,为外部提供共享存储服务

      /> cd /iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8/   #进入操作的标签
      /iscsi/iqn.20....8c7dcc63aea8> cd tpg1/portals/                             #进入端口配置
      /iscsi/iqn.20.../tpg1/portals> ls
      o- portals ...................................................................... [Portals: 1]
        o- 0.0.0.0:3260 ............................................................... [OK]
      /iscsi/iqn.20.../tpg1/portals>
      /iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260                          #删除原有配置
      Deleted network portal 0.0.0.0:3260
      /iscsi/iqn.20.../tpg1/portals> create 192.168.1.20                          #创建侦听本机
      Using default IP port 3260
      Created network portal 192.168.1.20:3260.
      /iscsi/iqn.20.../tpg1/portals> ls
      o- portals ...................................................................... [Portals: 1]
        o- 192.168.1.20:3260 .......................................................... [OK]
      /iscsi/iqn.20.../tpg1/portals>
      

      8.配置全部妥当后检查一下,没问题的话保存.

      /iscsi/iqn.20.../tpg1/portals> cd /
      />
      /> ls
      o- / ................................................................... [...]
        o- backstores ........................................................ [...]
        | o- block ........................................................... [Storage Objects: 1]
        | | o- disk0 ......................................................... [/dev/sdb (20.0GiB) write-thru activated]   #磁盘名称
        | |   o- alua ........................................................ [ALUA Groups: 1]
        | |     o- default_tg_pt_gp .......................................... [ALUA state: Active/optimized]
        | o- fileio .......................................................... [Storage Objects: 0]
        | o- pscsi ........................................................... [Storage Objects: 0]
        | o- ramdisk ......................................................... [Storage Objects: 0]
        o- iscsi ............................................................. [Targets: 1]
        | o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8 ..... [TPGs: 1]                                  #标签名称
        |   o- tpg1 .......................................................... [no-gen-acls, no-auth]
        |     o- acls ......................................................................... [ACLs: 1]
        |     | o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8:client ......... [Mapped LUNs: 1]          #自定义标签
        |     |   o- mapped_lun0 .............................................................. [lun0 block/disk0 (rw)]
        |     o- luns ......................................................................... [LUNs: 1]
        |     | o- lun0 ..................................................... [block/disk0 (/dev/sdb) (default_tg_pt_gp)]
        |     o- portals ...................................................................... [Portals: 1]
        |       o- 192.168.1.20:3260 .......................................................... [OK]                      #开启端口
        o- loopback ........................................................................... [Targets: 0]
      /> exit
      Global pref auto_save_on_exit=true
      Last 10 configs saved in /etc/target/backup.
      Configuration saved to /etc/target/saveconfig.json
      [root@localhost ~]#
      

      9.重启SCSI服务,到此服务器已经配置完毕

      [root@localhost ~]# systemctl restart targetd
      [root@localhost ~]# systemctl enable targetd
      

      配置Linux客户端

      1.安装iSCSI客户端组件,在RHEL7系统中已经默认集成,如果没有请执行以下步骤,此处就略过

      [root@localhost ~]# yum install -y iscsi-initiator-utils iscsi-initiator-utils-iscsiuio
      Loaded plugins: product-id, search-disabled-repos, subscription-manager
      This system is not registered with an entitlement server. You can use subscription-manager .
      Package iscsi-initiator-utils-6.2.0.874-7.el7.x86_64 already installed and latest version
      Package iscsi-initiator-utils-iscsiuio-6.2.0.874-7.el7.x86_64 already installed and latest version
      Nothing to do
      

      2.编辑iSCSI客户端中的initiator名称文件,把服务端的访问控制列表名称填写进来,然后重启iscsid服务程序,并将其加入到开机自启动列表

      [root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi
      [root@localhost ~]#
      [root@localhost ~]# cat /etc/iscsi/initiatorname.iscsi
      InitiatorName=iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8:client
      
      [root@localhost ~]# systemctl restart iscsid
      [root@localhost ~]# systemctl enable iscsid
      

      3.发现iSCSI服务端存储资源,其中:-m discovery 参数的目的是扫描并发现存储资源,-t st 参数为执行扫描操作的类型,-p 参数后为iSCSI服务端的IP地址

      [root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.1.20            #下图显示,找到一个标签地址
      
      192.168.1.20:3260,1 iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8
      [root@localhost ~]#
      

      4.接下来准备登陆iSCSI服务器,其中:-m node 参数为将客户端主机作为一台节点服务器,-T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8 参数为要使用的存储标签,-p 后面为iSCSI服务器的IP地址, --login 参数为登陆服务器,如果加 -u参数为卸载挂载资源

      [root@localhost ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8 -p 192.168.1.20 --login
      
      Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8, portal: 192.168.1.20,3260] (multiple)
      Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.8c7dcc63aea8, portal: 192.168.1.20,3260] successful.
      

      5.此时在iSCSI客户端上会多出一个/dev/sdb磁盘设备文件,接下来我们直接格式化挂在到/network-disk目录下

      root@localhost ~]# ll /dev/sd*
      brw-rw----. 1 root disk 8,  0 Nov  4 11:45 /dev/sda
      brw-rw----. 1 root disk 8,  1 Nov  4 11:45 /dev/sda1
      brw-rw----. 1 root disk 8,  2 Nov  4 11:45 /dev/sda2
      brw-rw----. 1 root disk 8, 16 Nov  4 12:06 /dev/sdb          #此处就是远程的磁盘
      
      [root@localhost ~]# mkfs.xfs /dev/sdb                        #格式化这个设备
      
      meta-data=/dev/sdb               isize=512    agcount=4, agsize=1310720 blks
               =                       sectsz=512   attr=2, projid32bit=1
               =                       crc=1        finobt=0, sparse=0
      data     =                       bsize=4096   blocks=5242880, imaxpct=25
               =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
      log      =internal log           bsize=4096   blocks=2560, version=2
               =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =none                   extsz=4096   blocks=0, rtextents=0
      
      [root@localhost ~]# mkdir /network-disk                     #创建挂载目录
      [root@localhost ~]# mount /dev/sdb /network-disk/           #挂载设备
      [root@localhost ~]#
      [root@localhost ~]# df -h
      Filesystem             Size  Used Avail Use% Mounted on
      /dev/mapper/rhel-root   17G  1.2G   16G   7% /
      devtmpfs                98M     0   98M   0% /dev
      tmpfs                  110M     0  110M   0% /dev/shm
      /dev/sda1             1014M  130M  885M  13% /boot
      /dev/sr0               4.4G  4.4G     0 100% /mnt
      /dev/sdb                20G   33M   20G   1% /network-disk
      

      iSCSI客户端经过以上步骤之后,这个设备文件就可以像使用本地磁盘文件一样的操作啦

      6.接下来配置一下自动挂载功能,需要注意的是,挂载选项必须为_netdev,写错的话系统无法开机.

      由于/dev/sdb/是一个网络设备,而iSCSI是基于TCP/IP网络传输数据的,因此在配置自动挂载是应该加入_netdev参数,说明其是一个网络设备

      [root@localhost /]# ll /dev/disk/by-uuid/
      total 0
      lrwxrwxrwx. 1 root root 10 Nov  4 11:45 12b3708e-7ca4-4911-bfa2-57b85960e8e5 -> ../../dm-0
      lrwxrwxrwx. 1 root root  9 Nov  4 11:45 2018-03-22-19-04-59-00 -> ../../sr0
      lrwxrwxrwx. 1 root root 10 Nov  4 11:45 3d4eea6b-1db9-4d30-9174-bfac6faa4cab -> ../../sda1
      lrwxrwxrwx. 1 root root 10 Nov  4 11:45 e791c0bf-f6e9-4843-b18d-be40cf3964c2 -> ../../dm-1
      lrwxrwxrwx. 1 root root  9 Nov  4 12:08 ff233cc4-2255-4973-a686-9d394384faf6 -> ../../sdb
      
      [root@localhost /]# vim /etc/fstab
      [root@localhost /]# cat /etc/fstab
      
      #
      # /etc/fstab
      # Created by anaconda on Sat Oct 13 12:32:13 2018
      #
      # Accessible filesystems, by reference, are maintained under '/dev/disk'
      # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      #
      /dev/mapper/rhel-root   /                       xfs     defaults        0 0
      UUID=3d4eea6b-1db9-4d30-9174-bfac6faa4cab /boot                   xfs     defaults        0 0
      UUID=ff233cc4-2255-4973-a686-9d394384faf6  /network-disk xfs defaults,_netdev   0 0
      
      [root@localhost /]# mount -a
      

      如需配置Windows客户端只需要执行以下步骤. 1.单击控制面板 --> 管理工具 --> iSCSI发起程序 2.在目标选项卡 --> 输入服务器IP地址 --> 单击快速连接 3.选择配置选项卡 --> 单击更改 --> 在标签末尾加上自定义的字符,此处为:client --> 单击确定 4.单击目标选项卡 --> 单击下方的连接按钮 5.单击此电脑 --> 右键选择管理 --> 选择磁盘管理 --> 即可看到磁盘信息

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://my.oschina.net/lyshark/blog/5621108,作者:LyShark,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:linux中的软RAID实现,逻辑卷和btrfs文件系统

      下一篇:pfSense配置WireGuard VPN

      相关文章

      2025-05-19 09:05:01

      项目更新到公网服务器的操作步骤

      项目更新到公网服务器的操作步骤

      2025-05-19 09:05:01
      公网 , 数据库 , 文件 , 更新 , 服务器
      2025-05-19 09:04:44

      FinalShell 配置SSH密钥登陆

      FinalShell 配置SSH密钥登陆

      2025-05-19 09:04:44
      密钥 , 服务器 , 配置
      2025-05-14 10:33:25

      超级好用的C++实用库之网络

      在网络相关的项目中,我们经常需要去获取和设置设备的IP地址、子网掩码、网关地址、MAC地址等信息。这些信息一般与操作系统相关,在Windows系统和Linux系统上调用的接口是不一样的。

      2025-05-14 10:33:25
      Linux , 参数 , 地址 , 接口 , 网卡 , 返回值
      2025-05-14 10:33:16

      30天拿下Python之使用网络

      Python网络编程覆盖的范围非常广,包括:套接字编程、socketserver、HTTP和Web开发、异步编程和asyncio等。

      2025-05-14 10:33:16
      Json , TCP , 客户端 , 接字 , 服务器 , 示例 , 连接
      2025-05-14 10:03:13

      超级好用的C++实用库之线程基类

      在C++中,线程是操作系统能够进行运算调度的最小单位。一个进程可以包含多个线程,这些线程共享进程的资源,比如:内存空间和系统资源,但它们有自己的指令指针、堆栈和局部变量等。

      2025-05-14 10:03:13
      Linux , void , Windows , 函数 , 操作系统 , 线程
      2025-05-14 09:51:21

      python 在创建socket之后建立心跳机制

      在Python中,建立心跳机制通常用于维持客户端和服务器之间的长连接,确保连接活跃性。心跳机制通常是通过定时发送心跳包(一种小型的、特定格式的数据包)来实现的,如果在预定时间内没有收到对方的心跳响应,则认为连接可能已经中断。

      2025-05-14 09:51:21
      发送 , 客户端 , 服务器 , 服务器端 , 示例
      2025-05-13 09:53:23

      在Java、Java Web中放置图片、视频、音频、图像文件的方法

      在Java软件中放置图片,通常涉及将图片文件(如JPEG、PNG等)作为资源包含在我们的项目中,并在代码中通过适当的方式引用这些资源。这可以通过多种方式实现,但最常见的是在Java桌面应用(如Swing或JavaFX)或Web应用(如Servlet/JSP)中。

      2025-05-13 09:53:23
      JSP , URL , Web , 图片 , 服务器
      2025-05-13 09:51:17

      使用Kernel 2.6版本的Linux系统运行dbca创建数据库实例时报错ORA-27125

      使用Kernel 2.6版本的Linux系统运行dbca创建数据库实例时报错ORA-27125

      2025-05-13 09:51:17
      dbca , Linux , ORA
      2025-05-12 08:40:18

      Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell变量】

      Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell变量】

      2025-05-12 08:40:18
      Linux , 变量
      2025-05-09 09:21:53

      WebAPI 和 webservice的区别

      WebAPI 和 webservice的区别

      2025-05-09 09:21:53
      HTTP , 协议 , 客户端 , 服务器 , 请求
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5253574

      查看更多

      最新文章

      项目更新到公网服务器的操作步骤

      2025-05-19 09:05:01

      FinalShell 配置SSH密钥登陆

      2025-05-19 09:04:44

      使用Kernel 2.6版本的Linux系统运行dbca创建数据库实例时报错ORA-27125

      2025-05-13 09:51:17

      Linux系统中Crontab的用法详解

      2025-05-07 09:08:42

      redis高可用集群搭建

      2025-05-06 09:19:12

      基于javaWeb+jsp人力资源管理系统(含文档)

      2025-05-06 09:19:00

      查看更多

      热门文章

      用ftp服务器进行yum源的设置

      2023-04-21 03:04:35

      Confluence 6 配置服务器基础地址

      2023-04-23 09:34:48

      网络系统管理Linux环境——8.AppSrv之SSH

      2023-05-09 06:17:03

      linux中常见工具安装问题集锦

      2023-05-05 10:12:49

      linux环境日志排查,cat命令关键字查找、最近1000条、定位到指定位置

      2022-12-28 07:22:30

      网络系统管理Linux环境——15.StorageSrv之NFS

      2023-05-09 06:17:03

      查看更多

      热门标签

      服务器 linux 虚拟机 Linux 数据库 运维 网络 日志 数据恢复 java python 配置 nginx centos mysql
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      服务器硬盘意外掉线怎么办

      ServletContext介绍和使用

      Linux:samba服务 (smbd)

      ovs-vsctl 命令详解

      操作系统实训复习笔记(2)

      Linux:nginx---web文件服务器

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号