马春杰杰 Exit Reader Mode

LXD容器内如何批量替换fstab中的参数并重新挂载

在宿主机上,卸载挂载通常可以用umount -f命令,但是在容器中不行,会提示:

umount.nfs4: /NFSshare/datasets: block devices not permitted on fs

所以需要用umount -l,比如目前的一条参数为:

10.170.2.246:/NFSshare/mount/ljq-5wwmo0 /NFS_auto_mount/ljq-5wwmo0 nfs vers=4.1,rsize=1048576,wsize=1048576,noatime,hard,timeo=600,retrans=2,_netdev,bg,intr,nofail,x-systemd.requires=network-online.target 0 0

我想要把hard改为softretrans=2改为retrans=5,批量修改可以用:

cp /etc/fstab /etc/fstab.bak.$(date +%F_%H%M%S) # 先备份

ls -l /etc/fstab.bak* # 查看备份

sed -i 's/,hard,/,soft,/g' /etc/fstab

sed -i 's/retrans=2/retrans=5/g' /etc/fstab

之后,懒卸载fstab中挂载的存储,再重新挂载:

umount -l /NFSshare/datasets
umount -l /NFS_auto_mount/*
mount -a