运维必备:Linux磁盘操作核心命令实战(纯干货)
linux系统万物皆文件,而文件最终都会落到磁盘上。在我们日常的运维中,涉及到磁盘操作的命令比较多,大部分书本上都有关于linux磁盘的介绍,但是内容太多,不太容易理解。在实际运维中,主要使用的命令其实没有几个,而且都是基础命令。因为日常磁盘文件等操作都是运维人员的基本技能,所以要求运维必须具备基本的磁盘操作能力,免得被人鄙视。下面逐个进行进行介绍。其中du -sh表示整个目录的大小,du -sh * 显示目录里每个文件的大小,du -sh * |sort -rh 按照文件大小排序,其中-rh从大到小,-h从小到大排序,head -n 5 按照排序选择前5个。一般在磁盘或者目录满的时候用于排除那个文件占用比较大。lsblk/lsblk -f 磁盘分区信息及挂载点查看主要用在磁盘空间小于2T的情况下,本次我们以虚拟机新增的磁盘sdb为例进行展示。在生产环境一定要三思,慎重操作。主要使用命令n新增分区、p打印、d删除分区、W保存并退出。也是交互式命令,一般用于磁盘大于2T的情况,可使用H获得命令帮助。具体使用哪种磁盘格式,按照系统及业务要求,可以使ext3,ext4、xfs等)。在生产环境一定要看清楚磁盘,千万不要格式化错了,否则数据将丢失。磁盘完成格式化后,需要进行挂载,为了保证每次开机能够自动挂载,需要编辑fstab(目前有逻辑磁盘和UUID挂载两种方式),从而可以确保磁盘的永久挂载。如果不编辑fstab,单纯使用mount挂载命令挂载,重启服务器后挂载就会丢失。下面是使用UUID挂载,以/dev/sdb为例,挂载前需要先格式化硬盘,mkfs.ext4 /dev/sdb,然后将blkid|grep sdb1中获取的id写入fstab中然后mount -a即可。磁盘性能监控的几个命令(一般是默认安装,需要时安装)报告CPU和磁盘IO统计信息
iostat -dx /dev/sdb 查看单块盘的信息可以报告CPU统计信息和所有块设备的I/O统计信息
fsck /dev/sdb1 需要将挂载卸载后才能执行。生产环境该命令运行时间会很长,几个小时到十几个小时。还有一个集群中经常使用的命令badblocks 用来检查磁盘是否有坏块。lvm的主要作用是突破物理磁盘分区的固定大小限制,实现磁盘空间的灵活分配、调整与管理三个基本概念:pv(物理卷),vg(卷组)、lv(逻辑卷)pvdisplay /dev/sdb1 查看pv信息或者使用pvs查看pv的关键信息vgextend vg_01 /dev/sdc1 扩展pv到已有卷组mkfs.ext4 /dev/vg_01/lv_01然后就可以按照前面的步骤进行挂载和写入fstab了。lvextend -L +100M /dev/vg_01/lv_01该命令执行完成需要进行同步resize2fs /dev/vg_01/lv_01(更新lv以适配新的空间信息,该命令执行后空间生效)如果学会了以上命令,linux磁盘操作也就没啥难度了。