自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言和BASH SHELL中条件表达式的真假与0和1的关系

因此,在C语言中,通常使用0表示假,而使用1(或任何非零值)表示真。这是C语言中布尔类型的基础,以及条件语句(如if语句)和循环语句(如while和for循环)的基础。这意味着在Bash shell中,通常使用0表示真,而使用非零值表示假。这是Bash shell中条件语句(如if语句)和循环语句(如while和for循环)的基础。因此,在Bash shell中,非零退出状态码表示条件为假,而退出状态码为0表示条件为真。这与C语言中的逻辑相反。

2024-05-12 15:49:09 196

原创 mq_attr结构介绍

指示当前消息队列中存在的消息数量。这个字段通常由系统维护,用户可以读取它来获取消息队列中当前的消息数量。: 定义消息队列中单个消息的最大字节数。这个值决定了消息的最大大小限制。: 定义消息队列中最大消息数量。当消息队列满时,新消息将被拒绝加入。结构的字段指定队列允许的最大消息数和最大消息大小。消息队列的属性结构,用于描述消息队列的特性和限制。: 用于设置消息队列的标志。函数获取,并且在创建消息队列时可以通过。,表示以非阻塞模式打开消息队列。

2024-05-04 20:56:09 228

转载 nm 简明教程

现代的编程语言越来越智能,开发工具链越来越完善,各种 IDE 更是将程序员往傻瓜方向带,导致不少程序员(特别是开发上层应用的程序员)对程序的编译过程不甚了解。日常开发过程中的编译也就是按个按钮或者敲一条指令就完成了整个编译构建的过程,也的确接触不到这个编译过程中的细节。上图是 GCC 编译过程的分解,从图中可以看到整个过程分为预处理编译汇编链接等几个过程。目前常见的静态编译型的语言多数也会涉及到其中的编译汇编链接等步骤,只不过是强大的工具链将这些细节为我们隐藏了罢了。而符号在这其中扮演着重要的角色。

2024-04-13 22:59:25 31

翻译 systemd.service

