一、前言 ● 随机写会导致磁头不停地换道,造成效率的极大降低;顺序写磁头几乎不用换道,或者换道的时间很短 ● 本文来讨论一下两者具体的差别以及相应的内核调用 二、环境准备 组件 版本 OS Ubuntu...1)同步随机写 主要采用fio作为测试工具,为了能够看到系统调用,使用strace工具,命令看起来是这样 先来测试一个随机写 strace -f -tt -o /tmp/randwrite.log...随机读每一次写入之前都要通过lseek去定位当前的文件偏移量 2)同步顺序写 用刚才的方法来测试顺序写 root@wilson-ubuntu:~# strace -f -tt -o /tmp/write.log...util=74.32% 可以看到,slat指标出现,lat 近似等于 slat + clat 之和(avg平均值);并且换成异步io之后,吞吐量得到了极大的提升,120M左右 六、总结 ● fio应该作为磁盘的...baseline工具,拿到机器(物理机或者云机器)都应该第一时间对机器的磁盘做一个基线测试,做到心中有数 ● 本文所有的测试,都是绕开了缓存,在实际应用中需要将缓存的影响考虑进去
可我回头一想,磁盘异常导致DN异常倒是碰到过,磁盘写满也能导致DN异常? 带着疑问做了一番梳理,接下来我们就来聊聊。...【DN运行过程中磁盘写满会怎样】 ---- 首先,DN运行时,单块磁盘写满,是否会引发问题?...例如:先将某个磁盘写满(如下图所示) 此后,继续向hdfs写入文件,发现写入的文件都正常,已经写满的磁盘不会继续存储新的数据 【DN写block时的磁盘分配策略】 ---- DN中磁盘分配有两种策略...在Hadoop3.0版本之前,我们只能停止DN,然后将一部分block数据从写满的磁盘目录移动到另外一个磁盘的相同目录下,最后再启动DN完成数据加载。...【总结】 ---- 回过头,再看运维兄弟给我反馈的问题,说磁盘写满导致DN异常,应该是不会出现这种情况的。 第二天重新找该兄弟进行了确认,确认了是磁盘故障,而不是磁盘写满导致。
image-20220117165235844 登录服务器,通过 df -Hl 查看 和告警信息一致,接着我们就是要找到导致磁盘空间满的目录或文件,如何找到占用空间大的目录或文件?...du -h -d 2|grep [GT] |sort -nr du -h --max-depth=2|grep [GT] |sort -nr 通过这样的方式,可以搜出以 G 或者 T 为单位的占用磁盘空间的大目录...很多时候,你会发现,通过 find 或 du 查半天,发现所有加起来的占用空间,和 df 看到的磁盘空间占用,相差很大,就比如我上面的两张图 通过 df 查看,磁盘使用 37G,但是在根目录下通过 du...还有一种经常有人问的问题,就是,通过 df 查看到的磁盘 会发现,Used 和 Avail 加起来不够 Size,莫名被吃掉一部分 其实这是 Linux 文件系统的一种安全策略,它默认会为 root...用户保留 5% 的磁盘空间,留作紧急情况使用。
在Linux系统中,磁盘阵列主要通过/etc/raidtab配置文件来控制的。若系统管理员需要实现磁盘阵列的话,就需要手工创建这个配置文件。或者从其他地方复制这个文件,并进行相应的修改。...默认情况下,在Linux系统中不会有这个文件。下面笔者就对这个文件中的主要参数进行讲解,帮助大家建立一个正确的磁盘阵列配置文件。 参数一:raid-level 指定磁盘阵列的类型。 ...磁盘阵列到目前为止,有不下于十种的类型。而Linux系统则只支持其中的不种类型。系统管理员需要了解这五种磁盘阵列类型的特点,并根据企业的实际应用场景选择合适的磁盘类型。...如果采用这种磁盘阵列模式,Linux系统会先将数据存放在第一块硬盘中。只有当这个硬盘空间已经使用完了,操作系统才会将数据存储到第二块硬盘中。 以此类推。...RAID-5磁盘阵列模式是现在主流的磁盘阵列模式。在这种模式下,Linux操作系统会将数据切割成固定大小的小区块,并同时分别保存到不同的硬盘中。
如果你要是对linux分区和挂载不理解,建议看下: https://blog.csdn.net/qq_41276657/article/details/105168312 eg:假如文件被不小心删除操作...: 1,先卸载磁盘,防止数据被新添加数据替换 2,下载extundelete恢复工具 https://pan.baidu.com/s/1ocBNA5KTgmVEeFa30-fkSQ 3,如果用extundelete...会有个警告,不用理它,不算错) 7,用make install安装extundelete 8,用which extundelete查看安装结果 9,安装好后开始恢复数据,注意恢复数据可不是在被删的磁盘中恢复...,新建一个目录,在这个目录恢复,不然就会覆盖原磁盘 10,进入被删除数据的目录 11,根据名字恢复数据:文件(可以写东西,如.txt文件)和目录恢复还不一样,可以试试用恢复文件的方法恢复目录,答案是不成功...cd extundelete-0.2.4.tar.bz2,别忘了) 9,mkdir test(我放在/root根目录了) 10,extundelete /dev/sdb1 –inode 2(我的磁盘是
导 语 在云中使用虚拟机HA,热迁移等功能的时候,可能会出现两个主机上的虚拟机同时对共享存储上同一个磁盘进行读写操作,导致磁盘数据损坏的问题。...二、磁盘位于NFS共享存储 本节验证虚拟机磁盘位于NFS共享存储时,sanlock对磁盘加锁的情况。...0f2d1b2c88ac72e97d4a9c4d13fe4db0 0000005856 0001 0001 1 尝试在计算节点2上用相同的命令创建虚拟机,从命令输出中可知获取磁盘的写锁失败了...参考资料 http://ssdxiao.github.io/linux/2017/04/12/Libvirt-Sanlock.html https://blog.csdn.net/weixin_34258782...92440532 https://libvirt.org/locking.html https://libvirt.org/locking-sanlock.html 往期精彩内容回顾 1 S3请求来了,该怎么处理
系统成为只读,重启后报:/dev/VolGroup00/LogVol00:UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY 出现这样的问题需要使用fsck命令扫描修复磁盘...扫描前最好通过其他方法将能备份出来的数据备份出来,以防fsck将文件扫描损坏) 解决以上问题的方法: 1、使用光盘启动,进入救援模式 1.1、将bios调整为光盘启动模式 1.2、光盘启动进入救援模式: 输入 linux
又因为限制内存,所以直观的想法是直接 Direct IO, 但 Direct IO 能否跑满磁盘 IO 呢?...机器配置 CPU: 64 核 Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz 磁盘 : Intel Optane SSD 测试磁盘 IO 性能 官方称读 / 写带宽是...2566MiB/s (2691MB/s), 2566MiB/s-2566MiB/s (2691MB/s-2691MB/s), io=8192MiB (8590MB), run=3192-3192msec 顺序写性能...通过数据我们发现,单次 4k 的 Direct IO 写入无法跑满磁盘的 I/O 带宽,仅仅只有 800MB/S 实验三: mmap 写入 通过前面这两个实验我们发现,Buffer IO 是可以跑满磁盘...(关于 mmap() 的源码分析,我们在后面的文章会详细分析 ),我们实验三的思路是: 首先 fallocate 一个大文件,然后 mmap() 内存映射 16k 的 Block, memcpy() 写满之后
那么如果是多个进程,是怎么互相操作的呢?带着疑问我们分析下tomcat的源码。...stop() 方法是停止服务的方法 await() 方法是阻塞方法,只有客户端请求关闭tomcat服务时,他才会执行stop() 方法,否则一直等待关闭请求。...然后调用socket.accept() 方法监听停止tomcat服务的请求。 这里的address默认是"localhost",也就是只监听ip是localhost上的关闭请求。...如果是 “SHUTDOWN”,则跳出循环,并停止该 Socket 服务。然后在调用停止 Tomcat 服务方法。...Catalina 类 stop() 方法 停止服务代码如下 : Paste_Image.png
最近因特殊场景,需要往磁盘上写入大量小文件,然而在操作过程中磁盘空间未满但是却提示无法写入…… 错误分析 在本次操作过程,需要往磁盘上写入大概 150w 个小文件,文件大小约为 1~100KB,大概预估了一下需要...50G 的磁盘空间。...当操作到一半时,磁盘报错:无法写入! ...通过 df -h 查看磁盘,发现还有剩余空间; 通过 du -i 查看磁盘,发现 inode 已经使用了 100%; 继续观察磁盘文件系统: dumpe2fs -h /dev/vdc1 这里列出了几个比较关键的数据...磁盘规划 因此针对上面的情况,我们需要划分更多的 inode 用于记录文件。
概念——磁盘配额是啥???...由于我们使用的Linux系统是多用户任务的操作系统(也就是说我们同一个系统下的多个用户共同使用着相同的硬盘空间),这就难免出现了多个用户共享磁盘的情况,这种情况会导致什么问题呢?...比如用户A在磁盘内存放了大型文件,导致用户B在需要存储文件时发现磁盘已经被写满无法进行保存…。那么如何使多个用户公平地分配磁盘空间呢?这就是磁盘配额要解决的问题。...实现磁盘配额需要什么前提条件呢? 1.需要Linux内核的支持。 2.安装quota软件包 在RHEL6系统中,磁盘配额的内核支持和quota软件包已经默认配置好了,所以我们不用另行设置。...磁盘配额有什么特点呢?
磁盘管理的基本命令 Linux 磁盘管理命令有很多种,常用的有: df:查看磁盘使用情况 du:查看文件/文件夹占用空间大小 fdisk:磁盘分区工具 mount:挂载磁盘分区 umount:卸载磁盘分区...lsblk:查看块设备信息 parted:磁盘分区工具 gparted:图形界面磁盘分区工具 mkfs:格式化磁盘分区 tune2fs:修改 ext2/ext3/ext4 文件系统参数 fsck:磁盘文件系统检查工具...df命令 df命令是Linux系统中的一个常用命令,用于显示磁盘空间使用情况。它可以显示文件系统的总空间、已用空间、可用空间、使用率等信息。...使用df命令可以帮助用户了解磁盘空间的使用情况,以便及时进行磁盘清理或扩容等操作。 df命令有一些常用的参数,可以按需使用。...磁盘分区示例 fdisk -l # 这里的X需要更换具体的磁盘设备名称 fdisk /dev/sdX n 输入磁盘号码 给与磁盘大小 # 保存 w # 更新 partprobe 查看块设备信息lsblk
本文主要从以下几个方面介绍Linux磁盘: 磁盘的接口 硬盘的设备名称 文件系统 RAID独立冗余磁盘阵列 磁盘的接口 现在磁盘最常用的可简单分为普通的机械盘和SSD(Solid-state drive...更多磁盘知识可参考Wiki百科。 硬盘设备名称 在linux中世界中,一切皆文件,设备也是文件。...Linux 系统支持数十种的文件系统,而最常见的文件系统如下所示。 Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并 能自动修复数据的不一致与错误。...格式化磁盘可以用mkfs命令-->make filesystem的缩写;用来在特定的分区格式化并建立Linux文件系统。...就该这么学》 书籍《鸟哥的Linux私房菜》
查看磁盘 # fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders...Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux.../dev/sda2 26 1301 10240000 83 Linux /dev/sda3 1301 1562...2097152 82 Linux swap / Solaris 查看磁盘使用率 # df -h Filesystem Size Used Avail Use% Mounted on...2097152 82 Linux swap / Solaris /dev/sda4 1562 1693 1056046+ 83 Linux Command
linux中一个新硬盘要想使用,必须先对其进行分区,然后格式化,最后挂载,这是为什么呢? 为什么要进行磁盘分区? 便于硬盘的规划、文件的管理。 ...具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控 制文件的存取,安全控制,日志,压缩,加密等 磁盘为什么需要挂载? 这是由Linux的文件系统管理决定的。...首先,Linux将所有的硬件设备都当做文件来处理,因此当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能对磁盘上面的文件进行操作。...其次,linux的系统组织方式是整个系统从根开始,按树形目录依次向下逐渐扩大,分类存放不同用途的文件,当其写作一个路径时,第一个/表示根,即root,其他的/表示路径分割符,但都读作“斜线”或“Slash...细讲磁盘分区: MBR模式分区规则 1.一块磁盘上主分区和扩展分区的个数总和不能超过4个 2.一块磁盘上最多只能有1个扩展分区 3.扩展分区中可以创建逻辑分区,个数限制视磁盘类型而定 操作: lsblk
概述 Linux磁盘管理好坏管理直接关系到整个系统的性能问题。 Linux磁盘管理常用三个命令为df、du和fdisk。...du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍Linux du命令。...fdisk fdisk 是 Linux 的磁盘分区表操作工具。 语法: fdisk [-l] 装置名称 选项与参数: -l :输出后面接的装置所有的分区内容。...1926 2052 1020096 82 Linux swap / Solaris # 装置文件名 启动区否 开始磁柱 结束磁柱 1K大小容量 磁盘分区槽内的系统...磁盘挂载与卸除 Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。
最近在自己win本搭建oracle rac集群玩,由于前期磁盘分配空间问题(低估了oracle相关软件安装包的大小),得重头再来。下面介绍一下磁盘扩容的操作。...1、vmware 加磁盘 2、fdisk -l 查看 3、fdisk /dev/sda 加分区 输入m查看帮助, 加分区用n, 输入w保存。...最后,让chatgpt写一段感言来凑够原创吧,哈哈哈哈。 亲爱的dba札记读者们,感谢你们一直以来对我们公众号的支持和关注。
一、挂载磁盘 1.查看磁盘列表、查看是否有硬盘未被挂载: >fdisk -l 可以看到/dev/sdb硬盘没有被挂载。 ...2.目标磁盘分区 >fdisk /dev/sdb 如下图,粉红色箭头处为输入命令,黄色箭头处直接回车 3.格式化目标磁盘 >mkfs.ext4 /dev/sdb1 .../fstab 添加一行 /dev/sdb1 /user_disk_10G ext4 defaults 0 0 二、卸载磁盘... 1.磁盘列表 >df -h 2、卸载磁盘sdb1 > umount /dev/sdb1 版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编
在上一个文章中详细了介绍了什么是混沌工程以及混沌工程执行的原则,和混沌工程实验中数据库调用延迟,下来详细的介绍另外一个混沌实验,也就是云服务器磁盘被写满的情况的模拟实验和解决思路。...实验的核心是模拟当服务器的磁盘写满的情况下,这个时候服务器就会成为只读的属性。...比如举个案例,当DB的服务器磁盘写满的情况下,那么这个时候DB服务器就成为只读属性,这个时候产品使用的数据库由于成为了只读属性,意味着使用这个DB的服务器就会出现大面积的瘫痪导致服务不可用。...下来首先模拟下磁盘写满的操作,在操作前首先查看磁盘已使用的空间以及可使用的空间,具体如下: 系统资源整体性的监控信息具体如下图所示。...那么在如上的实验中,需要思考的是在磁盘写满的情况下需要很快速的触发报警机制,然后来排查到底是什么原因导致磁盘空间写满以及针对情况需要给出具体的技术解决方案,同时也要能够快速的切换到一个正常的服务器继续让产品的服务能够提供服务
日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩; 1.查看磁盘空间 查看磁盘空间利用大小: df -h -h: human缩写,以易读的方式显示结果(即带单位...653M 查看当前目录下所有子文件夹排序后的大小: for i in `ls`; do du -sh $i; done | sort 或者: du -sh `ls` | sort 2.打包/ 压缩 在linux...总结 查看磁盘空间 df -h 查看目录大小 du -sh 打包 tar -cvf 解包 tar -xvf 压缩 gzip 解压缩 gunzip bzip
领取专属 10元无门槛券
手把手带您无忧上云