Linux教学——令人拍手叫绝的运维小技巧
2022-10-13
作者:三页
来源:一口Linux
需求
在运维工作中随着我们积累的经验不断增多,不知你是否遇到过以下几个场景:
Linux如何快速删除大量文件?
Vsphere如何在不重启的情况下识别新添加的iscsi硬盘?
Linux中rm命令如何做到防误删?
不同Linux服务器之间如何实现快速挂载?
Linux中如何将用户快速添加到附属组?
细心的人往往会通过自己特有的方式来快速处理,不禁让人拍手叫绝。
下面我就来具体介绍下我的处理方式吧。
1.Linux如何快速删除大量文件?
在Linux中对于删除大量小文件或删除大文件,我们一般会通过rm命令直接删除,这时你就很有可能会遇到以下问题:
1.rm删除过程耗时很长,效率低下;
2.rm删除完毕后,文件不存在但是磁盘空间仍未释放;
其实以上问题都和rm命令有关,因为rm删除内容时,是将目录的每一个条目逐个删除(unlink),而且需要循环重复遍历很多次;虽然unlink解除,但是进程仍可以读取已删除的问题件,导致磁盘不释放。
在此我们可以使用rsync命令来代替rm。rsync删除内容时,通过建立好新的空目录替换掉老目录,不需要进行大量的遍历操作,因此效率会高很多。
rsync提供了一些跟删除相关的参数如下:
「注意:」当SRC和DEST文件性质不一致时将会报错;当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件;当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录;
2.Vsphere如何在不重启的情况下识别新添加的iscsi硬盘?
Vsphere虚拟机新添加硬盘进行LVM扩容,此时需要重启刷新文件系统,否则无法识别新添加的硬盘。重启服务器这对于生产环境来说是不允许的,那么有什么方法能够实现在线刷新文件系统呢?
在此有两种方法:
第一种方法
没有新增硬盘前的SCSI设备参数如图
其中:
HOST,主机适配器标识,第一个适配器为0,在此新增加硬盘的适配器为2;
Channel,主机适配器上的SCSI通道,第一个通道为00,新增加磁盘的SCSI通道仍为00;
ID,设备的SCSI标识 ,即硬盘标识从00开始,新增加磁盘的标识为01;
增加硬盘后的SCSI设备参数如图
以上两种方式都可以实现在不重启服务器的情况下识别到新添加的硬盘,请根据实际情况进行选择。
3.Linux中rm命令如何做到防误删?
Linux系统中冒号(:)在bash中是一个內建命令,而不单纯是一个分隔符,它的主要作用是空命令、参数扩展、重定向、注释等。我们可以使用其参数扩展特性实现rm的防误删功能。
4.不同Linux服务器之间如何实现快速挂载?
不同Linux服务器之间的共享,我们一般通过NFS来实现。但是有一次同事在进行迁移ELK时,使用了sshfs命令快速基于ssh协议快速实现了数据的共享。
SSHFS(Secure SHell FileSystem)是一个客户端,可以让我们通过 SSH 文件传输协议(SFTP)挂载远程的文件系统并且在本地机器上和远程的目录和文件进行交互。
具体使用如下:
正如你所看到的,通过sshfs命令我们快速实现了挂载,相对于NFS非常方便。
5.Linux中如何将用户快速添加到附属组?
对于Linux操作系统,我们一般使用usermod命令来调整用户分组,但是在使用过程中是有痛点的。
通过以上命令,我们可以看到以下痛点:
每次usermod附加组调整,会覆盖原来的分组
usermod调整多个分组时,必须将所有分组一并添加,否则会覆盖原来分组
那么是否有命令可以让我们在不必提前知道原来的分组信息的情况下而直接更新分组呢?gpasswd就可以解决我们的痛点问题,它是Linux下工作组文件/etc/group和/etc/gshadow管理工具,用于将一个用户添加到组或者从组中删除。
我们一般不会遇到用户同时隶属于多个分组的情况,但是在做文件共享,因权限分离需求才会用到,此时我们通过gpasswd命令会方便很多。
总结
在运维过程中我们通过常规操作就可以解决大多数问题,但是在处理过程中可能会存在效率不高、操作麻烦等问题。因此在日常工作中要多探索、多总结,这可能会给我们带来意想不到的效果。
更多信息可以来这里获取==>>电子技术应用-AET<<