nfs(代码片段)

syy1757528181 syy1757528181     2022-11-29     164

关键词:

使用roles实现一键部署nfs

环境准备

主机名 安装服务 wan lan
web01 nfs客户端 10.0.0.7 172.16.1.7
web02 nfs客户端 10.0.0.8 172.16.1.8
nfs nfs服务端 10.0.0.9 172.16.1.9
backup backup服务端 10.0.0.41 172.16.1.41

流程分析

1.安装ansible
2.优化ansible
3.推送公钥
4.开启防火墙
5.开启80 443 873 nfs等端口和服务白名单
6.关闭selinux
7.创建同一的用户

    1.安装nfs-utils
    2.拷贝nfs配置文件
    3.创建共享目录
    4.启动nfs服务端
    	1.在nfs服务端安装sersync
    	2.拷贝sersync配置文件到nfs服务端
    	3.nfs服务端配置rsync密码文件
    	4.启动sersync

主机清单

[root@m01 ~]# vim /root/ansible/hosts 
#[]标签名任意,但是最好不要用特殊符号(- | &)和大写字母,中文(不能是nginx)
#端口是22的时候可以省略
[web_group]
172.16.1.7 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.8 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.9 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[db_group]
172.16.1.51 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.52 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.53 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.54 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[nfs_group]
172.16.1.31 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[redis_group]
172.16.1.81 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[lb_group]
172.16.1.5 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘
172.16.1.6 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[backup_group]
172.16.1.41 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[zabbix_group]
172.16.1.71 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[m01_group]
172.16.1.61 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

[mtj_group]
172.16.1.202 ansible_ssh_port=22 asible_ssh_user=root ansible_ssh_pass=‘1‘

################################服务端

nfs配置文件


% for i in nfs_data_dir %
/data/ i  172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
% endfor %

#可以对nfs_data_dir定义多个值
#nfs_data_dir这个位置可以是变量·数组·range()
参考bash循环
pp="1 11 88 44 00"
for n in $pp;do
	echo "$n"
done

使用ansible-galaxy命令创建角色目录

[root@m01 roles]# ansible-galaxy init nfs_server

编辑tasks目录

1.安装
[root@m01 nfs_server]# vim tasks/install.yml 
- name: Install nfs-utils
  yum:
    name: " item "
    state: present
  loop:
    - nfs-utils
2.创建目录
[root@m01 nfs_server]# vim tasks/dir.yml 
- name: Create Directory
  file:
    path: " item "
    state: directory
    owner: " ww_w "
    group: " ww_w "
    mode: 0755
    recurse: yes
  loop:
    - " nfs_data_dir "
3.copy配置文件
[root@m01 nfs_server]# vim tasks/config.yml 
- name: content NFS Server
  template:
    src: exports.j2
    dest: /etc/exports
    owner: root
    group: root
    mode: 0644
  notify:
        - restart nfs
4.启动
[root@m01 nfs_server]# vim tasks/start.yml 
- name: start nfs
  service:
    name: nfs
    state: started
    enabled: yes
5.编辑main.yml
[root@m01 nfs_server]# vim tasks/main.yml 
- include: install.yml
- include: dir.yml
- include: config.yml
- include: start.yml
6.触发器
[root@m01 nfs_server]# vim handlers/main.yml 
- name: restart nfs
  systemd:
    name: nfs-server
    state: restarted
    enabled: yes
7.编辑jinjia模板
[root@m01 nfs_server]# vim templates/exports.j2 
% for i in nfs_data_dir %
 i  172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
% endfor %
8.变量
[root@m01 nfs_server]# vim vars/main.yml 
#nfs服务端被挂载的目录
nfs_data_dir:
  - "/data"
  - "/data/wowdpress"
  - "/data/WeCenter"
#统一的用户
ww_w: www

编辑入口文件

