news 2026/5/30 7:17:00

ansible部署nfs

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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"}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 11:23:37

突破43%成功率!WebRL-GLM-4-9B开源模型颠覆网页自动化行业格局

突破43%成功率!WebRL-GLM-4-9B开源模型颠覆网页自动化行业格局 【免费下载链接】webrl-glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/webrl-glm-4-9b 导语 你还在为网页代理任务成功率不足10%而烦恼吗?智谱AI最新发布的WebRL-GLM-4-9B模…

作者头像 李华
网站建设 2026/5/29 0:22:24

AI_用户增长引擎升级的前端落地全指南

AI当“增长军师”:用户增长引擎升级的前端落地全指南(小白版) 你有没有过这种体验: 打开某购物APP,首页正好是你最近想买的露营装备优惠;刚犹豫要不要下单,就弹出“新客首单减10元”的券&#x…

作者头像 李华
网站建设 2026/5/24 13:28:16

27、Unix 系统中的文档格式化与打印

Unix 系统中的文档格式化与打印 文档格式化系统 在处理小型简单的文本任务时,简单的文本格式化工具表现出色,但对于大型任务,Unix 系统提供了更强大的解决方案。Unix 能在技术和科学用户中流行起来,除了提供强大的多任务、多用户软件开发环境外,还在于它提供了可用于生成…

作者头像 李华
网站建设 2026/5/27 9:18:07

30、编写脚本与项目搭建入门指南

编写脚本与项目搭建入门指南 编写第一个脚本 在 Linux 系统中,编写一个简单的脚本是学习自动化任务的重要一步。让我们从一个经典的“Hello World!”脚本开始。 [me@linuxbox ~]$ echo Hello World! # This is a comment too Hello World!在这个示例中,我们使用 echo 命…

作者头像 李华
网站建设 2026/5/26 18:54:02

33、提升程序交互性:键盘输入读取与循环控制

提升程序交互性:键盘输入读取与循环控制 1. 为程序添加交互性 在编程中,许多程序缺乏与用户交互的能力。以之前的整数评估脚本为例: #!/bin/bash # test-integer2: evaluate the value of an integer. INT=-5 if [[ "$INT" =~ ^-?[0-9]+$ ]]; thenif [ "…

作者头像 李华
网站建设 2026/5/29 19:00:59

34、Bash脚本中的循环控制与故障排除

Bash脚本中的循环控制与故障排除 1. 循环控制 在Bash脚本中,循环是一种强大的工具,可用于重复执行特定的任务。常见的循环结构有 while 和 until 。 1.1 while循环 while 循环会在条件为真时持续执行代码块。以下是一个菜单驱动的系统信息程序示例: #!/bin/bash #…

作者头像 李华