blk_update_request I/O error, dev sda, WRITE SAME failed. Manually zeroing.内核错误提示解决方案
在服务器上安装完CentOS 系统,启动过程非常慢,一直刷新下面的错误提示
根分区是ext4格式,底层是使用MegaRAID构建的Raid1系统盘。出现上面上面的问题,初步怀疑是raid驱动问题或者是磁盘硬件问题,更新不同版本的megaraid_sas的驱动,以及更换硬盘都不能解决该问题。
在服务器上安装完CentOS 系统,启动过程非常慢,一直刷新下面的错误提示
根分区是ext4格式,底层是使用MegaRAID构建的Raid1系统盘。出现上面上面的问题,初步怀疑是raid驱动问题或者是磁盘硬件问题,更新不同版本的megaraid_sas的驱动,以及更换硬盘都不能解决该问题。
大多数情况下,笔记本都有两块网卡,一块无线网卡,一块有线网卡。
有些时候,我们需要将windows的网络共享给其他设备,比如将有线网络共享给无线网卡,以便其他移动设备(手机/路由器/HUB/笔记本/Pad),或者将当前连接的内部无线网络共享给有线设备。
systemd是一个全新的init系统和系统管理器,兼容传统的基于SysV init系统的所有主要的Linux发行版。
systemd兼容SysV和LSB init脚本,它作为SysV init系统的直接替代品。
systemd是内核启动并保持PID 1的第一个进程,它是系统运行后的所有进程的的父进程,Fedora 15是第一个支持systemd发行版。
systemctl是用于管理systemd守护程序/服务命令行实用程序和主要工具,例如(start, restart, stop, enable, disable, reload & status)。
systemd使用.service文件而不是bash脚本(SysV init使用)。systemd将所有守护进程排序到他们自己的Linux cgroup中,你可以通过搜索/cgroup/systemd文件来查看系统层次结构。
准确的计时已成为现代软件部署的关键组成部分。无论是确保以正确的顺序记录日志还是正确应用数据库更新,不同步的时间都可能导致错误,数据损坏和其他难以调试的问题。
最新基于systemd
的发行版本都有内置的时间同步功能,由systemd-timesyncd
服务接管。下面是一些相关的操作,帮助我们快速解决时间同步问题。
通过date
命令我们可以快速查看服务器的时间信息,这里现实的是UTC(Coordinated Universal Time)
时间,当您的基础架构跨越多个时区时,一致地使用UTC时间可以减少系统交互之间的混乱。
date
Tue Sep 4 17:51:49 UTC 2018
经常编写markdown需要引入一些代码块,需要定义Markdown支持的语言列表,这里列一下,需要的时候方便查找
Name | Markdown Label |
---|---|
.NET Console | dotnetcli |
ASP.NET (C#) | aspx-csharp |
ASP.NET (VB) | aspx-vb |
AzCopy | azcopy |
Azure CLI | azurecli |
Azure PowerShell | azurepowershell |
C++ | cpp |
C++/CX | cppcx |
C++/WinRT | cppwinrt |
C# | csharp |
C# in browser | csharp-interactive |
Console | console |
CSHTML | cshtml |
DAX | dax |
Docker | dockerfile |
F# | fsharp |
Go | go |
HTML | html |
HTTP | http |
Java | java |
JavaScript | javascript |
JSON | json |
Kusto Query Language | kusto |
Markdown | md |
Objective-C | objc |
OData | odata |
PHP | php |
PowerApps (dot decimal separator) | powerapps-dot |
PowerApps (comma decimal separator) | powerapps-comma |
PowerShell | powershell |
Python | python |
Q# | qsharp |
R | r |
Ruby | ruby |
SQL | sql |
Swift | swift |
TypeScript | typescript |
VB | vb |
XAML | xaml |
XML | xml |
某些Http Proxy或者Http Server不支持Patch操作,这时我们就可以使用Http Post操作来模拟Http Patch操作,仅仅需要在Http Header中添加 X-HTTP-Method-Override Header来指定目标Http Method即可, 例如:
使用jQuery通过Post模拟Patch接口:
$.ajax({
headers: {
'X-HTTP-Method-Override': 'Patch'
},
method: 'Post'
// more parameters...
});
最近开始准备整理一份完整的Linux/FreeBSD的PXE安装教程,先从基础设施VirtualBox安装开始,便于我们模拟在真实场景下远程装机的功能.
建议直接从官网下载软件,下载软件的同时可以关注下官方一些文档,以及最近的版本情况,甚至你还可以关注下目前版本对PXE的支持情况
https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe
安装过程没太多需要注意的,一步一步确认就好了.
我个人电脑使用的是Gentoo Linux, 其他Linux发行版本同样适用下面的方法.
在我们开始备份之前,我们需要对备份的环境做一些说明,开源社区一般都建议将Linux系统做如下分区:
使用社区建议能最大限度保存你环境, 做好备份的话, 能很快恢复系统, 即使硬盘有坏道的情况下.
很长时间没有升级Gentoo Linux了, 手痒执行了一次全系统更新, 发现比以前的升级编译的时间长了非常多.
看了下log, 花时间最多的地方在gcc/mesa/llvm这三个包, 顺带研究了下gcc/llvm的关系,又使用equery 检查了下llvm包的依赖关系, 整个系统只有mesa一个包直接依赖llvm,对于个人用户, 建议还是果断将 -llvm use 标记添加到/etc/portage/make.conf, 减少升级编译的时间.除非你的工作确实需要llvm.以下是我优化后的mesa包的use标记列表:
下面是我的/etc/portage/make.conf中的USE变量配置的内容,我比较喜欢mate的简单,所以qt/kde等等都被移除了.
USE="${USE} systemd -samba ipv6 -cups -qt4 -ldap -gnome -kde jpeg jpeg2k tk -llvm"
pip默认访问的是pypi.python.org镜像源, 经常访问较慢, 就找了些国内访问较快的pip镜像源, 常用的如下:
上述镜像都支持http/https,建议大家使用https