PID 文件不需要由特权用户拥有,但如果由非特权用户拥有,则会执行额外的安全限制:该文件不得是不同用户拥有的文件的符号链接(既不能是直接链接,也不能是间接链接),而且 PID 文件必须指向已属于服务的进程。需要注意的是,这种类型只能用于改善控制台输出,不能作为一般的单元排序工具,而且这种服务类型的效果会受到 5 秒超时的限制,超时后服务程序还是会被调用。从特定服务传递给服务管理器的所有文件描述符在下一次服务重启时都会传回给服务的主进程(有关使用的确切协议和传递文件描述符的顺序的详细信息,参见。

2024-04-11 18:52:23 19

原创 Shell 字符串操作符

这些字符串操作符可以在 Shell 脚本中灵活应用,用于对字符串进行处理和转换,方便进行文本操作和字符串操作。在 Shell 脚本中,字符串操作符可以帮助你对字符串进行各种操作,比如截取子串、替换内容等。

2024-03-10 16:42:27 278

原创 ascii-table

ASCII-tableDECOCTHEXBINCharacter00000000000000NUL (null)10010100000001SOH (start of heading)20020200000010STX (start of text)30030300000011ETX (end of text)40040400000100EOT (end of transmission)500505000

2024-02-24 20:16:30 867

翻译 Ceph reports clients failing to respond to cache pressure

在OCP/ODF平台中,当pod试图启动并且花费太多时间(分钟或小时)时,可以报告此错误,通常它试图挂载包含数百万文件的cepfs PV,并且pod留在。当pod最终启动时,ceph错误被清除。

2024-02-19 11:18:58 88

翻译 Xfstests-cifs

xfstests套件已经更新,可以更容易地测试cifs(和smb3)。

2024-01-18 08:34:28 89

翻译 Xfstests-nfs

配置脚本可能会抱怨缺少运行测试所需的包。您应该使用发行版的包管理器安装它们,并在继续之前重新运行./configure(有关示例,请参阅README)。make最后,在NFS服务器上配置test和scratch导出。

2024-01-17 16:04:59 68

转载 Linux错误码含义

Linux错误码含义Code NameValueDescriptionEPERM1Operation not permittedENOENT2No such file or directoryESRCH3No such processEINTR4Interrupted system callEIO5I/O errorENXIO6No such device or addressE2BIG7Arg list too lon

2024-01-15 10:59:00 107

转载 FAQ-IB常用命令

IB常用命令。

2023-12-07 18:40:43 232

翻译 BlueStore压缩性能

使用BlueStore OSD后端,Red Hat Ceph Storage获得了一种称为“动态数据压缩”的新功能,有助于节省磁盘空间。可以对在BlueStore osd上创建的每个Ceph池启用或禁用压缩。除此之外,使用Ceph CLI可以随时更改压缩算法和模式,而不管池中是否包含数据。在本文中,我们将深入探讨BlueStore的压缩机制,并了解其对性能的影响。BlueStore中的数据是否被压缩由压缩模式和与写操作相关的任何提示的组合决定。

2023-11-09 14:48:10 209

翻译 NFStest

NFStest提供了一组用于测试NFS客户端或NFS服务器的工具,其中包括主要用于测试客户端的测试。

2023-10-16 14:48:15 277

翻译 openstack SWIFT ACLs

通常,要创建、读取和修改容器和对象,必须在项目中拥有与帐户相关联的适当角色,即必须是帐户的所有者。但是,所有者可以通过使用访问控制列表(ACL)向其他用户授予访问权限。

2023-07-08 11:48:03 186

转载 重新夺回对 /etc/resolv.conf 的控制权

随着 Linux 的不断发展壮大,涌现出了各种各样的 DNS 自动管理程序,它们都想要直接获得。

2023-07-06 09:54:46 341

翻译 OpenStack Swift 元数据

系统元数据既不通过POST请求更新也不通过POST请求删除:与不支持更新用户元数据的单个项一样,还不支持通过POST请求更新系统元数据的单个项。对象用户元数据一直存在,直到对同一对象发出任何后续的PUT或POST请求为止,此时与该对象一起存储的所有用户元数据都将被集体删除,并用PUT或POST要求中包含的任何用户元数据替换。系统元数据提供了一种方法,可以以安全可靠的方式将潜在的私有自定义元数据与相关的Swift资源存储在一起,而不必通过核心Swift服务器来查看自定义元数据。用户元数据的一个完美的用例是。

2023-06-19 14:23:35 164

翻译 Swift对象多版本

可以存储内容的多个版本,以便从意外的覆盖中恢复。对象版本控制是实现版本控制的一种简单方法,您可以将其用于任何类型的内容。说明不能对大型对象清单文件进行版本控制,但大型对象清单可以指向版本控制的段。说明强烈建议将非当前对象放在与当前对象版本所在的容器不同的容器中。为了允许集群中的对象版本控制,云提供程序应将筛选器添加到管道中,并在代理服务器配置文件的部分将选项设置为true。要为容器启用对象版本控制,必须指定一个“存档容器”,该存档容器将通过或头保留非当前版本。这两个头启用两种不同的操作模式。

2023-06-16 08:39:25 88

翻译 OpenStack swift到期对象支持

提供了定时删除对象的功能。Swift客户端将在对象的PUT或POST期间使用或头,集群将在指定的时间自动退出对该对象的服务,并在此后不久将该对象从系统中删除。头采用整数形式的Unix Epoch时间戳;1317070737表示。报头需要一个正整数秒数。接收请求的代理服务器将使用请求时间戳加上给定的值将此标头转换为。如果和头都与请求一起发送,那么头将优先。当将过期对象添加到系统中时,对象服务器将在隐藏的帐户中记录过期情况,以便稍后处理。通常,一个集群只需要运行守护进程的一个实例。

2023-06-13 09:13:38 90

转载 ASCII码一览表,ASCII码对照表

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是一套基于拉丁字母的字符编码,共收录了 128 个字符,用一个字节就可以存储,它等同于国际标准 ISO/IEC 646。ASCII 编码于 1967 年第一次发布,最后一次更新是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!

2023-06-04 10:01:14 340

翻译 swift命令行工具使用指南

swift工具是一个命令行工具,用于与OpenStack Object Storage (swift)环境通信。它允许人们执行几种类型的操作。有关特定。

2023-05-30 11:40:51 634

转载 ubuntu 18.04 修改Apache默认目录

然后保存退出重启即可。

2023-05-28 12:35:17 193

翻译 TFTP服务在RHEL7中自动变得不活动

【代码】TFTP服务在RHEL7中自动变得不活动。

2023-05-22 15:28:49 323

原创 本地源制作

根据软件的来源,制作本地源大致可分为3情况:1.使用操作系统的官方镜像;2.使用软件包;3.使用网络源;

2023-05-21 20:43:23 2784

原创 文件系统中dentry和inode的关系

每一个文件都有一个 inode,这个 inode 存储了该文件的所有元数据信息,如文件的创建时间、修改时间、访问时间、文件所有者、文件所属组等。因此,通过 dentry 可以找到对应文件的 inode,进而获取文件的详细信息。例如,当用户创建一个硬链接时,实际上就是创建了一个新的 dentry,但其所指向的 inode 与原始文件的 inode 是相同的。在执行文件操作时,Linux 内核会首先从文件系统中的根目录(/)开始查找目标文件所在的目录,直至定位到目标文件的 inode。

2023-05-14 16:13:19 563

转载 配置WINDOWS域控制器同步网络时间

运行“services.msc”进入服务管理界面,找到windwos time,如下图点击“停止->运行",观察主机和域控的时间同步情况,到此配置完成。可以选择使用国家授时中心的NTP服务器ntp.ntsc.ac.cn, 后缀不变为“0x09”,如上截图。最近发现公司的域控制器和域内的计算机时间与internet上的时间不同步,老是慢几分钟。如下图点击“停止->运行",观察主机和域控的时间同步情况,到此配置完成。设置NTP服务器,和外网时间同步。

2023-05-08 19:00:47 3308

翻译 mount.cifs手册

对于像CIFS或NFS这样的网络文件系统,客户端必须应对这样一个事实,即其它客户端或服务器上的活动可能会在客户端不知道的情况下更改文件的内容或属性。这两个实体都允许客户端保证对文件的某些类型的独占访问,这样它就可以访问文件的内容,而不需要不断地与服务器交互。由于CIFS挂载通常是单用户的,并且无论哪个用户访问挂载都使用相同的凭据,因此新创建的文件和目录通常会被赋予与用于挂载共享的凭据相对应的属主。当与字节范围锁结合使用时,这可能会出现问题,因为Windows的锁是强制性的,并且可能会阻止读取和写入的发生。

2023-05-06 17:22:11 1780

转载 在 Azure 文件存储中使用 mountOptions 设置

本文讨论在 Azure 文件存储 上配置存储类对象时有用的和建议装载选项。这些装载选项有助于在 Kubernetes 群集上预配存储。

2023-05-05 10:58:45 116

转载 What does the following message mean nfs4_reclaim_open_state Lock reclaim failed!

【代码】What does the following message mean nfs4_reclaim_open_state Lock reclaim failed!

2023-05-04 15:47:12 356

转载 EOF是什么?

Linux中,在新的一行的开头,按下Ctrl-D,就代表EOF(如果在一行的中间按下Ctrl-D,则表示输出"标准输入"的缓存区,所以这时必须按两次Ctrl-D);这个问题让我想了很久,后来查了资料才知道,**在Linux系统之中,EOF根本不是一个字符,而是当系统读取到文件结尾,所返回的一个信号值(也就是-1)。很自然地,我就以为,每个文件的结尾处,有一个叫做EOF的特殊字符,读取到这个字符,操作系统就认为文件结束了。比如,下面这段代码就表示,如果不是文件结尾,就把文件的内容复制到屏幕上。

2023-04-30 17:47:39 171

翻译 ceph 设备管理

Ceph跟踪哪些硬件存储设备(例如,HDDs、SSDs)被哪些守护进程使用,并收集有关这些设备的健康指标,以便提供预测和/或自动响应硬件故障的工具。

2023-04-27 22:34:33 277

原创 编程时要显式使用IBM PC上的内存地址时,需要编译器以long类型储存一个小数字原因

如果您想使用一个小数字表示内存地址,例如4096或10000,您必须将其转换为16位无符号整数。但是,如果您计算出的16位整数大于32767(2的15次方减1),则它将被解释为负数。为了确保可以正确地使用16位内存地址,您需要使用32位整型变量(即long类型),该变量可以表示超过32,000个不同的值。通过使用long类型,您可以将程序中的小数字视为16位无符号整数,并且可以避免由于内存地址的溢出而导致的错误。虽然long数据类型使用更多的内存,但这是值得付出的代价,可以提高代码的可靠性和健壮性。

2023-04-22 09:47:39 91

转载 在 Linux 中使用 pushd 和 popd 进行高效的文件目录导航

有时,使用命令浏览 Linux 文件系统可能会很痛苦,尤其是对于新手而言。通常,我们主要使用cd(更改目录)命令来移动 Linux 文件系统。本教程将解释一组Linux命令:“ pushd ”和“ popd ”,它们用于高效导航 Linux 目录结构。它们存在于大多数 shell 中,例如 bash、tcsh 等。pushd和popd根据“ LIFO ”(后进先出)原则工作。在这个原则中,只允许两种操作:将一个项目压入堆栈,以及从堆栈中弹出一个项目。

2023-03-31 17:03:07 235

转载 使用sed更换ubuntu镜像为 国内源

首先备份自己的sources.list,同时查看里面的内容,以免sed替换出错。阿里云的速度还是不错的,把sources.list的字段进行替换即可。不同的ubuntu,sources.list里的内容是不太一样的。

2023-03-28 15:58:58 1593

转载 Make 命令教程

Makefile文件由一系列规则(rules)构成。每条规则的形式如下。上面第一行冒号前面的部分,叫做"目标"(target),冒号后面的部分叫做"前置条件"(prerequisites);第二行必须由一个tab键起首,后面跟着"命令"(commands)。"目标"是必需的,不可省略;"前置条件"和"命令"都是可选的,但是两者之中必须至少存在一个。每条规则就明确两件事:构建目标的前置条件是什么,以及如何构建。下面就详细讲解,每条规则的这三个组成部分。

2023-03-25 11:32:56 917

转载 Linux 下RPM打包制作流程开始前的准备

BuildRoot: 这个是安装或编译时使用的“虚拟目录”,考虑到多用户的环境,一般定义为:%{tmppath}/{name}-%{version}-%{release}-root或%{tmppath}/%{name}-%{version}-%{release}-buildroot-%%__id_u} -n}.该参数非常重要,因为在生成rpm的过程中,执行make install时就会把软件安装到上述的路径中,在打包的时候,同样依赖“虚拟目录”为“根目录”进行操作。

