当前位置: 首页 > news >正文

ansible部署nfs

文章目录

    • 实验环境
    • 安装ansible
    • 部署nfs网络文件系统
      • 1、创建系统用户和组
      • 2、在nfs上创建共享目录
      • 3、编辑nfs配置文件
      • 4、开启nfs服务
      • 5、进行挂载

实验环境

主机IP【配置静态IP地址】主机名字(身份)
10.0.0.61m01(管理节点)
10.0.0.31nfs(网络文件系统)

安装ansible

安装ansible,只需要在主控节点进行安装ansible服务,配置ssh公私钥

#使用yum安装ansible和依赖开发软件包,前提需要配置好阿里云的yum和epel源[root@m01 yum.repos.d]# lsCentOS-Base.repo epel.repo nginx.repo[root@m01 yum.repos.d]# yum repolistLoaded plugins: fastestmirror, langpacks Determining fastest mirrors repoidrepo name status!base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com10,072!epel/x86_64 Extra PackagesforEnterprise Linux7- x86_6413,791!extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com526!nginx-stable/7/x86_64 nginx stable repo364!updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com6,173repolist:30,926#安装ansible和依赖yum -yinstallansible libselinux-python#配置主机文件,这里我同步配置了/etc/hosts文件,做了主机名和主机ip映射,这样在配置ansible主机文件的时候可以使用主机名字,没有的话就直接配置主机IP地址#注意ansible都是使用ssh进行登入的,需要保障管理节点和被管理的节点可以ssh登入[root@m01 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.0.0.5 lb0110.0.0.6 lb0210.0.0.7 web0110.0.0.8 web0210.0.0.9 web0310.0.0.31 nfs10.0.0.41 backup10.0.0.51 db0110.0.0.61 m0110.0.0.71 zabbix#测试主机映射是否成功[root@m01 ~]# ping nfsPING nfs(10.0.0.31)56(84)bytes of data.64bytes from nfs(10.0.0.31):icmp_seq=1ttl=64time=0.179ms64bytes from nfs(10.0.0.31):icmp_seq=2ttl=64time=0.231ms64bytes from nfs(10.0.0.31):icmp_seq=3ttl=64time=0.504ms ^C --- nfspingstatistics ---3packets transmitted,3received,0% packet loss,time2000ms rtt min/avg/max/mdev=0.179/0.304/0.504/0.143 ms#配置ansible的主机文件[root@m01 ~]# tail -2 /etc/ansible/hosts[test]nfs 在test组里面,有主机nfs#配置ssh的公私钥#生成公私秘钥,-t 加密类型 -C描述信息[root@m01 ~]# ssh-keygen -t rsa -C A-Server.comGenerating public/private rsa key pair. Enterfileinwhichto save the key(/root/.ssh/id_rsa): Created directory'/root/.ssh'.Enter passphrase(emptyforno passphrase): Enter same passphrase again: Your identification has been savedin/root/.ssh/id_rsa. Your public key has been savedin/root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:xO2DoVA16c+29mx39r1hbG90M4dEPXJszdW8tBWB/Fo A-Server.com The key's randomart image is: +---[RSA 2048]----+ | ..o. . o*B| | . ..o +.*B| | . .+ . .* =| | . o.+ .E | | . Soo .o. | | +. .oo+| | . . *=| | o.. + B| | . oo. =*| +----[SHA256]-----+ #分发公钥到被管理节点,输入被管理节点的root密码 [root@m01 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub "root@10.0.0.31" /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys root@10.0.0.31's password: Number of key(s)added:1Now try logging into the machine, with:"ssh 'root@10.0.0.31'"and check tomakesure that only the key(s)you wanted were added.#检查管理节点的公私钥信息[root@m01 ~]# cd /etc/ssh/[root@m01 ssh]# lsmoduli ssh_host_ecdsa_key ssh_host_ed25519_key.pub ssh_config ssh_host_ecdsa_key.pub ssh_host_rsa_key sshd_config ssh_host_ed25519_key ssh_host_rsa_key.pub

部署nfs网络文件系统

1、创建系统用户和组

[root@m01~]# ansible nfs -m group -a 'name=www gid=666 state=present'nfs|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"gid":666,"name":"www","state":"present","system":false}[root@m01~]# ansible nfs -m user -a 'name=www uid=666 group=666 create_home=no shell=/sbin/nologin state=present'nfs|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"comment":"","create_home":false,"group":666,"home":"/home/www","name":"www","shell":"/sbin/nologin","state":"present","system":false,"uid":666}

