官网文档
| 固态硬盘(Solid-State Disks简称SSD) 是使用 NAND 闪存芯片持久存储数据的存储设备。 |
| 这使它们与前几代磁盘区分开来,前几代磁盘将数据存储在旋转的磁性盘片中。在SSD中整个逻辑块地址 (LBA) 范围内的数据访问时间是恒定的; |
| 而对于使用旋转介质的旧磁盘,跨越大地址范围的访问模式会产生寻道成本。因此SSD设备具有更好的延迟和吞吐量。 |
| 随着使用块的数量接近磁盘容量,性能会下降。性能影响的程度因供应商而异。但所有设备都会经历一些退化。 |
| 为了解决降级问题,主机系统(如Linux内核)可以使用丢弃请求来通知存储给定范围的块不再使用。 |
| SSD可使用此信息在内部释放空间,使用空闲块进行磨损均衡。仅当存储广告支持其存储协议(无论是ATA还是 SCSI)时才会发出丢弃。 |
| 使用特定于存储协议的协商丢弃命令(用于 ATA 的 TRIM 命令,设置 UNMAP 的 WRITE SAME 或用于 SCSI 的 UNMAP 命令)向存储发出丢弃请求。 |
| |
| 当满足以下几点时,启用丢弃支持最有用: |
| 1、文件系统上仍有可用空间 |
| 2、底层存储设备上的大多数逻辑块已经被写入 |
| |
| 并非所有的固态设备都支持discard。检查/sys/block/sda/queue/discard_granularity(这是设备内部分配单元的大小) 或者 使用命令lsblk --discard 来检测,非0表示支持 |
| |
| 以下是TRIM的类型 |
| 1、非确定性TRIM |
| 2、确定性TRIM |
| 3、TRIM后确定性读零 |
| |
| 注:前两种TRIM机制在TRIM返回不同或相同的数据后作为对LBA的读命令,会导致数据泄露。 |
| RZAT在读取命令后返回零,RedHat建议使用这种TRIM机制来避免数据泄漏。 它仅在SSD中受到影响 |
| |
| 查找TRIM机制的类型: |
| ~]# hdparm -I /dev/sda | grep TRIM |
| |
| 如果SSD不能正确处理丢弃则在SSD上使用RAID5会导致性能下降。 可以raid456.conf文件或GRUB2配置中设置丢弃 |
| |
在raid456.conf中设置丢弃
| 要在 raid456.conf 文件中启用丢弃 |
| 1、验证硬件是否支持丢弃: |
| ~]# cat /sys/block/sdb/queue/discard_zeroes_data |
| 如返回值为1则支持丢弃。如返回值为0,则RAID代码必须将磁盘归零 |
| 2、创建/etc/modprobe.d/raid456.conf文件,并包含以下行: |
| options raid456 devices_handle_discard_safely=Y |
| 3、使用该dracut -f命令重建初始 ramdisk (initrd) |
| 4、重新启动系统以使更改生效 |
| |
在 GRUB2 配置中设置丢弃
| 1、验证硬件是否支持丢弃: |
| # cat /sys/block/disk-name/queue/discard_zeroes_data |
| 如返回值为1则支持丢弃。如果命令返回0则 RAID 代码必须将磁盘归零 |
| 2、将以下行添加到/etc/default/grub文件中: |
| raid456.devices_handle_discard_safely=Y |
| 3、使用以下命令之一重新创建 GRUB2 配置文件 |
| 1)在具有 BIOS 固件的系统上: |
| # grub2-mkconfig -o /boot/grub2/grub.cfg |
| 2)在具有 UEFI 固件的系统上: |
| # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg |
| 4、重新启动系统以使更改生效 |
| |
| |
| 使用 mount 命令的丢弃选项在设备上启用丢弃命令。 如要将 /dev/sda2 挂载到 /mnt 并启用丢弃 |
| ~]# mount -t ext4 -o discard /dev/sda2 /mnt |
| |
| |
| 性能调优注意事项 |
| 有关固态磁盘的性能调整注意事项的信息,请参阅Red Hat Enterprise Linux 7 性能调整指南中的固态磁盘部分 |
| https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html-single/Performance_Tuning_Guide/index.html#sect-Red_Hat_Enterprise_Linux-Performance_Tuning_Guide-Considerations-Solid_State_Disks |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
2021-04-18 KVM中安装 Alpine3.13.5
2019-04-18 Centos7.x做开机启动脚本