2023-03-24 21:38:58 755

转载 NFS锁相关的问题

问题的来源是对nfs的共享目录的锁控制问题,关于共享的文件系统,通常有两种需求需求一需要有一个共同的锁,然后客户端的软件会判断锁在哪台机器上面,然后根据这个来进行服务的管理需求二使用共同的文件,客户端相互之间不能有锁,否则服务无法同时启动,那么需要高可用的时候,可能存在问题本篇就是根据实际情况,我们来看怎么处理nfs服务,怎么样能够开启锁,怎么用关闭锁,这个根据实际情况进行配置我们使用nfs的时候,如果需要用到锁首先判断,是需要本地锁还是远程锁。

2023-03-23 18:05:45 867

转载 godoc使用方法介绍

Godoc是go语言的文档化工具,类似于文档化工具godoc,类似于Python的Docstring和Java的JavadocGodoc通过解析包含注释的Go代码来生成HTML或文本类型的文档。

2023-03-21 22:49:40 340

转载 go get命令——一键获取代码、编译并安装

go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。整个过程就像安装一个 App 一样简单。这个命令可以动态获取远程代码包,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。在使用 go get 命令前,需要安装与远程包匹配的代码管理工具,如 Git、SVN、HG 等,参数中需要提供一个包名。这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行 go install。