[root@m01 roles]# vim site.yml 
- hosts: all
  roles:
    #-  role: base 
    #-  role: rsync_client,when: ansible_fqdn is match ‘web*‘ 
    #-  role: rsync_client,when: ansible_fqdn is match ‘nfs*‘ 
    #-  role: rsync_server,when: ansible_fqdn is match ‘backup*‘ 
    -  role: nfs_server,when: ansible_fqdn is match ‘nfs*‘ 

执行

[root@m01 roles]# ansible-playbook site.yml 

#####################客户端

使用ansible-galaxy命令创建角色目录

[root@m01 roles]# ansible-galaxy init nfs_client

编辑tasks目录

1.安装
[root@m01 nfs_client]# vim tasks/install.yml 
- name: install nfs-utils
  yum:
    name: " item "
    state: present
  loop:
    - "nfs-utils"
2.创建目录
[root@m01 nfs_client]# vim tasks/dir.yml 
- name: Create Directory
  file:
    path: " item "
    state: directory
    owner: " ww_w "
    group: " ww_w "
    mode: 0755
    recurse: yes
  loop:
    - " mount_point"
3.启动
[root@m01 nfs_client]# vim tasks/start.yml 
- name: start nfs
  systemd:
    name: nfs-server
    state: started
    enabled: yes
4.使用inclunde包含
[root@m01 nfs_client]# vim tasks/main.yml 
- include: install.yml
- include: dir.yml
- include: start.yml
5.变量
[root@m01 nfs_client]# vim vars/main.yml 
#统一用户
ww_w: www
#挂载点
mount_point:
  - "/code/wordpress/wp-content/uploads/"
  - "/code/WeCenter/uploads"

编辑入口文件

[root@m01 roles]# vim site.yml 
- hosts: all
  roles:
    #-  role: base 
    #-  role: rsync_client,when: ansible_fqdn is match ‘web*‘ 
    #-  role: rsync_client,when: ansible_fqdn is match ‘nfs*‘ 
    #-  role: rsync_server,when: ansible_fqdn is match ‘backup*‘ 
    #-  role: nfs_server,when: ansible_fqdn is match ‘nfs*‘ 
    -  role: nfs_client,when: ansible_fqdn is match ‘web*‘ 

执行

[root@m01 roles]# ansible-playbook site.yml

nfs架构(代码片段)

title:NFS架构tags:nfs,rpc,rpcbindgrammar_cjkRuby:trueNFS架构1.NFS简述NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明... 查看详情

nfs(代码片段)

 NFS:networkfilesystem一、NFS服务介绍NFS是NetworkFileSystem的缩写,顾名思义就是网络文件存储系统,它最早是由Sun公司发展出来的,也是FreeBSD支持的文件系统中的一个,它允许网络中的计算机之间通过TCP/IP网络共享资源。通过NFS... 查看详情

nfs服务搭建与配置(代码片段)

NFS服务搭建与配置NFS介绍NFS服务端安装配置NFS配置选项exportfs命令NFS客户端问题NFS介绍NFS是NetworkFileSystem的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据... 查看详情

3-nfs-共享存储(代码片段)

一,NFS概述1.什么是nfs?  NFS(NetworkFileSystem)即网络文件系统。NFS共享存储2.nfs能干什么?  主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录。3.为什么要使用nfs?  NFS网络文件系统一般被用来存储... 查看详情

nfs-网络文件共享服务(代码片段)

目录NFS介绍什么是NFS(NetworkFileSystem)搭建NFS服务需要的软件包极简步骤搭建NFS服务准备两台机器配置服务端(nfs-server)配置客户端(web-client)NFS服务简单执行流程NFS文件访问权限NFS服务端配置客户端地址的表示方法/etc/exports参数/etc/exp... 查看详情

nfs(代码片段)

