
NFS与iSCSI远程挂载远程挂载分为文件存储NFS和块存储iSCSI二者核心区别NFS共享目录服务端做好文件系统iSCSI共享裸磁盘客户端自行格式化。一、NFS 和 iSCSI 核心对比项目NFSiSCSI存储类型文件存储File块存储Block共享对象目录 / 文件夹服务端已经建好文件系统裸块磁盘服务端只提供硬盘无文件系统格式化在哪做服务端提前建好文件系统客户端不用格式化客户端拿到磁盘后自己 mkfs 创建文件系统访问粒度读写文件、文件夹读写整块磁盘、块扇区网络层TCPNFS服务主端口2049TCPiSCSI协议模拟SATA硬盘端口3260客户端看到的东西挂载点直接看到里面的文件新的块设备/dev/sdX虚拟硬盘多客户端同时挂载✅支持多机器同时挂载读写需要文件锁❌禁止多客户端同时挂载同一个 LUN会损坏文件系统集群文件系统除外RHCSA服务端软件nfs‑utilstargetcli / targetRHCSA客户端软件nfs‑utilsiscsi‑initiator‑utils防火墙服务nfs、mountd、rpc‑bindiscsi‑target二、NFS服务部署NFS把服务端的目录通过网络挂载到客户端多台机器共用同一个文件夹。配置文件/etc/exportsNFS配置完整流程安装软件包准备共享目录、权限修改exports配置共享规则启动nfs‑server服务防火墙放行对应服务客户端查看、临时挂载、持久化挂载1服务端操作# 1.安装软件yuminstall-ynfs-utils# 2.准备共享目录mkdir-p/shares/webapp# 修改目录属主例如给apache用户id48chown48/shares/webapp#3.编辑共享配置 /etc/exportsvim/etc/exports#写入内容/shares/webapp10.1.8.0/24(rw,no_root_squash)#参数说明# rw读写ro只读# no_root_squash客户端root用户不压缩保留root权限# root_squash客户端root映射为nfsnobody默认#重新读取exports配置文件不需要重启服务exportfs-r#4.启动并开机自启nfs服务systemctlenablenfs-server.service--now#5.防火墙放行nfs相关服务firewall-cmd--permanent--add-servicenfs --add-servicerpc-bind --add-servicemountd firewall-cmd--reload#查看本机发布的共享目录exportfs2客户端操作#1.客户端安装工具yuminstall-ynfs-utils#2.查看服务端发布的共享showmount-e10.1.8.10#3.创建本地挂载点mkdir-p/var/www/html#临时挂载mount-tnfs10.1.8.10:/shares/webapp /var/www/html#持久化挂载写入/etc/fstab#_netdev参数网络挂载系统网络就绪之后再挂载防止开机进入紧急模式echo10.1.8.10:/shares/webapp /var/www/html nfs defaults,_netdev 0 0/etc/fstab#生效fstab配置mount-a#验证挂载df-h/var/www/html⚠️NFS排坑客户端挂载失败优先检查防火墙/etc/exports修改后必须执行exportfs -rfstab远程挂载务必加_netdev否则开机磁盘检测网络未就绪会进入emergency紧急模式。三、iSCSI服务部署iSCSI把远端服务器的一块裸磁盘通过网络映射成本地硬盘。服务端角色target对外共享块存储端口3260客户端角色initiator登录使用远端磁盘注意客户端拿到的是裸磁盘必须自己格式化文件系统iSCSI完整流程服务端安装targetd、targetcli准备裸磁盘分区/整块磁盘targetcli交互式创建backstores后端存储 → 创建target IQN → 添加ACL访问控制 → 添加LUN映射磁盘服务端启动target服务防火墙放行iscsi‑target客户端修改initiatorname.iscsi配置客户端IQN客户端discovery扫描target、login登录识别/dev/sdX块设备客户端格式化、挂载fstab持久化挂载加_netdev客户端卸载、登出、删除记录的清理操作1iSCSI服务端配置#1.安装软件yuminstall-ytargetd targetcli#2.进入交互式配置targetcli操作完退出自动保存配置targetcli#①创建后端块存储后端使用/dev/sdb裸盘/cd/backstores/block /backstores/blockcreate webapp /dev/sdb#②创建iSCSI targetIQN标识/cd/iscsi /iscsicreate iqn.2026-09.cloud.laoma.server:webapp-data#③进入target的tpg1配置ACL与LUN/iscsicdiqn.2026-09.cloud.laoma.server:webapp-data/tpg1/#ACL指定允许登录的客户端IQN/iscsi/iqn.20...app-data/tpg1acls/ create iqn.2026-09.cloud.laoma.server:webapp#LUN把后端存储webapp映射给target/iscsi/iqn.20...app-data/tpg1luns/ create /backstores/block/webapp#ls查看完整配置确认无误后exit退出配置自动保存到/etc/target/saveconfig.json/exit#3.启动target服务开机自启systemctlenabletarget--now#4.防火墙放行iscsi‑target服务firewall-cmd--permanent--add-serviceiscsi-target firewall-cmd--reload2iSCSI客户端配置#1.客户端安装initiator工具yuminstall-yiscsi-initiator-utils#2.配置客户端IQN必须和服务端ACL里面配置的IQN完全一致vim/etc/iscsi/initiatorname.iscsi#修改这一行InitiatorNameiqn.2026-09.cloud.laoma.server:webapp#3.扫描远端iSCSI targetiscsiadm-mdiscovery-tsendtargets-p10.1.8.10#4.登录target会识别出新的块设备iscsiadm-mnode-Tiqn.2026-09.cloud.laoma.server:webapp-data-l#5.查看识别出来的磁盘lsblk#6.格式化裸磁盘mkfs.xfs /dev/sdb#7.创建挂载点临时挂载mkdir-p/var/www/htmlmount/dev/sdb /var/www/html#8.fstab持久挂载必须添加_netdevecho/dev/sdb /var/www/html xfs defaults,_netdev 0 0/etc/fstabmount-adf-h/var/www/html3iSCSI客户端清理断开共享关机/更换环境操作顺序不能乱先卸载 → fstab删除条目 → 登出target → 删除node记录#1.卸载挂载点umount/var/www/html#2.编辑/etc/fstab删除iSCSI挂载行vim/etc/fstab#3.登出target会话iscsiadm-mnode-Tiqn.2026-09.cloud.laoma.server:webapp-data-u#4.删除本机保存的target记录重启后不会自动登录iscsiadm-mnode-Tiqn.2026-09.cloud.laoma.server:webapp-data-odelete四、重要避坑总结NFS多客户端同时读写共享目录应用程序需要支持文件锁否则文件损坏fstab远程挂载务必加上_netdev修改/etc/exports执行exportfs -r生效。iSCSI❌严禁多台客户端同时登录同一个LUN文件系统直接损坏IQN服务端ACL和客户端initiatorname必须完全匹配否则拒绝登录客户端拿到的是裸盘必须手动mkfs格式化fstab挂载iSCSI磁盘必须写_netdev清理顺序umount → 修改fstab → logout登出 → delete删除node记录。防火墙NFS放行nfs、rpc‑bind、mountdiSCSI服务端放行iscsi‑target。