2023-03-18 19:32:34 980

转载 Ctdb Rados(二):多场景断网高可用

生产环境网络结构错综复杂,往往在虚拟机上开发的功能当时好好的,到了物理机上面测试会发生各种问题,此时,我们首先要搞清楚网络拓扑结构,熟悉硬件配置,各网段的作用和相互之间的关联,这样遇到问题我们可以顺藤摸瓜,同样ctdb的原理也需要掌握才能了解它各种行为的触发机制,才能更好的定制化监控和管理。之后我会花点时间好好地研究一下ctdb,然后再单独做分享。

2023-03-17 21:20:46 308

转载 Ctdb Rados方式导致All Banned的问题

也许我的这种做法不是最优方案,希望遇到同样问题的同学可以一起讨论,拥有更好解决方案的可以一起分享。

2023-03-17 21:14:25 186

2017年度安全报告-禁用SMBv1协议.pdf

smb1安全问题及禁用SMB1协议

2022-11-18

Go趣学指南-习题答案.pdf

Go趣学指南-习题答案.pdf

2022-10-30

介绍IBM Spectrum Scale

1.IBM Spectrum Scale概述 2.GPFS体系结构 3.IBM Spectrum Scale产品版本 4.IBM Spectrum Scale许可证指定等

2018-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除