当前位置: 首页 > news >正文

smartctl 设置硬盘的 write-caching

sg3

一、sg3查看缓存状态

您可以使用sg_modes命令来查看SAS盘和SATA盘的缓存状态。例如,要查看/dev/sdb设备的缓存状态,您可以执行以下命令:

sg_modes -p 8,0 /dev/sdb

二、sg3关闭机械盘写缓存状态(仅适用于SAS盘)

对于SAS盘,您可以按照以下步骤更改其读写缓存状态:

1、编辑缓存状态

使用vi编辑器创建或编辑一个名为mode_page.dat的文件,并设置适当的缓存状态值。对于关闭写缓存而开启读缓存,不同的磁盘厂商有不同的设置方式。以下是一些常见磁盘厂商的设置示例:

  • WD磁盘:

00:读缓存开启,写缓存关闭

04:读写缓存全部打开

01:读写缓存全部关闭

05:读缓存关闭,写缓存开启

  • Seagate和Toshiba磁盘:

10:读缓存开启,写缓存关闭

14:读写缓存全部打开

11:读写缓存全部关闭

15:读缓存关闭,写缓存开启

编辑mode_page.dat文件时,确保第一行包含正确的缓存设置值。例如,对于WD磁盘,关闭写缓存并开启读缓存,第一行可能如下:

88 12 00 00 ff ff 00 00 ff ff ff ff 00 08 00 00 00 00 00 00

请注意,您需要根据具体的磁盘型号选择正确的设置值。

2、将缓存状态写入磁盘

使用sg_wr_mode命令将编辑后的缓存状态写入磁盘。例如,要将mode_page.dat中的设置写入/dev/sdb设备,您可以执行:

sg_wr_mode -p 8,0 -c - -s /dev/sdb < mode_page.dat

3、验证缓存状态

为了确保缓存状态已成功更改,您可以再次使用sg_modes命令来查看:

sg_modes -p 8,0 /dev/sdb

检查输出中的相关位,以确保写缓存已按预期关闭。

Smartctl

一、使用smartctl查看和更改磁盘缓存状态

1、查看写缓存状态

您可以使用smartctl命令来查看SAS盘和SATA盘的写缓存状态。执行以下命令:

smartctl -g wcache /dev/sde

/dev/sde替换为您想要检查的磁盘设备名。

2、打开磁盘写缓存

要启用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=on /dev/sde

同样,将/dev/sde替换为相应的磁盘设备名。

3、关闭磁盘写缓存

要禁用SAS盘或SATA盘的写缓存,执行以下命令:

smartctl -s wcache=off /dev/sde

4、查看读缓存状态(仅限SAS盘)

对于SAS盘,您还可以使用smartctl查看读缓存状态:

smartctl -g rcache /dev/sde

5、打开磁盘读缓存(仅限SAS盘)

要启用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=on /dev/sde

6、关闭磁盘读缓存(仅限SAS盘)

要禁用SAS盘的读缓存,执行以下命令:

smartctl -s rcache=off /dev/sde

7、查看磁盘基础信息

使用smartctl-i选项,您可以查看磁盘的基础信息,包括型号、大小、容量和固件版本等:

smartctl -i /dev/sdb

请确保将/dev/sdb替换为您想要查询的磁盘设备名。

注意:

  • 使用smartctl更改磁盘缓存信息是临时性的。当系统断电或重启后,缓存设置将恢复为原状态。
  • 在更改缓存设置之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 对于某些磁盘,使用smartctl更改缓存设置可能不受支持或可能无效。在这种情况下,请参考磁盘的官方文档以获取正确的设置方法。
  • 错误的缓存设置可能导致数据丢失或系统不稳定,因此在进行任何更改之前,请务必备份重要数据。

Sdparm

一、使用sdparm查看和更改SAS磁盘缓存状态

1、查看写缓存状态

使用sdparm命令可以查看SAS盘和SATA盘的写缓存状态。对于SAS盘,执行以下命令:

sdparm --get=WCE /dev/sdb

对于SATA盘,虽然某些情况下可能也可以使用此命令,但请注意不是所有SATA控制器或驱动器都支持通过sdparm更改缓存设置。如果返回值为1,则表示写缓存已开启。

2、打开磁盘写缓存

若要启用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=1 --save /dev/sde

请注意,此命令仅适用于SAS盘,并且需要管理员权限来执行。

3、关闭磁盘写缓存

若要禁用SAS盘的写缓存,执行以下命令:

sdparm -s WCE=0 --save /dev/sde

同样,这也仅适用于SAS盘,并需要相应的权限。

4、查看读缓存状态

对于SAS盘和某些SATA盘,您可以使用sdparm查看读缓存状态:

sdparm --get=RCD /dev/sdb

返回值0表示读缓存已开启,而1则表示读缓存已关闭。

5、打开磁盘读缓存

若要启用SAS盘的读缓存(如果之前被关闭),执行以下命令:

sdparm -s RCD=0 --save /dev/sde