NFS在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。安装yuminstallnfs-utilsrpcbind-y创建共享目录:data/data设置存储路径访问权限;(*可以设置访问的ip地址)/etc/exports[[email ... 查看详情

nfs(代码片段)

(1)nfs简介作用:通过网络的不同的主机之间共享资源,支持多节点挂载并发写入特点:单台,适合小型网络集群架构,非常稳定;大型公司使用(mfs,glusterfs,fastdfs)nfs优点:部署和维护简单;数据是在文件系统之上,是能看... 查看详情

nfs(代码片段)

NFS1.1NFS定义:NFS(NetworkFileSystem)网络文件系统,它的工作机制是基于rpc来实现网络文件系统共享的。1.2NFS作用‘1.通过局域网让不同的主机系统之间可以共享文件或目录2.节省本地存储空间,本地终端将可以减少自身存储空间的使... 查看详情

nfs(代码片段)

使用roles实现一键部署nfs环境准备主机名安装服务wanlanweb01nfs客户端10.0.0.7172.16.1.7web02nfs客户端10.0.0.8172.16.1.8nfsnfs服务端10.0.0.9172.16.1.9backupbackup服务端10.0.0.41172.16.1.41流程分析1.安装ansible2.优化ansible3.推送公钥4.开启防火墙5.开启8044 查看详情

nfs(代码片段)

NFS全称net-file-system是一款网络文件系统。它的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件(NFS一般用来存储共享视频,图片等静态数据)。而在客户端看来,共享的目录就是其本身的目录。网络... 查看详情

nfs服务部署(代码片段)

NFS简介NFS(NetworkFileSystem)网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文... 查看详情

nfs共享存储(代码片段)

nfs共享文件存储networkfilesystem;为什么要使用nfs?如果userA上传文件通过负载均衡器上传到了web01,这个时候userB去下载file1又被负载均衡器分配到了web02上面就找不到userA上传的资源了。使用了共享存储nfs之后,userA上传的文件到nf... 查看详情

nfs(networkfilesystem)(代码片段)

文章目录nfs(NetworkFileSystem)应用场景优点NFS的工作原理RPCNFS工作机制NFS工作流程:配置方法/etc/exports文件的编写格式实例要求配置步骤服务端安装启动nfs并关闭防火墙和selinux编辑/etc/exports文件创建映射用户和共享目... 查看详情

nfs介绍,配置(上)(代码片段)

NFS介绍1.NFS不监听任何端口,rpcbind监听111端口2.NFS服务需要借助于rpc协议NFS服务端安装配置1.服务端安装两个服务:[[email protected]~]#yuminstall-ynfs-utilsrpcbind2.客户端安装一个服务:[[email protected]~]#yuminstall-ynfs-utils3.服务端编... 查看详情

nfs网络文件共享服务(代码片段)

一、NFS工作原理NFS原理:相当于一块网络硬盘被多个PC挂载,如何获得网络磁盘的端口号? 首先NFS是一个共享目录,例,他共享了data目录,这时候客户端通过IP远程挂载这个目录,也需要知道NFS的端口号。 二、NFS工作流... 查看详情

nfs挂载文件(代码片段)

1.安装必备插件 以防centos7默认没有启动nfs服务   yum-yinstallnfs-utilsrpcbind   servicerpcbindstart  servicenfsstart[[email protected]nfs]#ps-ef|grepnfsroot55982010:08 查看详情

nfs(代码片段)

首先关闭防火墙----NFS---(默认情况,已经安装!!)yum-yinstallnfs-utils---端口:netstat-tunlp(端口除了nfs是2049以外,其他的都是随机的!!!)---主配置文件:/etc/exports/etc(ro,sync)(共享/etc/文件,号的位置是允许访问服务器的主机的I... 查看详情

nfs(代码片段)

防火墙都是关闭的服务端[root@localhost~]#yum-yinstallrpcbindnfs-utils编辑/etc/exportsp配置文件配置共享目录(配置文件默认可能没有)root@ubuntu:~#cat/etc/exports#共享目录允许访问的IP或网段(参数)/nfs192.168.6.0/24(rw,sync,no_root_squash先启动rpcbin... 查看详情