记录一下nas盘挂载(ansible)
一个nas盘(群辉设备)准备挂载到2台LINXU服务器上。途中踩了N多自己挖的坑,自己记录一下,万一将来再踩到,可以快速找到答案。顺便重新对ansible mount梳理一下:
第一挂载方案当然是直接使用nfs挂在,毕竟nas本身就是一个NFS服务。坑的的事情是。。怎么也挂不上去。
最终发现群辉设备上并没有开启NFS服务。。。
好吧,一定要记住先检查服务是不是可用。。。
因为开始并没有发现NFS服务并没有开启,所以我选择了第二种挂载方案,使用cifs,这里也记录一下用。
1如果是单台服务器操作,那么很简单了。
直接调用:
mount -t cifs -o username="colinshi",password="123456" //192.168.1.2/mydata /mydata
并且在/etc/fstab文件中最后添加一行
echo '//192.168.1.2/mydata /mydata cifs username=colinshi,password=123456 0 0' >> /etc/fstab
这里-t选项不是必须的我发现不是用-t 指明type也可以挂在上去,然后这里有一个小坑就是username和password之间是使用逗号隔开,而不是使用空格。而且在man mount.cifs里这个有明确说明,但是为什么他的实例里却没有说明。
Note that a password which contains the delimiter character (i.e. a comma ´,´) will fail to be parsed correctly on the command line. However, the same password defined in the
PASSWD environment variable or via a credentials file (see below) or entered at the password prompt will be read correctly.
证明学好英文是很重要的。
因为准备挂载到多台设备上所以准备使用ansible操作
ansible本身提供了一个mount模块用来挂载各种设备
ansible all -m mount -a 'state={mounted|unmouted|absent|present} src=(源资源位置://192.168.1.2/mydata) name=(挂载点的位置) fstype=(挂载文件类型:cifs|nfs|ext4) opts=(参数选项:"username=colinshi,password=123456")'
fstype: # 文件系统类型,当state={present|mounted}的时候必选项
opts: # 想到与mount命令行-o的参数
path: # 必选项,挂载点,在2.3版本之前这个选项只能用作 `dest', `destfile',`name'.
src: # 挂载指定路径的设备,state={present|mounted}的时候必选项
state:必须项,{mounted|unmouted|absent|present}4种状态。mounted挂载并添加fstab条目,unmouted只卸载,fstab文件内不受影响设置,absent卸载,并删除fstab内添加的装载条目,present只增加fstab文件内的条目