Linux通过rm删除文件空间并未释放
Linux通过rm删除文件空间并未释放在使用rm -rf等相关操作对Linux某些文件进行删除后只是将文件的目录项在文件系统中删除,目录项是一个指向文件数据块的指针,当目录项被删除时,文件数据块不会再被文件系统引用。
当删除一个文件时,文件系统会将该文件目录项标记为”已删除”,然后将文件数据块的内容保留在磁盘上,方便可以进行恢复。但是,已删除的文件数据块通常被标记为”未分配”,以便新文件可以重用
如果有进程正在使用被删除的文件,则该文件将继续占用磁盘空间,直到进程关闭文件句柄或退出,才能释放磁盘空间(直到关闭了对该文件的所有引用,当引用计数器为0时,文件数据块才会被释放标记为”未分配” 引用计数器机制)。但是Linux使用的是基于块的文件系统,通常数据块被分成多个部分存储,每个部分通常叫做文件分配表。当删除一个文件时,只有部分磁盘空间被释放
如果想立即释放被删除文件所占用的磁盘空间,可以使用sync命令刷新文件系统缓存,并使用lsof命令查找正在使用被删除的文件进程。然后通过结束进程来释放磁盘空间
通过lsof 命令可以查看所有打开的文件,显示有关进程和它们打开的文件的详细信息,这对于 ...
English-音标
音标
发音
浊音
将发音时声带振动的音称为浊音
清音
将发音时声带不振动的音称为清音
元音
发音过程中气流通过口腔而不受阻碍发出的音
辅音
气流在口腔或咽头受到阻碍而形成的音
元音
辅音
浊音
浊元音
浊辅音
清音
清元音
清辅音
发音三要素
圆唇度
舌位高低
舌位前后
存储基本概念
存储概念DAS直连附加存储,通过直连到计算机主板总线。识别为一个块设备。如:U盘、硬盘
NAS网络附加存储,NAS将本身存储设备做成磁盘阵列以提供高容量、高效能、高可靠等特性通过网络来提供数据存储和文件服务。当然,NAS不一定需要RAID,但会大大降低数据的安全性。
当计算机/服务器本机存储空间将要达到上限时,可以将NAS存储服务器的容量通过网络提供给计算机/服务器。同时用作数据共享,重要资料备份等等
常见的有:NFS、CIFS、FTP、HTTP、SMB等,提供文件级别的存储,且成本低易于部署
SAN存储区域网络。专门为存储建立的独立于TCP/IP网络之外的存储专用网络,目前常见的SAN有IP-SAN和FC-SAN,IP-SAN通过TCP/协议转发SCSI协议,FC-SAN通过光纤通道转发SCSI协议。
通过建立专有的高性能、高可用、高可靠性等特点的存储服务器通过以太网(IP)或光网络(FC)向计算机或服务器提供块级别的存储。通过使用SAN提高了存储的性能和升级能力。
文件存储
文件存储换句话来说:物理存储通过连接到主板接口提供给计算机使用,当操 ...
Kubernetes-NFS存储类
Kubernetes-NFS存储类官网地址:https://kubernetes.io/zh-cn/docs/concepts/storage/storage-classes/#nfs
GitHub:https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
在GitHub中deploy路径下给出了NFS存储类配置YAML模板
需要自行部署一台NFS服务器,且Kubernetes所有节点都能访问
重要:确保Kubernetes每台节点都要安装nfs-client/nfs-uilts,否则在挂载PVC阶段会报错,显示未知类型….
所有YAML配置文件默认是在default名称空间,可以自定义,需要把所有的Yaml修改为指定名称空间。不可以只改某个YAML要全部!
创建RBAC123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 ...
时间概念
时间概念
GMT
GMT即格林威治标准时间(世界时),是格林威治所在地区的标准时间,也是表示地球自转速率的一种形式
UTC
协调世界时(世界标准时间/国际协调时间),是以原子时秒长为基础,在时刻上尽量接近于世界时(即GMT)的一种时间计量系统。其与GMT相差不会超过0.9秒
Unix时间戳
计算机中的Unix时间戳是以GMT/UTC时间(1970-01-01T00:00:00)为起点,到具体时间的秒数
时差
由于地球是自西向东自转的,东边比西边先看到太阳。在处于地球不同位置的国家就会出现时间的差异,东西距离越远时差越大
时区
1884年通过国际子午线会议,规定将全球划分为24个时区,东西各12个时间。规定英国(格林尼治天文台)为中时区(零时区)。每个时区横跨经纬15°,时间正好是1小时。相邻的时区的时间相差1小时
Nginx-GeoIP2模块备忘
Nginx配置GeoIP2模块备忘12345678910111213141516171819# 例如下配置,需要注意两种情况# 第一种无反向代理的情况,对于geoip2默认使用的就是$remote_addr变量获取客户IP地址# 第二种有反向代理的情况,对于geoip2默认使用的就是$remote_addr变量获取客户IP地址,需要反向代理携带客户端IP,将每行的变量都添加上$http_x_real_ip变量# 例如 $geoip2_data_city source=$http_x_real_ip city names zh-CN; # geoip2_data_***为变量名,自定义变量名称亦可geoip2 /root/GeoLite2-City.mmdb { $geoip2_data_country "default=中国" source=$remote_addr country names zh-CN; # 中国 $geoip2_data_country_code country iso_code; # CN ...
Gitlab配置HTTPS
Gitlab配置HTTPS1234567891011121314# 配置urlexternal_url "https://gitlab.xiaowangc.local"# 关闭自动续订证书letsencrypt['enable'] = false# 重定向80->443nginx['redirect_http_to_https'] = true# 证书私钥配置nginx['ssl_certificate'] = "/mnt/gitlab/ssl/gitlab.crt"nginx['ssl_certificate_key'] = "/mnt/gitlab/ssl/gitlab.key"# 开启HTTP2.0,默认开启nginx['http2_enabled'] = true# 开启HSTSnginx['hsts_max_age'] = 63072000nginx['hsts_include_su ...
Linux证书有效期检测脚本
1234567891011121314151617181920212223242526272829303132333435363738394041#!/bin/bashDomain="""www.xiaowangc.comwww.baidu.comwww.so.comdeveloper.aliyun.comwww.google.comharbor.xiaowangc.local"""echo "-----------开始检查证书有效期-----------"for i in ${Domain};do end_time=$(timeout 3 openssl s_client -connect $i:443 2> /dev/null | openssl x509 -noout -enddate 2> /dev/null | awk -F '=' '{print $2}') if [ $? -ne 0 ...
关于Kubernetes配置私有镜像仓库
关于Kubernetes配置私有镜像仓库转用Containerd作为CRI,在正常使用公有镜像时并未发现有什么问题,但是在接入Harbor时发现Kubernetes拉取镜像的方式始总采用https方式拉取,将Harbor开启https之后又会出现x509: certificate signed by unknown authority证书验证失败
本人环境:
Kubernetes 1.25
Containerd 1.6.15
Ubuntu 22.04
解决方法:
关于kubernetes拉取采用http的方式可参考:
https://blog.csdn.net/qq_35925862/article/details/128641810
https://blog.csdn.net/lhf2112/article/details/117195731
继续使用https方式提高安全等级,并通过kubernetes中的Secret提供Harbor用户认证
配置
很显然本人采用的第二种方法,图方便的同时也要考虑安全性,第二种方法无需更改Containerd
生成证书12345678 ...
Containerd安装脚本
Containerd安装脚本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#/bin/bash# install containerd scriptcontainerd_version=1.6.15containerd_pause_version=3.9kubernetes_version=1.26.1-00function install_containerd(){ wget https://github.com/containerd/containerd/releases/download/v${containerd_version}/cri-containerd-cni-${containerd_version}-linux-amd6 ...