首页
公共接口
每周Music
友链
Armour
微软太空望远镜
国际空间站实时位置
Search
1
RB2011升级固件,RB2011刷机
58 阅读
2
关于新栏目接口的说明
56 阅读
3
RouterOS配置OpenVPN客户端以及服务端
52 阅读
4
自己封装ESXI的驱动
46 阅读
5
CentOS同步时间
42 阅读
NAS
服务器
笔记记录
网络
Armour
EVE-NG
Space
Nginx
登录
Search
DKM
累计撰写
98
篇文章
累计收到
0
条评论
首页
栏目
NAS
服务器
笔记记录
网络
Armour
EVE-NG
Space
Nginx
页面
公共接口
每周Music
友链
Armour
微软太空望远镜
国际空间站实时位置
搜索到
19
篇与
笔记记录
的结果
2024-07-17
利用ovpn隧道配合EoIP做透L2协议
首先是配置OpenVPN的链路,此处省略,并配置静态路由配置静态路由后,假设R1的IP地址是172.16.80.1,R2的IP地址是192.168.31.1这两端路由器都可以相互ping通,下面设置EoIP链路的信息R1的配置 /interface eoip add name=eoip-tunnel1 remote-address=192.168.31.1 tunnel-id=1 R2的配置 /interface eoip add name=eoip-tunnel1 remote-address=172.16.80.1 tunnel-id=1 简单讲解: EoIP配置相较简单,多数情况下是在内网内的L2协议透传使用较多,实际可以理解为 用L3协议去承载L2协议,MTU限制为1450,与传统的L2以太网有区别。识别链路隧道的编号使用的是Tunnel-id字段来识别,可隔离相互间的EoIP隧道。如果有VLAN则自动将EoIP链路的接口设置为tagged all,需要添加进bridge,该bridge下的所有VLAN与对端EoIP添加的bridge下相同的VLAN会通信,不同的默认不通
2024年07月17日
5 阅读
0 评论
0 点赞
2024-05-24
MikroTik封禁某个特定软件或者特定网站的服务并重定向到禁止的页面
很久没更新MikroTik的技术文章了,这次更新一个封禁网站以及特定软件服务的方法,HTTP与HTTPS两种协议均可以正常封禁并重定向,稍后放出方法。此方法需要配合一台HTTP服务器(理论上可以使用MikroTik自带的HTTP服务器),推荐使用Windows Server 2012及以上版本安装IIS 10.0(其他的也可以,IIS操作比较简单)前置配置:IIS服务器的IP地址为100.64.1.5DNS服务器:218.4.4.4,223.6.6.6,8.8.8.8MikroTik端的配置开启DNS缓存以及设置路由器端的DNS服务器 /ip dns set allow-remote-requests=yes cache-size=4096KiB servers=218.4.4.4,223.6.6.6,8.8.8.8 #开启DNS53端口挟持(注意这个非常重要) /ip firewall nat add action=redirect chain=dstnat comment=dns_UDP/MAIN_NET dst-port=53 protocol=udp to-ports=53 add action=redirect chain=dstnat comment=dns_TCP/MAIN_NET dst-port=53 protocol=tcp to-ports=53 #配置硬件加速(如果不是专用硬件区别不大) /ip firewall filter add action=fasttrack-connection chain=forward dst-port=53 hw-offload=yes protocol=tcp add action=fasttrack-connection chain=forward dst-port=53 hw-offload=yes protocol=udp 下面一步比较重要,需要封禁DoT服务,很多软件内置了DoT(Domain over TLS)不封禁可能会出现部分软件正常工作无法控制协议。 /ip firewall filter add action=drop chain=forward dst-port=853 protocol=tcp add action=drop chain=forward dst-port=853 protocol=udp到这里没有完,这里需要讲一下具体实现的原理,MikroTik里面有一个静态DNS,这个静态DNS可以是domain静态DNS也可以是regexp(正则表达式)静态DNS,说到这里大概都能想到一种原理就是用的SNI(Server Name Indication),TLS下的Relay Hello数据包,这里就带过一下不讲;DNS请求的53端口,数据包没有加密过,可以读取DNS数据包内请求的Domain,正则表达式是直接读取请求的Domain是否包含设置的regexp的字段,如果存在那就直接DNS Static解析到100.64.1.5这台服务器上,由这台服务器返回网页被封禁的页面。下面来着重讲一下如何获取regexp的值;例如:我需要封禁2345,到百度搜索一下2345这个公司所有的网站 你会发现他所有的域名都携带xxx.2345.xxx,那么这个公司的大部分服务就是2345这个为重点字段那我在MikroTik上配置Static DNS的条目 /ip dns static add address=100.64.1.5 regexp=2345 ttl=5s上面的ttl为生效时间,ttl=5s就是5秒后自动生效下面转到Windows Server的IIS上操作,安装IIS我就不演示了,因为默认安装的IIS就可以运行我需要的服务,不需要安装扩展的CGI下面我给一段封禁网页的HTML代码,并附上下载通道<head><title>网站已禁止访问</title></head> <img src=".\img\pic1.jpg" alt="给你个图片看看" /> <p>这个网站被我吃了,现在不允许打开</p>下载文件 创建一个站点,这里设置你的目录并设置一个连接的用户,不然文件IIS服务器没有权限去访问。 下面需要配置这个站点的IP地址以及端口,因为上面需要重定向到这个服务器上,不然是无法显示网站被禁止的页面,主机名不要填写,留空即可。 使用keymanager签发一个证书,然后导出成pfx格式,这个证书只是为了开启IIS监听443端口,没有实际使用的用途,然后到Windows Server上直接安装这个证书打开IIS的编辑绑定的设置页面 现在这个IIS的443端口被开启监听了,下一步操作就是设置这个站点的404页面,由于大部分请求网页肯定都是带URL请求的网页,如果在IIS上的话那肯定会报错404,要解决这个方法那就直接把404页面解决了就行,怎么解决呢,那就把上面的那个HTML文件设置成404页面啊 现在这个网站实际上是可以工作了,下面测试一下MikroTik的DNS挟持是不是正常工作,我这里试着请求一下2345的网站(使用nslookup)#不指定DNS服务器默认请求 ping www.2345.com #指定DNS服务器定向请求 nslookup www.2345.com 223.5.5.5查看结果 因为ipv6优先级比较高,因为没有配置ipv6的防火墙配置,所以实际上ipv6没限制,这里不能直接不指定DNS服务器nslookup,但是解决方法也很简单,这种方法原封不动在路由器ipv6 firewall上相同方法配置一下即可,区别相差不大。现在打开网页测试一下是不是被封禁了 测试一下带URL的网页 这个SSL证书显示不安全是因为这个证书是自签发证书,而且证书没有绑定任何域名;解释一下这个HTTPS拦截的原理,以及显示错误页的服务器为什么要设置HTTPS监听;第一点,现在多数网页都是用的HTTPS,如果被挟持到本地的服务器上必须要求本地服务器支持HTTPS协议以及对应的端口,IIS配置HTTPS主要就是开HTTPS的服务端口;第二点,HTTPS请求后对于服务器来讲是使用2345的域名直接去访问这个服务器上的资源,不需要解析HTTPS协议即可,也不需要使用SNI(实现比较复杂,也可以实现)Windows11支持DoH(Domain over HTTPS),想要封禁就直接在DNS Static里面填入DoH服务器的域名(因为DoH服务器也需要经过DNS请求获取到DoH服务器的IP地址),不能直接封禁,因为DoH使用的是443端口,封禁会造成其他网站无法正常访问常用的DoH服务器地址 点我跳转
2024年05月24日
15 阅读
0 评论
0 点赞
2023-09-18
封禁加密DNS协议的方法
DoTDoT协议使用的是TLS1.2 TCP 853端口,所以封禁该协议就通过防火墙禁止出站目标端口为853 TCP/UDPMikroTik RouterOS防火墙命令(RouterOS全系列通用) /ip firewall filter add action=drop chin=output dst-port=53 protocol=udp /ip firewall filter add action=drop chin=output dst-port=53 protocol=tcpDoHDoH的全称是DNS over HTTPS,看到HTTPS的意思就是,该协议使用443端口,也就是说这里不能使用上面的方法封禁;需要封禁就要开启DNS缓存和配置DNS挟持,这里有现成的文章DNS挟持 在静态DNS里面添加DoH的域名,让DNS over HTTPS的HTTPS无法实现(不需要封禁CDN)DoQ目前QUIC协议未定为标准,大多数QUIC协议的部署端口是UDP 443,所以这里暂定封禁方法为封禁UDP的443端口,目前大多数Web服务器都不支持QUIC协议,仅Caddy支持QUIC协议。但是在DoQ协议手册得知,DoQ协议端口可以是自定义端口,没有标明默认端口号;暂定无法彻底封禁在MikroTik上封禁DNS over QUIC /ip firewall filter add action=drop chin=output dst-port=443 protocol=udp这里请勿封禁443 TCP,如果封禁了所有网站将无法打开
2023年09月18日
23 阅读
0 评论
0 点赞
2023-09-08
RouterOS配置OpenVPN客户端以及服务端
MikroTik RouterOS配置服务端RouterOS版本7.10{card-describe title="卡片描述"}此处建议使用MikroTik官方的硬件,x86的设备没有Cloud功能,如果是专线固定IP地址则不需要考虑{/card-describe}创建CA证书system->Certificates点击+号下面是需要填写的参数参数名参数NameCACommon NameCASubject Alt. NameIP截图示意 然后到第二页Key Usage,勾上几个参数 点击右侧Apply,然后再点击sign,点击sign之后第一行选择刚才创建的证书,第二行留空,第三行填写路由器的IP地址,如下图所示 点击start开始签名创建服务端的证书参数如下参数名参数NameServerCommon NameServerSubject Alt. NameIPKey Usage选择下图几个参数 点击Apply,然后再点击SignSign页面选择如下 然后签名完了之后需要打开证书,勾选此项参数(Trusted参数) 创建客户端证书创建基本步骤如上基本一致,Key Usage参数仅需要勾选一个tls client 如图所示 点击右侧Apply,再点击Sign,签名方法与之前服务器证书方法一致签名后需要和服务端证书一样,需要勾选Trusted参数配置OpenVPN服务端配置前需要导出CA证书和Client客户端的证书双击证书,点击Export 客户端证书需要自己创建密码,导出后会生成三个文件,CA证书的crt文件,Client客户端的crt文件和Client客户端的key文件配置OpenVPN服务端参数PPP->Interface->OpenVPN Servertips:部分区域的BAS限制OpenVPN的1194端口,所以这里改成自定义端口(我这里使用的是9999端口)详细配置如下图所示,注意:这里的配置参数客户端要与这一致,否则客户端无法正常连接服务端 创建OpenVPN用户PPP->Secrt 自此处,服务端配置已完成,现在配置客户端在服务端那台路由器上的Files处下载客户端证书和密钥以及CA证书上传到OpenVPN客户端下的Files处,打开System->Certificates->Import导入CA证书以及客户端证书和客户端密钥(客户端证书和密钥需要分两次导入)导入CA证书(如果导出的时候上了密码需要填写密码,并且再导入CA的密钥文件) 导入客户端证书(如果导出的时候上了密码需要填写密码,并且导入客户端的密钥文件) 现在准备连接OpenVPN服务器创建OpenVPN Client接口 配置OpenVPN的连接信息,必须与之前的服务端参数一致(加密协议可以选择已使用的协议) 最后点击Apply(如果配置正确,点击Apply之后自动连接) 查看IP地址
2023年09月08日
52 阅读
0 评论
0 点赞
2023-07-05
ONU、ONT、ODN、OLT、OTN的区别
ONU、ONT这两个都属于用户端设备,ONT是ONU的一种,也包含在ONU内,ONT是光终端用户,应该说最后一端的上网设备;通俗一点就是用户不一定是通过ONU直接接入的,中间可能还有其他的方式传输例如FTTB(光纤到楼)。ONU是指光网络单元,一般可以指用户端例如FTTH(光纤到户);ONT是ONU的组成部分ODNODN是从OLT处到用户端ONU或者ONT之间的设备,这类设备属于物理无源设备(无源的意思就是不需要额外供电),最主要的设备是分光器,干线光缆组成。OLTOLT是光线路终端或称运营商局端设备,是用于接入承载网的重要设备;OLT可以批量管理下发用户端的ONU设备参数,以及对设备进行吞吐量限制,物理隔离开各个用户端;OTNOTN是光传送网,是一种波分复用技术为基础的下一代传送网技术。OTN的可扩容能力强,交叉容量可扩容到几十甚至上百Tbps的容量。支持异步映射,拥有SDH以及WDM两种技术的优点。ONU和OLT之间的区别ONU下挂在OLT的PON口下,一个PON口能接多个ONU用户端EPON 最大32个ONUXE-PON(10G EPON) 最大64个ONUGPON 实际数量未知XG-PON(10G GPON) 实际数量未知XGS-PON 目前未知(Tip2:GPON,XG-PON,XGS-PON三种协议可以共存)(Tip2:EPON,XE-PON协议可以共存)以当前最新的华为OLT为例XG-PON业务板,单PON口最大可开512户XG-PON以及256户GPON,共计768户(据现不可靠消息,目前华为OLT最新的OLT业务板,单PON口可开1024户XG-PON以及384户GPON,共计1408户单PON口)OLT和ONU之间的主要关系是,OLT可派发传单到ONU,ONU照着传单完成OLT的要求,从而实现用户功能。例:某地OLT下发用户PPPoE的VLAN ID是48,IPTV是110,VoIP是118,MPLS业务是122如果使用人工去人为的手动调整会大大增加维护成本,那么我们可以这样,通过在局端设备上设置模板,我只要从局端下发一个配置文件到ONU上自动设置参数就行,免去了手动配置的环节,大大提升了效率
2023年07月05日
19 阅读
0 评论
0 点赞
2023-06-22
POE协议详解
POE协议分为,802.3af 802.3at 802.3bt(从供电功率小到大排序) 功率对应为:12.9Watt 30Watt 90Watt一般情况下PoE的实施条件为两端,这里以AB为例,A端为POE供电端(PSE;Power Sourcing Equipment);B端为POE受电设备(PD;PowerDevice)常见的PSE设备有:标准POE供电器、POE交换机、路由器POE交换板卡、带POE功能AC控制器、带POE功能NVR常见的PD设备有:POE供电无线AP、PoE中继器、标准POE分离器、POE监控摄像头、POE供电小型交换机、POE供电小型路由器等标准的超五类网线为八根线(四对双绞线)POE的工作过程(仅限标准POE规范或国标POE规范)供电前PSE设备检测对端设备,检测方法为用过一个低电压的电流去测试对端设备是不是支持标准POE当经过上方检测时,PSE设备将输出48v直流电到对端设备,在输出的过程中会逐渐提升功率等级,在提升功率的过程中,对端设备会返回一个功率等级给PSE设备,PSE设备在接受到功率等级后会自动调整功率限制对对端设备供电。如果设备没有回应功率等级,那么PSE仅输出最低等级功率给对端设备。如果PSE设备在第一步就没有检测到对端是PD设备,那么PSE设备将不会给PD设备供电,仅提供传输信号使用(针对标准PSE设备以及标准PD设备)PSE会实时检测对端设备端口,如果出现超载、短路等情况,PSE设备将会停止向PD设备供电,该端口进入保护模式标准PSE设备的直流输出电压在44-57v之间(一般为48v)工作分级为Class 0~3Class0设备需要的最高工作功率为0~12.95WattClass1设备需要的最高工作功率为0~3.84WattClass2设备需要的工作功率介于3.85W~6.49WattClass3设备的功率范围则介于6.5~12.95Watt802.3at协议输出电压缺省值为50v,最大工作功率为30Watt工作分级为Class4Class4设备可用功率为25.5Watt802.3bt协议输出电压缺省值为50v,最大工作功率为90Watt工作分级为Class5~8Class5设备可用功率为40WattClass6设备可用功率为51WattClass7设备可用功率为62WattClass8设备可用功率为71Watt802.3BT汇总表 Tips:从上表可知,802.3BT向下兼容802.3AF以及802.3AT标准协议设备支持POE协议的网线(没错,对应的协议还需要网线的支持)
2023年06月22日
6 阅读
0 评论
0 点赞
2023-06-20
PHP:/usr/bin/env: php: No such file or directory
遇到类似问题,例如:/usr/bin/env: php: No such file or directory找不到 php 的执行文件,原因是脚本文件 env 会通过 $PATH 所指定的路径去寻找 php 的可执行文件解决方法首先寻找php可执行文件存放的位置 find / -name php 然后通过查找出的文件绝对位置/绝对位置/php -v如果有返回PHP版本,那么就是这个PHP可执行文件存放的位置创建软连接,用于对应CLI直接输入php -v获取PHP版本信息ln -s /绝对路径/php /usr/local/bin/php测试php -v如果返回的是PHP版本,那么这个操作就对了
2023年06月20日
9 阅读
0 评论
0 点赞
2023-06-13
Nginx不能正常反向代理目标网站
很多情况下会遇到反向代理目标网站,由于目标网站的设置,反向代理不成功,需要在配置文件中间写入以下参数设置自定义Host以及传递真实客户端IP地址到服务器Nginx的虚拟服务器功能是通过虚拟主机的Host名称区分网站与服务的,所以会将网站与虚拟Host进行绑定,通过请求的Host区分访问的是哪个网站,当反向代理的站点不设置自定义Host,那么这个Nginx服务器反向代理的时候是传递的客户端请求反向代理服务器的Host到被反向代理的网站;又因为被反向代理的服务器没有这个主机名,所以会造成网站无法正常访问;因此需要在Nginx内设置一个自定义Host,在访问到这个反向代理的Nginx虚拟服务器时,会把传递到被代理网站的Host名称改为自定义的Host名称,从而实现不同虚拟主机名访问同一个网站Nginx还有一个重要的参数就是请求IP地址,当服务器不传递客户端真实IP地址时,那么所有的客户端请求反向代理的服务器时,对于被代理网站来讲,所有客户端请求的IP地址都为反向代理服务器的IP地址,不为客户端IP地址;假设服务器设置单IP地址访问数量限制时,反向代理服务器在高并发访问的情况下被代理网站服务器限制访问,或者禁用访问权限,导致反向代理服务器无法正常访问。配置文件写法 server { listen 80; server_name virtual_machine_name; location / { proxy_pass proxy_web_pass; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host proxy_virtual_name; } }
2023年06月13日
17 阅读
0 评论
0 点赞
2023-04-01
Windows共享打印机报错0x00000709解决方法
2021年九月份的一个Windows更新KB5005565补丁和固化补丁KB5006667导致的问题,此问题无法通过其他手段解决,固化之后这个补丁均不可卸载,目前可解决的方法有多种,但不包含卸载补丁更新和重启打印机服务的操作,这两种方法均无效;解决方式一:客户端与服务器都更新最新的Windows版本,以解决此类报错;或者服务器与客户机降级Windows版本,不更新补丁;本补丁需要双端都存在或者双端都不存在。解决方式二:降级补丁,通过脚本降级Windows已更新的补丁包,这里我放出一个用于降级补丁包的文件;本文件为未更新补丁包系统内获取,非篡改文件,悉知,谢谢~文件截图 使用方法为管理员身份启动脚本,并且dll文件存在的情况下以倒退补丁注意:服务端和客户端都必须运行一次这个脚本,如果你不知道是那一端的问题,那就客户端和服务端都安装一次(Windows10以下版本不需要倒退版本)文件下载地址:备注:修复专业工作站版使用专业版修复
2023年04月01日
7 阅读
0 评论
0 点赞
2022-12-01
RIP动态路由协议
以思科Packet Tracer为例下图制造了一个拓补图, 这个拓补图的地址表是设备均为三层交换机SW1 vlan 1 192.168.22.1/24G0/1 172.16.1.1/24G0/2 172.16.3.2/24SW2vlan 1 192.168.23.1/24G0/1 172.16.2.1/24G0/2 172.16.1.2/24SW3vlan 1 192.168.24.1/24G0/1 172.16.3.1/24G0/2 172.16.2.2/24上图所有交换机需要全部开启路由模式ip routing然后使用rip命令开启RIP动态路由router rip network IP段 #这里的IP地址段是路由器接口上IP所在的IP地址段,其他路由器的不需要开完之后查看路由表是否收敛 图片得知,头部显示R的为RIP动态收敛的路由表,解析RIP的收敛原理启用RIP路由协议的路由器或者三层交换机会对邻居三层开启RIP的设备发送广播报文,携带本机对外开放网段,lRIP动态路由协议最大支持设备数量为15个,超过就无法使用
2022年12月01日
8 阅读
0 评论
0 点赞
2022-11-30
NTFS分区三个重要参数的计算过程
分区总扇区数的计算进入分区0号扇区(WinHex点击一下分区自动跳转到0扇区)当前位置偏移到6291456(十进制偏移)扇区(大约是3GB大小的位置)*截图一张找到偏移之后的右侧ASCII字符串的$MFT(对应的Hex是24 00 4D 00 46 00 54),左侧24 00 4D 00 46 00 54下一行的开头为MFT的80属性,80属性向下第四行为簇流运行,下截图为例 如图所示 31 40 00 00 0C 分解第一个数字 31 后面的1代表 31 数字后1个字节 (这里指的是40)前面的3代表40后面三个字节(00 00 0C);这里读取的时候直接跳过一个字节读取连续三个字节的参数; 上图示范2:假设80属性下的簇流运行的参数为33 40 21 30 00 00 51 则这里直接跳过33后面三个字节之后读取连续三个字节参数;读取参数的方法,打开数据解释器,点击后面需要连续读取参数的第一个字节,查看数据解释器的32bit参数 此处的参数得知为786432然后从此处向下偏移12个扇区(十进制12)到$Bitmap文件位置,使用模板读取Bitmap文件大小 从上图得知,Bitmap的大小为491424字节计算簇大小,使用公式:簇大小 = $MFT文件位置 / 上图得到簇流运行参数 分区总扇区数 = Bitmap大小 8 簇大小 -1上图参数可直接计算簇大小的数值为:6291456 / 786432 = 8分区总扇区数 = 491424 8 8 - 1 = 31451135
2022年11月30日
5 阅读
0 评论
0 点赞
2022-11-26
硬盘SMART表参数详解
01(001)底层数据读取错误率 Raw Read Error Rate数据为0或任意值,当前值应远大于与临界值。 底层数据读取错误率是磁头从磁盘表面读取数据时出现的错误,对某些硬盘来说,大于0的数据表明磁盘表面或者读写磁头发生问题,如介质损伤、磁头污染、磁头共振等等。不过对希捷硬盘来说,许多硬盘的这一项会有很大的数据量,这不代表有任何问题,主要是看当前值下降的程度。 在固态硬盘中,此项的数据值包含了可校正的错误与不可校正的RAISE错误(UECC+URAISE)。注:RAISE(Redundant Array of Independent Silicon Elements)意为独立硅元素冗余阵列,是固态硬盘特有的一种冗余恢复技术,保证内部有类似RAID阵列的数据安全性。02(002)磁盘读写通量性能 Throughput Performance此参数表示硬盘的读写通量性能,数据值越大越好。当前值如果偏低或趋近临界值,表示硬盘存在严重的问题,但现在的硬盘通常显示数据值为0或根本不显示此项,一般在进行了人工脱机SMART测试后才会有数据量。03(003)主轴起旋时间 Spin Up Time主轴起旋时间就是主轴电机从启动至达到额定转速所用的时间,数据值直接显示时间,单位为毫秒或者秒,因此数据值越小越好。不过对于正常硬盘来说,这一项仅仅是一个参考值,硬盘每次的启动时间都不相同,某次启动的稍慢些也不表示就有问题。硬盘的主轴电机从启动至达到额定转速大致需要4秒~15秒左右,过长的启动时间说明电机驱动电路或者轴承机构有问题。旦这一参数的数据值在某些型号的硬盘上总是为0,这就要看当前值和最差值来判断了。 对于固态硬盘来说,所有的数据都是保存在半导体集成电路中,没有主轴电机,所以这项没有意义,数据固定为0,当前值固定为100。04(004)启停计数 Start/Stop Count这一参数的数据是累计值,表示硬盘主轴电机启动/停止的次数,新硬盘通常只有几次,以后会逐渐增加。系统的某些功能如空闲时关闭硬盘等会使硬盘启动/停止的次数大为增加,在排除定时功能的影响下,过高的启动/停止次数(远大于通电次数0C)暗示硬盘电机及其驱动电路可能有问题。 这个参数的当前值是依据某种公式计算的结果,例如对希捷某硬盘来说临界值为20,当前值是通过公式“100-(启停计数/1024)”计算得出的。若新硬盘的启停计数为0,当前值为100-(0/1024)=100,随着启停次数的增加,该值不断下降,当启停次数达到81920次时,当前值为100-(81920/1024)=20,已达到临界值,表示从启停次数来看,该硬盘已达设计寿命,当然这只是个寿命参考值,并不具有确定的指标性。 这一项对于固态硬盘同样没有意义,数据固定为0,当前值固定为100。05(005)重映射扇区计数 Reallocated Sectors Count/ 退役块计数 Retired Block Count数据应为0,当前值应远大于临界值。当硬盘的某扇区持续出现读/写/校验错误时,硬盘固件程序会将这个扇区的物理地址加入缺陷表(G-list),将该地址重新定向到预先保留的备用扇区并将其中的数据一并转移,这就称为重映射。执行重映射操作后的硬盘在Windows常规检测中是无法发现不良扇区的,因其地址已被指向备用扇区,这等于屏蔽了不良扇区。 这项参数的数据值直接表示已经被重映射扇区的数量,当前值则随着数据值的增加而持续下降。当发现此项的数据值不为零时,要密切注意其发展趋势,若能长期保持稳定,则硬盘还可以正常运行;若数据值不断上升,说明不良扇区不断增加,硬盘已处于不稳定状态,应当考虑更换了。如果当前值接近或已到达临界值(此时的数据值并不一定很大,因为不同硬盘保留的备用扇区数并不相同),表示缺陷表已满或备用扇区已用尽,已经失去了重映射功能,再出现不良扇区就会显现出来并直接导致数据丢失。 这一项不仅是硬盘的寿命关键参数,而且重映射扇区的数量也直接影响硬盘的性能,例如某些硬盘会出现数据量很大,但当前值下降不明显的情况,这种硬盘尽管还可正常运行,但也不宜继续使用。因为备用扇区都是位于磁盘尾部(靠近盘片轴心处),大量的使用备用扇区会使寻道时间增加,硬盘性能明显下降。 这个参数在机械硬盘上是非常敏感的,而对于固态硬盘来说同样具有重要意义。闪存的寿命是正态分布的,例如说MLC能写入一万次以上,实际上说的是写入一万次之前不会发生“批量损坏”,但某些单元可能写入几十次就损坏了。换言之,机械硬盘的盘片不会因读写而损坏,出现不良扇区大多与工艺质量相关,而闪存的读写次数则是有限的,因而损坏是正常的。所以固态硬盘在制造时也保留了一定的空间,当某个存储单元出现问题后即把损坏的部分隔离,用好的部分来顶替。这一替换方法和机械硬盘的扇区重映射是一个道理,只不过机械硬盘正常时极少有重映射操作,而对于固态硬盘是经常性的。 在固态硬盘中这一项的数据会随着使用而不断增长,只要增长的速度保持稳定就可以。通常情况下,数据值=100-(100×被替换块/必需块总数),因此也可以估算出硬盘的剩余寿命。 Intel固态硬盘型号的第十二个字母表示了两种规格,该字母为1表示第一代的50纳米技术的SSD,为2表示第二代的34纳米技术的SSD,如SSDSA2M160G2GN就表示是34nm的SSD。所以参数的查看也有两种情况: 50nm的SSD(一代)要看当前值。这个值初始是100,当出现替换块的时候这个值并不会立即变化,一直到已替换四个块时这个值变为1,之后每增加四个块当前值就+1。也就是100对应0~3个块,1对应4~7个块,2对应8~11个块…… 34nm的SSD(二代)直接查看数据值,数据值直接表示有多少个被替换的块。06(006)读取通道余量 Read Channel Margin这一项功能不明,现在的硬盘也不显示这一项。07(007)寻道错误率 Seek Error Rate数据应为0,当前值应远大于与临界值。 这一项表示磁头寻道时的错误率,有众多因素可导致寻道错误率上升,如磁头组件的机械系统、伺服电路有局部问题,盘片表面介质不良,硬盘温度过高等等。 通常此项的数据应为0,但对希捷硬盘来说,即使是新硬盘,这一项也可能有很大的数据量,这不代表有任何问题,还是要看当前值是否下降。08(008)寻道性能 Seek Time Performance此项表示硬盘寻道操作的平均性能(寻道速度),通常与前一项(寻道错误率)相关联。当前值持续下降标志着磁头组件、寻道电机或伺服电路出现问题,但现在许多硬盘并不显示这一项。09(009)通电时间累计 Power-On Time Count (POH)这个参数的含义一目了然,表示硬盘通电的时间,数据值直接累计了设备通电的时长,新硬盘当然应该接近0,但不同硬盘的计数单位有所不同,有以小时计数的,也有以分、秒甚至30秒为单位的,这由磁盘制造商来定义。 这一参数的临界值通常为0,当前值随着硬盘通电时间增加会逐渐下降,接近临界值表明硬盘已接近预计的设计寿命,当然这并不表明硬盘将出现故障或立即报废。参考磁盘制造商给出的该型号硬盘的MTBF(平均无故障时间)值,可以大致估计剩余寿命或故障概率。 对于固态硬盘,要注意“设备优先电源管理功能(device initiated power management,DIPM)”会影响这个统计:如果启用了DIPM,持续通电计数里就不包括睡眠时间;如果关闭了DIPM功能,那么活动、空闲和睡眠三种状态的时间都会被统计在内。0A(010)主轴起旋重试次数 Spin up Retry Count数据应为0,当前值应大于临界值。 主轴起旋重试次数的数据值就是主轴电机尝试重新启动的计数,即主轴电机启动后在规定的时间里未能成功达到额定转速而尝试再次启动的次数。数据量的增加表示电机驱动电路或是机械子系统出现问题,整机供电不足也会导致这一问题。0B(011)磁头校准重试计数 Calibration Retry Count数据应为0,当前值应远大于与临界值。硬盘在温度发生变化时,机械部件(特别是盘片)会因热胀冷缩出现形变,因此需要执行磁头校准操作消除误差,有的硬盘还内置了磁头定时校准功能。这一项记录了需要再次校准(通常因上次校准失败)的次数。 这一项的数据量增加,表示电机驱动电路或是机械子系统出现问题,但有些型号的新硬盘也有一定的数据量,并不表示有问题,还要看当前值和最差值。0C(012)通电周期计数 Power Cycle Count通电周期计数的数据值表示了硬盘通电/断电的次数,即电源开关次数的累计,新硬盘通常只有几次。 这一项与启停计数(04)是有区别的,一般来说,硬盘通电/断电意味着计算机的开机与关机,所以经历一次开关机数据才会加1;而启停计数(04)表示硬盘主轴电机的启动/停止(硬盘在运行时可能多次启停,如系统进入休眠或被设置为空闲多少时间而关闭)。所以大多情况下这个通电/断电的次数会小于启停计数(04)的次数。通常,硬盘设计的通电次数都很高,如至少5000次,因此这一计数只是寿命参考值,本身不具指标性。0D(013)软件读取错误率 Soft Read Error Rate软件读取错误率也称为可校正的读取误码率,就是报告给操作系统的未经校正的读取错误。数据值越低越好,过高则可能暗示盘片磁介质有问题。AA(170)坏块增长计数 Grown Failing Block Count(Micron 镁光)读写失败的块增长的总数。AB(171)编程失败块计数 Program Fail Block CountFlash编程失败块的数量。AC(172)擦写失败块计数 Erase Fail Block Count擦写失败块的数量。AD(173)磨损平衡操作次数(平均擦写次数) / Wear Leveling Count(Micron 镁光)所有好块的平均擦写次数。 Flash芯片有写入次数限制,当使用FAT文件系统时,需要频繁地更新文件分配表。如果闪存的某些区域读写过于频繁,就会比其它区域磨损的更快,这将明显缩短整个硬盘的寿命(即便其它区域的擦写次数还远小于最大限制)。所以,如果让整个区域具有均匀的写入量,就可明显延长芯片寿命,这称为磨损均衡措施。AE(174)意外失电计数 Unexpected Power Loss Count硬盘自启用后发生意外断电事件的次数。B1(177)磨损范围对比值 Wear Range Delta磨损最重的块与磨损最轻的块的磨损百分比之差。B4(180)未用的备用块计数 Unused Reserved Block Count Total(惠普)固态硬盘会保留一些容量来准备替换损坏的存储单元,所以可用的预留空间数非常重要。这个参数的当前值表示的是尚未使用的预留的存储单元数量。B5(181)编程失败计数 Program Fail Count用4个字节显示已编程失败的次数,与(AB)参数相似。B5(181)非4KB对齐访问数 Non-4k Aligned Access(Micron 镁光)B6(182)擦写失败计数 Erase Fail Count用4个字节显示硬盘自启用后块擦写失败的次数,与(AC)参数相似。B7(183)串口降速错误计数 SATA Downshift Error Count这一项表示了SATA接口速率错误下降的次数。通常硬盘与主板之间的兼容问题会导致SATA传输级别降级运行。B8(184)I/O错误检测与校正 I/O Error Detection and Correction(IOEDC)“I/O错误检测与校正”是惠普公司专有的SMART IV技术的一部分,与其他制造商的I/O错误检测和校正架构一样,它记录了数据通过驱动器内部高速缓存RAM传输到主机时的奇偶校验错误数量。 B8(184)点到点错误检测计数 End to End Error Detection CountIntel第二代的34nm固态硬盘有点到点错误检测计数这一项。固态硬盘里有一个LBA(logical block addressing,逻辑块地址)记录,这一项显示了SSD内部逻辑块地址与真实物理地址间映射的出错次数。 B8(184)原始坏块数 Init Bad Block Count(Indilinx芯片)硬盘出厂时已有的坏块数量。B9(185)磁头稳定性 Head Stability(西部数据)意义不明。BA(186)感应运算振动检测 nduced Op-Vibration Detection(西部数据)意义不明。BB(187)无法校正的错误 Reported Uncorrectable Errors(希捷)报告给操作系统的无法通过硬件ECC校正的错误。如果数据值不为零,就应该备份硬盘上的数据了。 报告给操作系统的在所有存取命令中出现的无法校正的RAISE(URAISE)错误。BC(188)命令超时 Command Timeout由于硬盘超时导致操作终止的次数。通常数据值应为0,如果远大于零,最有可能出现的是电源供电问题或者数据线氧化致使接触不良,也可能是硬盘出现严重问题。BD(189)高飞写入 High Fly Writes磁头飞行高度监视装置可以提高读写的可靠性,这一装置时刻监测磁头的飞行高度是否在正常范围来保证可靠的写入数据。如果磁头的飞行高度出现偏差,写入操作就会停止,然后尝试重新写入或者换一个位置写入。这种持续的监测过程提高了写入数据的可靠性,同时也降低了读取错误率。这一项的数据值就统计了写入时磁头飞行高度出现偏差的次数。BD(189)出厂坏块计数 Factory Bad Block Count(Micron 镁光芯片)BE(190)气流温度 Airflow Temperature这一项表示的是硬盘内部盘片表面的气流温度。在希捷公司的某些硬盘中,当前值=(100-当前温度),因此气流温度越高,当前值就越低,最差值则是当前值曾经到达过的最低点,临界值由制造商定义的最高允许温度来确定,而数据值不具实际意义。许多硬盘也没有这一项参数。BF(191)冲击错误率 G-sense error rate这一项的数据值记录了硬盘受到机械冲击导致出错的频度。C0(192)断电返回计数 Power-Off Retract Count当计算机关机或意外断电时,硬盘的磁头都要返回停靠区,不能停留在盘片的数据区里。正常关机时电源会给硬盘一个通知,即Standby Immediate,就是说主机要求将缓存数据写入硬盘,然后就准备关机断电了(休眠、待机也是如此);意外断电则表示硬盘在未收到关机通知时就失电,此时磁头会自动复位,迅速离开盘片。 这个参数的数据值累计了磁头返回的次数。但要注意这个参数对某些硬盘来说仅记录意外断电时磁头的返回动作;而某些硬盘记录了所有(包括休眠、待机,但不包括关机时)的磁头返回动作;还有些硬盘这一项没有记录。因此这一参数的数据值在某些硬盘上持续为0或稍大于0,但在另外的硬盘上则会大于通电周期计数(0C)或启停计数(04)的数据。在一些新型节能硬盘中,这一参数的数据量还与硬盘的节能设计相关,可能会远大于通电周期计数(0C)或启停计数(04)的数据,但又远小于磁头加载/卸载计数(C1)的数据量。 对于固态硬盘来说,虽然没有磁头的加载/卸载操作,但这一项的数据量仍然代表了不安全关机,即发生意外断电的次数。C1(193)磁头加载/卸载计数 Load/Unload Cycle Count对于过去的硬盘来说,盘片停止旋转时磁头臂停靠于盘片中心轴处的停泊区,磁头与盘片接触,只有当盘片旋转到一定转速时,磁头才开始漂浮于盘片之上并开始向外侧移动至数据区。这使得磁头在硬盘启停时都与盘片发生摩擦,虽然盘片的停泊区不存储数据,但无疑启停一个循环,就使磁头经历两次磨损。所以对以前的硬盘来说,磁头起降(加载/卸载)次数是一项重要的寿命关键参数。而在现代硬盘中,平时磁头臂是停靠于盘片之外的一个专门设计的停靠架上,远离盘片。只有当盘片旋转达到额定转速后,磁头臂才开始向内(盘片轴心)转动使磁头移至盘片区域(加载),磁头臂向外转动返回至停靠架即卸载。这样就彻底杜绝了硬盘启停时磁头与盘片接触的现象,西部数据公司将其称为“斜坡加载技术”。由于磁头在加载/卸载过程中始终不与盘片接触,不存在磁头的磨损,使得这一参数的重要性已经大大下降。这个参数的数据值就是磁头执行加载/卸载操作的累计次数。从原理上讲,这个加载/卸载次数应当与硬盘的启停次数相当,但对于笔记本内置硬盘以及台式机新型节能硬盘来说,这一项的数据量会很大。这是因为磁头臂组件设计有一个固定的返回力矩,保证在意外断电时磁头能靠弹簧力自动离开盘片半径范围,迅速返回停靠架。所以要让硬盘运行时磁头保持在盘片的半径之内,就要使磁头臂驱动电机(寻道电机)持续通以电流。而让磁头臂在硬盘空闲几分钟后就立即执行卸载动作,返回到停靠架上,既有利于节能,又降低了硬盘受外力冲击导致磁头与盘片接触的概率。虽然再次加载会增加一点寻道时间,但毕竟弊大于利,所以在这类硬盘中磁头的加载/卸载次数会远远大于通电周期计数(0C)或启停计数(04)的数据量。不过这种加载/卸载方式已经没有了磁头与盘片的接触,所以设计值也已大大增加,通常笔记本内置硬盘的磁头加载/卸载额定值在30~60万次,而台式机新型节能硬盘的磁头加载/卸载设计值可达一百万次。C2(194)温度 Temperature温度的数据值直接表示了硬盘内部的当前温度。硬盘运行时最好不要超过45℃,温度过高虽不会导致数据丢失,但引起的机械变形会导致寻道与读写错误率上升,降低硬盘性能。硬盘的最高允许运行温度可查看硬盘厂商给出的数据,一般不会超过60℃。 不同厂家对温度参数的当前值、最差值和临界值有不同的表示方法:希捷公司某些硬盘的当前值就是实际温度(摄氏)值,最差值则是曾经达到过的最高温度,临界值不具意义;而西部数据公司一些硬盘的最差值是温度上升到某值后的时间函数,每次升温后的持续时间都将导致最差值逐渐下降,当前值则与当前温度成反比,即当前温度越高,当前值越低,随实际温度波动。C3(195)硬件ECC校正 Hardware ECC RecoveredECC(Error Correcting Code)的意思是“错误检查和纠正”,这个技术能够容许错误,并可以将错误更正,使读写操作得以持续进行,不致因错误而中断。这一项的数据值记录了磁头在盘片上读写时通过ECC技术校正错误的次数,不过许多硬盘有其制造商特定的数据结构,因此数据量的大小并不能直接说明问题。 C3(195)实时无法校正错误计数 On the fly ECC Uncorrectable Error Count这一参数记录了无法校正(UECC)的错误数量。 C3(195)编程错误块计数 Program Failure block Count(Indilinx芯片)C4(196)重映射事件计数 Reallocetion Events Count数据应为0,当前值应远大于临界值。 这个参数的数据值记录了将重映射扇区的数据转移到备用扇区的尝试次数,是重映射操作的累计值,成功的转移和不成功的转移都会被计数。因此这一参数与重映射扇区计数(05)相似,都是反映硬盘已经存在不良扇区。 C4(196)擦除错误块计数 Erase Failure block Count(Indilinx芯片)在固态硬盘中,这一参数记录了被重映射的块编程失败的数量。C5(197)当前待映射扇区计数 Current Pending Sector Count数据应为0,当前值应远大于临界值。这个参数的数据表示了“不稳定的”扇区数,即等待被映射的扇区(也称“被挂起的扇区”)数量。如果不稳定的扇区随后被读写成功,该扇区就不再列入等待范围,数据值就会下降。 仅仅读取时出错的扇区并不会导致重映射,只是被列入“等待”,也许以后读取就没有问题,所以只有在写入失败时才会发生重映射。下次对该扇区写入时如果继续出错,就会产生一次重映射操作,此时重映射扇区计数(05)与重映射事件计数(C4)的数据值增加,此参数的数据值下降。C5(197)读取错误块计数(不可修复错误)Read Failure block Count(Indilinx芯片)C6(198)脱机无法校正的扇区计数 Offline Uncorrectable Sector Count数据应为0,当前值应远大于临界值。这个参数的数据累计了读写扇区时发生的无法校正的错误总数。数据值上升表明盘片表面介质或机械子系统出现问题,有些扇区肯定已经不能读取,如果有文件正在使用这些扇区,操作系统会返回读盘错误的信息。下一次写操作时会对该扇区执行重映射。 C6(198)总读取页数 Total Count of Read Sectors(Indilinx芯片)C7(199)Ultra ATA访问校验错误率 Ultra ATA CRC Error Rate这个参数的数据值累计了通过接口循环冗余校验(Interface Cyclic Redundancy Check,ICRC)发现的数据线传输错误的次数。如果数据值不为0且持续增长,表示硬盘控制器→数据线→硬盘接口出现错误,劣质的数据线、接口接触不良都可能导致此现象。由于这一项的数据值不会复零,所以某些新硬盘也会出现一定的数据量,只要更换数据线后数据值不再继续增长,即表示问题已得到解决。 C7(199)总写入页数 Total Count of Write Sectors(Indilinx芯片)C8(200)写入错误率 Write Error Rate / 多区域错误率 Multi-Zone Error Rate(西部数据)数据应为0,当前值应远大于临界值。 这个参数的数据累计了向扇区写入数据时出现错误的总数。有的新硬盘也会有一定的数据量,若数据值持续快速升高(当前值偏低),表示盘片、磁头组件可能有问题。 C8(200)总读取指令数 Total Count of Read Command(Indilinx芯片)C9(201)脱道错误率 Off Track Error Rate / 逻辑读取错误率 Soft Read Error Rate数据值累积了读取时脱轨的错误数量,如果数据值不为0,最好备份硬盘上的资料。 C9(201)TA Counter Detected(意义不明)C9(201)写入指令总数 Total Count of Write Command(Indilinx芯片)CA(202)数据地址标记错误 Data Address Mark errors此项的数据值越低越好(或者由制造商定义)。 CA(202)TA Counter Increased(意义不明)CA(202)剩余寿命 Percentage Of The Rated Lifetime Used(Micron 镁光芯片)当前值从100开始下降至0,表示所有块的擦写余量统计。计算方法是以MLC擦写次数除以50,SLC擦写次数除以1000,结果取整数,将其与100的差值作为当前值(MLC预计擦写次数为5000,SLC预计擦写次数为100000)。 CA(202)闪存总错误bit数 Total Count of error bits from flash(Indilinx芯片)CB(203)软件ECC错误数 Run Out Cancel错误检查和纠正(ECC)出错的频度。 CB(203)校正bit错误的总读取页数 Total Count of Read Sectors with correct bits error(Indilinx芯片)CC(204)软件ECC校正 Soft ECC Correction通过软件ECC纠正错误的计数。 CC(204)坏块满标志 Bad Block Full Flag(Indilinx芯片)CD(205)热骚动错误率 Thermal Asperity Rate (TAR)由超温导致的错误。数据值应为0。 CD(205)最大可编程/擦除次数 Max P/E Count(Indilinx芯片)CE(206)磁头飞行高度 Flying Height磁头距离盘片表面的垂直距离。高度过低则增加了磁头与盘片接触导致损坏的可能性;高度偏高则增大了读写错误率。不过准确地说,硬盘中并没有任何装置可以直接测出磁头的飞行高度,制造商也只是根据磁头读取的信号强度来推算磁头飞行高度。 CE(206)底层数据写入出错率 Write Error RateCE(206)最小擦写次数 Erase Count Min(Indilinx芯片)CF(207)主轴过电流 Spin High Current数据值记录了主轴电机运行时出现浪涌电流的次数,数据量的增加意味着轴承或电机可能有问题。 CF(207)最大擦写次数 Erase Count Max(Indilinx芯片)D0(208)主轴电机重启次数 Spin Buzz数据值记录了主轴电机反复尝试启动的次数,这通常是由于电源供电不足引起的。 D0(208)平均擦写次数Erase Count Average(Indilinx芯片)D1(209)脱机寻道性能 Offline Seek Performance这一项表示驱动器在脱机状态下的寻道性能,通常用于工厂内部测试。 D1(209)剩余寿命百分比 Remaining Life %(Indilinx芯片)D2(210)斜坡加载值 Ramp Load Value这一项仅见于几年前迈拓制造的部分硬盘。通常数据值为0,意义不明。 D2(210)坏块管理错误日志 BBM Error Log(Indilinx芯片)D3(211)写入时振动 Vibration During Write写入数据时受到受到外部振动的记录。 D3(211)SATA主机接口CRC写入错误计数 SATA Error Count CRC (Write)(Indilinx芯片)D4(212)写入时冲击 Shock During Write写入数据时受到受到外部机械冲击的记录。 D4(212)SATA主机接口读取错误计数 SATA Error Count Count CRC (Read)(Indilinx芯片)DC(220)盘片偏移量 Disk Shift硬盘中的盘片相对主轴的偏移量(通常是受外力冲击或温度变化所致),单位未知,数据值越小越好。DD(221)冲击错误率 G-sense error rate与(BF)相同,数据值记录了硬盘受到外部机械冲击或振动导致出错的频度。DE(222)磁头寻道时间累计 Loaded Hours磁头臂组件运行的小时数,即寻道电机运行时间累计。DF(223)磁头加载/卸载重试计数 Load/Unload Retry Count这一项与(C1)项类似,数据值累积了磁头尝试重新加载/卸载的次数。E0(224)磁头阻力 Load Friction磁头工作时受到的机械部件的阻力。E1(225)主机写入数据量 Host Writes由于闪存的擦写次数是有限的,所以这项是固态硬盘特有的统计。Intel的SSD是每当向硬盘写入了65536个扇区,这一项的数据就+1。如果用HDTune等软件查看SMART时可以自己计算,Intel SSD Toolbox已经为你算好了,直接就显示了曾向SSD中写入过的数据量。E2(226)磁头加载时间累计 Load 'In'-time磁头组件运行时间的累积数,即磁头臂不在停靠区的时间,与(DE)项相似。E3(227)扭矩放大计数 Torque Amplification Count主轴电机试图提高扭矩来补偿盘片转速变化的次数。当主轴轴承存在问题时,主轴电机会尝试增加驱动力使盘片稳定旋转。这个参数的当前值下降,说明硬盘的机械子系统出现了严重的问题。E4(228)断电返回计数 Power-Off Retract Cycle数据值累计了磁头因设备意外断电而自动返回的次数,与(C0)项相似。E6(230)GMR磁头振幅 GMR Head Amplitude磁头“抖动”,即正向/反向往复运动的距离。E7(231)温度 Temperature温度的数据值直接表示了硬盘内部的当前温度,与(C2)项相同。 E7(231)剩余寿命 SSD Life Left剩余寿命是基于P/E周期与可用的备用块作出的预测。新硬盘为100;10表示PE周期已到设计值,但尚有足够的保留块;0表示保留块不足,硬盘将处于只读方式以便备份数据。E8(232)寿命余量 Endurance Remaining寿命余量是指硬盘已擦写次数与设计最大可擦写次数的百分比,与(CA)项相似。 E8(232)预留空间剩余量 Available Reserved Space(Intel芯片)对于Intel的SSD来说,前边05项提到会保留一些容量来准备替换损坏的存储单元,所以可用的预留空间数非常重要。当保留的空间用尽,再出现损坏的单元就将出现数据丢失,这个SSD的寿命就结束了。所以仅看05项意义并不大,这一项才最重要。这项参数可以看当前值,新的SSD里所有的预留空间都在,所以是100。随着预留空间的消耗,当前值将不断下降,减小到接近临界值(一般是10)时,就说明只剩下10%的预留空间了,SSD的寿命将要结束。这个与(B4)项相似。E9(233)通电时间累计 Power-On Hours对于普通硬盘来说,这一项与(09)相同。 E9(233)介质磨耗指数 Media Wareout Indicator(Intel芯片)由于固态硬盘的擦写次数是有限的,当到达一定次数的时候,就会出现大量的单元同时损坏,这时候预留空间也顶不住了,所以这项参数实际上表示的是硬盘设计寿命。Intel的SSD要看当前值,随着NAND的平均擦写次数从0增长到最大的设计值,这一参数的当前值从开始的100逐渐下降至1为止。这表示SSD的设计寿命已经终结。当然到达设计寿命也不一定意味着SSD就立即报废,这与闪存芯片的品质有着很大的关系。注:Total Erase Count全擦写计数是指固态硬盘中所有块的擦写次数的总和,不同规格的NAND芯片以及不同容量的SSD,其最大全擦写次数均有所不同。F0(240)磁头飞行时间 Head Flying Hours / 传输错误率 Transfer Error Rate(富士通)磁头位于工作位置的时间。 富士通硬盘表示在数据传输时连接被重置的次数。F1(241)LBA写入总数 Total LBAs WrittenLBA写入数的累计。 F1(241)写入剩余寿命 Lifetime Writes from Host自硬盘启用后主机向硬盘写入的数据总量,以4个字节表示,每写入64GB字节作为一个单位。F2(242)LBA读取总数 Total LBAs ReadLBA读取数的累计。某些SMART读取工具会显示负的数据值,是因为采用了48位LBA,而不是32位LBA。 F2(242)读取剩余寿命 Lifetime Reads from Host自硬盘启用后主机从硬盘读取的数据总量,以4个字节表示,每读取64GB字节作为一个单位。FA(250)读取错误重试率 Read Error Retry Rate从磁盘上读取时出错的次数。FE(254)自由坠落保护 Free Fall Protection现在有些笔记本硬盘具有自由坠落保护功能,当硬盘内置的加速度探测装置检测到硬盘位移时,会立即停止读写操作,将磁头臂复位。这个措施防止了磁头与盘片之间发生摩擦撞击,提高了硬盘的抗震性能。这个参数的数据里记录了这一保护装置动作的次数。本文选自 >>>>https://www.cnblogs.com/xqzt/p/5512075.html>>> 镁光 >>>https://www.micron.com/-/media/client/global/documents/products/technical-note/solid-state-storage/tnfd22_client_ssd_smart_attributes.pdf>>>
2022年11月26日
12 阅读
0 评论
0 点赞
2022-11-19
C#读写txt文件
C#下读写txt文本文件,库文件之类的在开发工具包里面都帮你自动集成了,不需要再去自己制作库Windows 10系统下面支持五种编码方式:ANSI,UTF-8,UTF-16LE,UTF-16BE,UTF-8 BON一般情况下,Windows默认的编码保存方式为ANSI,UTF8需要手动另存为编码方式。ANSI编码代表GB2312编码,储存中文字符串可以使用这个C#一次性读取一个txt文件的所有内容,并使用messagebox输出 string Read_Text=File.ReadAllText("xxx.txt"); /*带编码方式读取文本文件*/ string Read_Text=File.ReadAllText("xxx.txt", Encoding.ASCII); string Read_Text=File.ReadAllText("xxx.txt", Encoding.UTF-8); MessageBox.Show(Read_text);读取文件内容里面所有行,返回数组 string[] Read_All_Lines=File.ReadAllLines("xxx.txt"); //带编码方式读取文件 string[] Read_All_Lines=File.ReadAllLines("xxx.txt", Encoding.ASCII); 写入文本文件 string Write_Text="Test_Write_Text"; File.WriteAllText("xxx.txt", Write_Text); //此方法重复写入会覆盖之前的文件,下方使用代码与上方一样,WriteAllText的方式会覆盖文件 //设置写入编码方式 File.WriteAllText("xxx.txt", Write_Text, Encoding.UTF-8);删除一个txt文件 File.Delete("xxx.txt");数组的方式写入txt文件string[] Write_Text={"Line1","Line2","Line3","Line4"}; File.WriteAllLines("xxx.txt", Write_Text, Encoding.ASCII); 本网站参考博文 https://www.cnblogs.com/eniac12/p/4398310.html
2022年11月19日
4 阅读
0 评论
0 点赞
2022-10-12
Excel动态计算含有某个字符串的数量,统计某个字符串数量的百分比
由标题的需求可得前半部分的需求需要使用一个函数,后半部分需要使用两个函数前半段需要使用的函数=COUNTIF(C2:F2,"√")(计算C2-F2的范围内含有的“√”的数量)演示:后半段需要配合COUNTA函数(计算某个范围有多少个框)比如接上面的方法,中间加一个X,计算√的百分比=COUNTIF(C2:F2,"√")/COUNTA(C2:F2)需要设计计算的单元格模式为百分比,如果不设置需要用下面的公式=((COUNTIF(C2:F2,"√")/COUNTA(C2:F2))*100)&"%"(而且需要保留两位小数,不然会有一串小数)
2022年10月12日
7 阅读
0 评论
0 点赞
2022-10-11
Typecho更换数据库类型
Typecho从SQL Lite迁移到MariaDB(MySQL)网上大多数教程都没有用,本人网站今天数据库从SQL Lite3无损迁移到MariaDB(因为网站架构升级了一下,四台Web服务器一台SQL服务器负载集群),这里需要用到的工具有Navicat 15(破解版还是正版都可以,软件我不提供)第一步先创建一个空数据库,网站本体上传到服务器上(宝塔面板,AppNode,还是手动都适用此方法);删除config.inc.php(觉得自己行的话可以选择不删除);复制网站/usr目录下的SQL Lite文件,使用Nvicat连接SQL Lite数据库;使用面板创建一个数据库(或者自己手动创建一个数据库),宝塔需要开启允许所有人访问此数据库,AppNode将允许的IP地址填上%,手动创建的自己体会吧;第二步,接上一步操作,浏览器直接打开Typecho的安装界面,配置MySQL/MariaDB数据库参数,并且安装网站(安装完之后什么都不要操作,也不要登录);打开Nvicat,连接网站的MySQL/MariaDB数据库(如果你一开始没设置所有IP连接会连接不上);迁移前需要确认两件事情:1、两个数据库的表前缀是不是一样的 2、需要一个清醒的脑子和一双眼睛分析Typecho的数据数据库结构,数据库的主要存储的文章,页面保存在Typecho_contents(前缀是Typecho_)用户表是Typecho_users;网站信息配置文件所在的位置是Typecho_options;栏目分类在Typecho_metas;网站的留言信息在Typecho_typecho_messages;如果你的网站启用了SMMS,那么你的SMMS插件的数据内容就在Typecho_smms_image_list;文章的静态生成id储存在Typecho_relationships;其他的基本上不重要,这些迁移就可以了;第三步,迁移文章和页面信息,SQL Lite数据库和MySQL PostgerSQL数据库的文章页面信息不一样,有字段上的区别,SQL Lite 的typecho_contents里面有个views字段,这个字段在MySQL MariaDB里面是不存在的,这里直接导出SQL Lite的typecho_contents数据表,导出向导选择csv导出成csv,下一步检查是不是导出的contents表(一般都都contents表),下一步取消views(补充一个agree也需要删除)导出全部取消勾选,在倒数第二行取消views字段,其他默认就好,最后一页点击开始导出成csv第四步,导出成csv之后呢在MySQL数据库导入新建的数据库;其他的导入方法均一致,没有需要删除的字段,只需要导出成csv再导入到MySQL MariaDB;第五步,安全问题,AppNode直接在防火墙面板关闭公网的3306端口,宝塔面板停用3306,使用手动方法的用firewalld,ufw,iptables等防火墙软件关闭公网地址的3306端口即可(也可以重新建一个没公网访问的数据库)
2022年10月11日
5 阅读
0 评论
0 点赞
2022-01-10
如何给你的邮件签名
给自己的邮件签名,是为了增加邮件在传输过程中的安全性,这里需要一个工具,KeyManager(亚洲诚信官网上就有)KeyManager下载链接直达(Windows) ?KeyManager下载链接直达(MacOS) ?KeyManager下载链接直达(Linux) ?下载完了打开这个软件(不用我说了)这个软件建议留在电脑上,因为这个软件可以签名SSL证书勾选成邮件证书,通用名称就是你的邮箱地址(填错无法导入证书)然后导出的时候选择IIS(pfx),outlook只支持pfx证书。添加导出私钥,这个私钥可加可不加,加了只是要在Outlook中间输入密钥解密才可以使用pfx证书。打开Outlook文件-选项-信任中心-信任中心设置-电子邮件安全性浏览-输入密码信任中心,电子邮件安全记得勾上给待发邮件签名;[hide]测试:新建邮件发送给我自己,然后会提示然后发送,在已发送这里面看看邮件[endhide]
2022年01月10日
5 阅读
0 评论
0 点赞
2022-01-10
HTTP中间的不安全端口ERR_UNSAFE_PORT
问一下各位有没有遇到HTTP访问的时候出现报错,显示不安全端口。 :@(吐血倒地) 这个不安全端口是因为1-5000范围内的某个通用服务的端口,然后HTTP使用了这个端口,就会造成提示不安全端口。ERR_UNSAFE_PORT常用的服务端口:1 =>> tcpmux 7 =>> echo 9 =>> discard 11 =>> systat 13 =>> daytime 15 =>> netstat 17 =>> qotd 19 =>> chargen 20 =>> ftp data 21 =>> ftp access 22 =>> ssh 23 =>> telnet 25 =>> smtp 37 =>> time 42 =>> name 43 =>> nicname 53 =>> domain 77 =>> priv-rjs 79 =>> finger 87 =>> ttylink 95 =>> supdup 101 =>> hostriame 102 =>> iso-tsap 103 =>> gppitnp 104 =>> acr-nema 109 =>> pop2 110 =>> pop3 111 =>> sunrpc 113 =>> auth 115 =>> sftp 117 =>> uucp-path 119 =>> nntp 123 =>> NTP 135 =>> loc-srv139 =>> netbios 143 =>> imap2 179 =>> BGP 389 =>> ldap 465 =>> smtp+ssl 512 =>> print513 =>> login 514 =>> shell 515 =>> printer 526 =>> tempo 530 =>> courier 531 =>> chat 532 =>> netnews 540 =>> uucp 556 =>> remotefs 563 =>> nntp+ssl 636 =>> ldap+ssl 993 =>> ldap+ssl 995 =>> pop3+ssl 2049 =>> nfs 3659 =>> apple-sasl / PasswordServer 4045 =>> lockd 6000 =>> X11 常用的服务是无法被正常使用,在测试网站的时候应该极力避免这类端口号。
2022年01月10日
2 阅读
0 评论
0 点赞
2021-11-06
CentOS7升级到CentOS8(RockyLinux8)
今天闲着没事,就出一个CentOS7命令升级到CentOS8(RockyLinux8)的方法吧(非重装)先连接上服务器,依然是MobaXterm 然后安装epel源和相关组件yum -y install epel-release yum-utils && yum -y install rpmconf && yum -y install dnf 然后就是移除yum和删除yum目录rpmconf -a && dnf -y remove yum yum-metadata-parser && rm -rf /etc/yum 接下来就是安装RockyLinux8的源,并更新缓存已经卸载CentOS7内核rpm -e --nodeps `rpm -qa | grep centos-release` && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-release-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-repos-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-gpg-keys-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/dracut-network-049-135.git20210121.el8.x86_64.rpm && dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && dnf clean all && rpm -e --nodeps `rpm -qa|grep -i kernel` 更改Python2编码vim /usr/lib/python2.7/site-packages/sitecustomize.py 然后退出,输入以下命令echo '# encoding=utf8' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'import sys' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'reload(sys)' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'sys.setdefaultencoding('utf8')' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo '# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')' >> /usr/lib/python2.7/site-packages/sitecustomize.py 更新RockyLinux8dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync 如果在更新的时候注意看报错的软件,有报错的软件就卸载对应的软件包卸载掉这些错误的软件包,rpmconf和sysvinitrpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64 && rpm -e --nodeps python36-rpmconf-1.0.22-1.el7.noarch 然后再运行更新就等更新好了最后一个就是安装RockyLinux8的内核dnf -y install kernel 不更新内核的话重启就会报错的重启服务器reboot 为了以防万一,我打开了IPMI卡,监视服务器有没有启动起来注意,第一次重启的时候会出现开机卡死,需要手动给服务器重启才可以正常进入系统--------END------------
2021年11月06日
11 阅读
0 评论
0 点赞
2021-09-25
CentOS同步时间
我的老机器,安装了CentOS6.10,但是时间没有校准,虽然这个机器校准还是不校准,意义不是很大的那种,毕竟是2008年的CPU处理起来很简单,安装ntpyum -y install ntp ntpdate安装完了就是同步一下时间,同步到cn.pool.ntp.org的标准北京时间ntpdate cn.pool.ntp.org 再查看一下时间已经换过来了写入到BIOS,然后再强行写入时间(防止重启时间就错误)clock --systohc clock -w
2021年09月25日
42 阅读
0 评论
0 点赞