2、在nfs上创建共享目录

[root@m01~]# ansible nfs -m file -a 'path=/data state=directory owner=666 group=666 recurse=yes'nfs|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"gid":666,"group":"www","mode":"0755","owner":"www","path":"/data","size":6,"state":"directory","uid":666}

3、编辑nfs配置文件

[root@m01~]# ansible nfs -m copy -a 'dest=/etc/exports content="/data 10.0.0.0/24(rw,all_squash,anonuid=666,anongid=666)" mode=600'nfs|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"checksum":"9595deab6719ad80dcef8a71f50a317dbfba5235","dest":"/etc/exports","gid":0,"group":"root","md5sum":"7c78689c50af25261f54f251b34c7e26","mode":"0600","owner":"root","size":56,"src":"/root/.ansible/tmp/ansible-tmp-1699072334.11-1365-90513311577736/source","state":"file","uid":0}

4、开启nfs服务

[root@m01~]# ansible nfs -m systemd -a 'name=nfs state=started enabled=yes'nfs|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"enabled":true,

5、进行挂载

[root@m01~]# ansible web -m mount -a 'src=10.0.0.31:/data path=/web fstype=nfs opts=defaults state=mounted'web01|SUCCESS=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":false,"dump":"0","fstab":"/etc/fstab","fstype":"nfs","name":"/web","opts":"defaults","passno":"0","src":"10.0.0.31:/data"}web03|CHANGED=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":true,"dump":"0","fstab":"/etc/fstab","fstype":"nfs","name":"/web","opts":"defaults","passno":"0","src":"10.0.0.31:/data"}web02|SUCCESS=>{"ansible_facts":{"discovered_interpreter_python":"/usr/bin/python"},"changed":false,"dump":"0","fstab":"/etc/fstab","fstype":"nfs","name":"/web","opts":"defaults","passno":"0","src":"10.0.0.31:/data"}

http://www.jsqmd.com/news/88023/

相关文章:

  • 打造基于Qt + OpenCascade的3D模型查看与转换利器
  • K8s蓝绿发布实战:零停机部署秘籍
  • 力扣热题100道,内容和力扣官方稍有不同,记录了本人的一些独特的解法
  • Kafka 和springboot 整合Logback日志
  • 2025精选:河北粘钉一体机供应商口碑前十强,可靠的粘钉一体机精选实力品牌 - 品牌推荐师
  • 2025年国内专业的多媒体讲台电教桌公司排行,联动多媒体讲台电教桌/机场多媒体讲台电教桌/多媒体讲台电教桌销售厂家排行榜 - 品牌推荐师
  • 黑马点评前125节课遇到的问题及解决方案(在看网课过程中会有很多老师运行成功但我们失败并且老师还不没有讲到的情况,本文致力于解决这个问题,记录了本人在做这个项目的时候遇到的所有问题)
  • 服务器内存条与工作站内存条区别
  • 【Qt】配置安卓创建环境
  • 探索多虚拟电厂联合调度优化模型:集中式算法的实践
  • (19)Bean的循环依赖问题
  • ADVANCE Day23
  • C++ 相对 C 的语法补充:解决痛点,让代码更简洁安全
  • (20)回顾反射机制
  • 21、Linux 系统中的文件归档、备份与正则表达式使用
  • 内存条电压
  • Flutter + OpenHarmony 架构演进:从单体到模块化、微前端与动态能力的现代化应用体系
  • 22、正则表达式全解析
  • Vue的Class绑定对象语法如何让动态类名切换变得直观高效?
  • 23、正则表达式与文本处理全解析
  • 如何快速构建行为面试中的领导力案例:面向求职者的完整指南
  • 18、Linux 网络工具使用指南
  • 数字电路模拟程序迭代及课堂测验总结 - 23207101
  • 直流微电网混合储能模型Simulink仿真探索
  • 39、高级Shell脚本编程技巧与概念
  • 基于 Rust 实现单向网闸环境下的 MQTT 消息透明传输
  • 25、文本处理工具全解析
  • 24、文本处理工具全解析:从排序到比较,掌握高效文本操作技巧
  • java-BlockingQueue、CountDownLatch讲解
  • 26、文本格式化工具全解析