关键词:
使用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... 查看详情