这同样仅适用于SAS盘,并需要管理员权限。

6、关闭磁盘读缓存

若要禁用SAS盘的读缓存,执行以下命令:

sdparm -s RCD=1 --save /dev/sde

这也仅适用于SAS盘,并需要相应的权限。

  • 在执行任何缓存更改之前,请确保您了解这些更改对系统性能和数据完整性的影响。
  • 并非所有磁盘或控制器都支持通过sdparm更改缓存设置。在执行这些命令之前,请查阅您的磁盘和控制器文档以确认兼容性。
  • 更改缓存设置可能会影响磁盘性能和数据持久性。务必在了解这些影响之后进行更改,并在进行任何更改之前备份重要数据。
  • 某些更改可能是临时性的,并且在重启或断电后可能不会保持。确保测试更改的持久性,并根据需要进行调整。

SATA 盘和 SAS 盘可以分别通过 hdparm 和 sdparm 来设置它的 write-caching 属性。

但是在有的情况下,系统上没有安装这两个工具,还可以考虑使用 smartctl 工具来设置。smartctl 的 –get 和 –set 参数可以用来查询和设置非 SMART 的属性,其中就包括了写缓存属性 wcache

查看当前硬盘当前的 wcache 值:

[root@chenhong204 ~]# smartctl --get=wcache /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWriteback Cache is:   Enabled

关闭写缓存:

[root@chenhong204 ~]# smartctl --set=wcache,off /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWrite cache disabled

开启写缓存:

[root@chenhong204 ~]# smartctl --set=wcache,on /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-693.el7.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.orgWrite cache enabled

特别需要注意的是,用 smartctl 设置的值不能持久化,即重启后会恢复默认值。

相关文章:

smartctl 设置硬盘的 write-caching

sg3 一、sg3查看缓存状态 您可以使用sg_modes命令来查看SAS盘和SATA盘的缓存状态。例如&#xff0c;要查看/dev/sdb设备的缓存状态&#xff0c;您可以执行以下命令&#xff1a; sg_modes -p 8,0 /dev/sdb 二、sg3关闭机械盘写缓存状态&#xff08;仅适用于SAS盘&#xff09…...

【Spring AI】Java实现类似langchain的向量数据库RAG_原理与具体实践

介绍一下RAG&#xff1a; 检索增强生成&#xff08;RAG&#xff09;是一种技术&#xff0c;它结合了检索模型和生成模型来提高文本生成的质量。通过从企业私有或专有的数据源中检索相关信息&#xff0c;并将这些信息与大型语言模型相结合&#xff0c;RAG能够显著减少模型产生幻…...

linux下使用systemctl设置开机自动运行程序

本文介绍在Linux下&#xff0c;使用systemctl设置开机自动运行程序&#xff0c;实现创建一个systemd服务单元文件&#xff0c;并启用该服务的方法。 1、创建.service文件 在/etc/systemd/system/目录下创建一个以.service结尾的文件&#xff0c;例如myapp.service&#xff1a…...

复位电路的亚稳态

复位导致亚稳态的概念&#xff1a; 同步电路中&#xff0c;输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输&#xff08;数据在这个时间段内必须保持不变&#xff1a;1不能变为0&#xff0c;0也不能变为1&#xff09;&#xff0c;防止亚稳态&#xff1b; …...

针对考研的C语言学习(循环队列-链表版本以及2019循环队列大题)

题目 【注】此版本严格按照数字版循环队列的写法&#xff0c;rear所代表的永远是空数据 图解 1.初始化部分和插入部分 2出队 3.分部代码解析 初始化 void init_cir_link_que(CirLinkQue& q) {q.rear q.front (LinkList)malloc(sizeof(LNode));q.front->next NULL…...

系统架构设计师教程 第12章 12.4 信息系统架构案例分析 笔记

12.4 信息系统架构案例分析 ★★★★☆ 12.4.1 价值驱动的体系结构——连接产品策略与体系结构 1.价值模型概述 价值模型核心的特征可以简化为三种基本形式。 (1)价值期望值&#xff1a;表示对某一特定功能的需求&#xff0c;包括功能、质量和不同 级别质量的实用性。 (2)…...

web1.0,web2.0,web3.0 有什么区别 详解

Web 的发展经历了多个阶段&#xff0c;每个阶段都有其独特的特点和技术进步。下面是 Web 1.0、Web 2.0 和 Web 3.0 之间的主要区别和详细解释&#xff1a; Web 1.0 时间范围&#xff1a;大约在 1991 年至 1995 年。 Web 1.0 是互联网的最初形态&#xff0c;也被称为静态 Web…...

将图片添加到 PDF 的 5 种方法

需要一种称为 PDF 编辑器的特定工具才能将图片添加到 PDF。尽管大多数浏览器在查看和注释 PDF 文件方面都非常出色&#xff0c;但如果您使用图像到 PDF 技术&#xff0c;则只能将照片放入 PDF 中。无需修改即可将 PDF 文件恢复为原始格式的能力是使用此类软件程序甚至在线服务的…...

