线上很多服务器都需要挂载存储上的公共目录,并实现开机启动(/etc/fstab),比如web的静态文件共享目录,日志远程集中收集等。
一、批量挂载部分。
1.在node1上配置nfs服务器,有关nfs服务器配置自己查阅相关文档。
2.在node1上,即salt-master服务端编写state.sls文件。
3.state文件如下:
[root@node1 base]# pwd /srv/salt/base [root@node1 base]# tree . ├── nfsmount.sls └── top.sls 0 directories, 2 files [root@node1 base]# cat top.sls base: '*': - nfsmount [root@node1 base]# cat nfsmount.sls nfs-utils-lib: pkg.installed: - name: nfs-utils-lib nfsmount: mount.mounted: - device: 192.168.3.1:/nfs - fstype: nfs - name: /mnt - mkmnt: true - opts: - defaults - require: - pkg: nfs-utils-lib
4.执行编写好的状态模块。
[root@node1 base]# salt '*' state.highstate env=base test
[root@node1 base]# salt '*' state.highstate env=base
5.在node1|node2上查看执行结果。
[root@node1 base]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-LogVol00 40562024 3312432 35189100 9% / tmpfs 177604 16 177588 1% /dev/shm /dev/sda1 198337 35108 152989 19% /boot 192.168.3.1:/nfs 40562048 3312448 35189120 9% /mnt [root@node1 base]# tail -n1 /etc/fstab 192.168.3.1:/nfs /mnt nfs defaults 0 0 [root@node2 ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/VolGroup-LogVol00 40562024 5353480 33148052 14% / tmpfs 177604 12 177592 1% /dev/shm /dev/sda1 198337 35108 152989 19% /boot 192.168.3.1:/nfs 40562048 3312384 35189120 9% /mnt [root@node2 ~]# tail -n1 /etc/fstab 192.168.3.1:/nfs /mnt nfs defaults 0 0
二、批量卸载部分
1.在上述环境基础上编写卸载state文件。
[root@node1 base]# pwd /srv/salt/base [root@node1 base]# tree . ├── nfsmount.sls ├── nfsumount.sls └── top.sls 0 directories, 3 files [root@node1 base]# cat nfsumount.sls nfsumount: mount.unmounted: - device: 192.168.3.1:/nfs - name: /mnt
*注释:上述红色部分二者缺一不可,否则卸载失败。
2.执行该状态模块。(此处使用指定状态模块执行的方法执行)
[root@node1 base]# salt '*' state.sls nfsumount
3.在node1和node2上,查看已经卸载,并清除了/etc/fstab文件内容。