TiDB 优化器丨执行计划和 SQL 算子解读最佳实践

导读 在数据库系统中&#xff0c;查询优化器是数据库管理系统的核心组成部分&#xff0c;负责将用户的 SQL 查询转化为高效的执行计划&#xff0c;因而会直接影响用户体感的性能与稳定性。优化器的设计与实现过程充满挑战&#xff0c;有人比喻称这是数据库技术要持续攀登的珠穆…...

初学51单片机之I2C总线与E2PROM以及UART简单实例应用

这是I2C的系列的第三篇&#xff0c;这篇主要是写一个简单的程序来实践一下相关的内容。前面博主写过一个电子密码锁的程序初学51单片机之简易电子密码锁及PWM应用扩展_51单片机设计电子密码锁-CSDN博客 本篇主要是在此基础上修改下程序&#xff0c;让密码存储在E2PROM中&#…...

软考高级软件架构师论文——论Web系统的测试技术及其应用

【摘要】 本人于2023年8月参与了某地级市的市级机关电子政务信息系统的建设工作,该项目是该市机关的电子政务网建设计划的一部分,笔者在该项目中担任项目经理和系统分析师一职,主要负责项目的日常全面管理和质量保证与质量控制工作。该项目是基于WEB系统的,由于WEB系统具有…...

快速总结AFPN

AFPN: Asymptotic Feature Pyramid Network for Object Detection 解决的问题 特征金字塔架构的提出是为了解决尺度变化的问题&#xff0c;图像中物体真正有用的特征在顶部最高层需要通过多个中间尺度传播&#xff0c;并与这些尺度的特征交互&#xff0c;才能与底部的低层特征…...

Linux 内核中USB鼠标枚举失败问题总结

一、环境&#xff1a; 机器平台&#xff1a;linux 内核版本&#xff1a;linux-3.4 二、问题&#xff1a; USB鼠标接入后报错&#xff0c;log显示设备无法枚举 usb 1-1: new low-speed USB device number 10 using musb-hdrc hub 1-0:1.0: unable to enumerate USB device o…...

十六进制转二进制

128 64 32 16 8 4 2 1 十六进制&#xff1a;0~9ABCDEF&#xff08;A是10、B是11、C是12、D是13、E是14、F是15&#xff09; 每一个十六进制位转换成4个二进制位&#xff0c;左边不足4个补0 示例&#xff1a; 109CBE&#xff1a;0001 0000 1001 1100 1011 1110 8 4 2 1 1 …...

Python保存CSV文件,Excel打开后中文乱码

情况描述 在做多语言文件处理时&#xff0c; 使用 pandas&#xff0c; 并且指定了encoding为 UTF-8&#xff0c; 在 IDE&#xff0c; Sublime等编辑器上查看都显示正常&#xff0c;使用Excel打开非英文字符&#xff0c; 例如汉字&#xff0c; 阿拉伯文&#xff0c; 希伯来文等显…...

数据湖数据仓库数据集市数据清理以及DataOps

一提到大数据我们就知道是海量数据&#xff0c;但是我们并不了解需要从哪些维度去考虑这些数据的存储。比如 数据湖、数据仓库、数据集市&#xff0c;以及数据自动化应用DataOps有哪些实现方式和实际应用&#xff0c;这篇文章将浅显的做一次介绍。 数据湖 数据湖是一种以自然…...

「Ubuntu」文件权限说明(drwxr-xr-x)

我们在使用Ubuntu 查看文件信息时&#xff0c;常常使用 ll 命令查看&#xff0c;但是输出的详细信息有些复杂&#xff0c;特别是 类似与 drwxr-xr-x 的字符串&#xff0c;在此进行详细解释下 属主&#xff1a;所属用户 属组&#xff1a;文件所属组别 drwxr-xr-x 7 apps root 4…...

JS-学生管理系统(功能实现)

基础知识点掌握&#xff1a; 1.DOM节点 首先DOM树当做一颗到着生长的树&#xff0c;DOM树里面的每一个内容称为节点 节点类型&#xff1a; 属性节点元素节点文本节点其他 2.查找节点&#xff1a; 查找节点分为3个类型&#xff1a; 父节点子节点兄弟节点 &#xff08;1&…...

C# 屏幕录制工具

屏幕录制工具 开发语音&#xff1a;C# vb.net 下载地址&#xff1a;https://download.csdn.net/download/polloo2012/89879996 功能&#xff1a;屏幕录制&#xff0c;声卡采集&#xff0c;麦克风采集。 屏幕录制&#xff1a;录制屏幕所有操作&#xff0c;并转换视频格式&…...

前端开发攻略---前端ocr图片文字提取功能

1、引入资源 通过链接引用 <script src"https://cdn.bootcdn.net/ajax/libs/tesseract.js/5.1.0/tesseract.min.js"></script> npm或其他方式下载 npm i tesseract 2、示例 <!DOCTYPE html> <html lang"en"><head><meta…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...