InfraPub 为您找到相关结果 106

希捷预告120TB机械硬盘:全新介质、单碟容量达10TB

这些年,机械硬盘容量的提升速度十分缓慢,大有被SSD全面赶超的趋势,不过每个季度,希捷、西部数据都会更新路线图,展望机械硬盘在技术、容量上的发展趋势,尤其是希捷。近日,希捷更是公布了详细的未来技术路线图,计划在2026年左右达到50TB左右,2030年则可以超过120TB。机械硬盘最近几年普遍基于PMR(垂直存储技术),但即便经过各种优化加强,也已经逼近极限,新的存储技术、机械结构迫在眉睫。比如希捷研发近20年的HAMR(热辅助磁),终于已经开花落地,去年底交付了20TB HAMR硬盘,同时新的多传动器(Muti-Actuator)结构也已经基本成熟,二者结合可让机械硬盘的容量跨上新台阶,2026年达到50TB就靠它们了。类似未来的半导体工艺制程,要想实现更进一步的突破,全新的存储介质...阅读全文

Debian 安装包的简单制作

Priority: optional # 优先集 一般就用 optional Description: this is a test package # 简介 不超过60个字符 this is a test # 详细介绍 制作deb包 计算MD5 find ./usr -type f | xargs -I{} md5sum {} > DEBIAN/md5sums 打包 dpkg-deb -b example-package 命令执行完成之后会在当前目录生成 example-package.deb文件,一个deb安装包就OK了。 小结 此方法可以方便的制作安装包,可以方便的分发自己的软件。但是亦有其缺陷,没有相应的更改。这种打包方法生成的包不能发布到软件源,但一般软件分发没有问题,如需更详细的打包方法参...阅读全文

博文 2021-01-28 17:50:14 debian.cn

为何说微软不会基于Linux内核重构Windows

播,Windows 和 Linux 的开放源码贡献者能够共享两个生态系统的精华。 2.兼容性 目前尚不清楚如果 Windows 用户空间从 NT 迁移到 Linux 内核,是否能够保持良好的兼容性,特别是那些拥有关键任务应用、付费获取的东西。 Windows 没有像 Linux 那样严格区分内核空间和用户空间。NT 内核大约有 400 个已的 syscalls 以及大约 1700 个已的 Win32 API 调用。对于重新部署从而确保 Windows 开发者和他们工作达到预期的兼容性这是非常庞大的工作量,这完全超过了 Wine 提供的修正贡献。 Linux 在 arm64 上只有 313 个 syscalls,而另一个原因是微软已经从 WSL 1 中的 syscall 翻译层...阅读全文

博文 2020-10-15 14:59:58 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

网线即可交换机或路由器,以便将所有树莓派连接到一个内网中 安装的大部分工作都依赖网络,因此还需要能访问公网网络。 集群概览 在这个集群里,我们会使用三个树莓派。其中一个树莓派作为主节点,我们将它命名为 kmaster,并为其分配一个静态 IP 192.168.0.50(注:假设使用的私有网段是 192.168.0.0/24),而另外两个树莓派作为工作节点,分别命名为 knode1 和 knode2,也分别分配 192.168.0.51 和 192.168.0.52 两个 IP 地址。 当然,如果你的内网网段和我的不一样,注意 IP 与集群个节点角色的对应关系。 为了能通过主机名直接访问节点,我们会更新每个节点的 /etc/hosts 文件,IP到主机名的对应关系: echo -e...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Debian 9 Stretch 安装配置 Caddy Server

网站目录。 接着,重新加载 systemd daemon,让配置生效。 sudo systemctl daemon-reload 让 Caddy 开机自启: sudo systemctl enable caddy.service 至此,Caddy 已经成功注册服务,并能够开机自动运行了。 配置Caddy 这部分的内容我不打算详细,主要是官方文档已经写的很详细了。下面是我的配置, example.com { proxy / 127.0.0.1:9001 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote...阅读全文

博文 2017-12-24 10:18:33 debian.cn

Kubernetes调度算法浅析

在真正的生产环境中,如何合理的分配服务器资源、提高利用率、让整个集群运行的更加稳定使得 k8s-scheduler 这个角色在集群中的地位愈发重要。 kube-scheduler的预选(过滤)和精选(打分) api-server会将创建pod的请求发送给kube-scheduler,并且将pod信息在etcd数据库中。之后kube-scheduler会根据预选(过滤)规则,首先过滤掉一部分node节点中的pod,没有被过滤掉的pod可以看做是可以被调度的pod,之后再通过更加严格的规则给剩下的pod打分,这一步也叫作优选。打分最高的pod可以看做被优先分配到pod任务。 调度流程简介 创建pod的命令被api-server的api接口接收到。api-server将pod信息存储在...阅读全文

博文 2020-12-20 11:01:10 debian.cn

不可变基础设施 (immutable infrastructure) - 云原生定义解析

(对于大中型机,甚至重启都是一种奢侈的)。所以,在当时不可变基础设施的设想是难以实现的,开发人员总是需要在服务器上对运行环境做一下持续的更改,如:系统升级,配置修改,补丁等。在许多手动修改之后,服务器的不同配置的重要性或必要性变得不清楚,因此更新或更改任何配置可能会产生意想不到的副作用(这就导致了 Martin Fowler所说的snowflake server “Phoenix Server”,2012)。可变基础设施通常会导致以下问题。在灾难发生的时候,难以重新构建服务。持续过多的手工操作,缺乏,会导致很难由标准初始化后的服务器来重新构建起等效的服务。在服务运行过程中,持续的修改服务器,就犹如程序中的可变变量的值发生变化而引入的状态不一致的并发风险。这些对于服务器的修改,同样会引入中间...阅读全文

Debian 9更新到最新的Linux内核

喜欢折腾的同学,会豪气如何升级 Debian Stretch 的内核到新版。遗憾的是现在能搜到的升级 Debian Linux 内核的文章多数是使用Ubuntu的deb安装包,其实这样装上去是有问题,常见的问题是,总会提示需要 apt --fix-broken install 。 这里简单一下,如何使用Debian官方源更新到最新的内核;以及如何是用 Kernel.org 的deb源,更新内核到最新的 5.x 版本。 修改更新源 name@debian.cn:~$ echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch...阅读全文

博文 2019-03-25 22:33:22 debian.cn

Focalboard :一款开源、本地存储、免费的类 Notion 应用

:这款软件支持笔记。同 Notion 一样,页面属性也支持文字框、数字、电话号码、超链接、单选、多选、时间等属性类型。具体文本编辑的话,与Notion有所不同。Notion 是可见即可得的富文本,Focalboard 则区分编辑模式和预览模式。此外,Notion 的每一个段落均是一个 Block,而 Focalboard 的每个编辑区域算一个 Block,允许用户自由拖拽。预览模式编辑模式平台:这款软件支持 Mac 、Linux、Windows 三个平台。软件版本:这款软件包括两个版本:一个是个人桌面版本(Focalboard Personal Desktop),一个是个人服务器版本(Focalboard Personal Server)。前者是用于待办事项和个人项目的桌面应用程序,后者则...阅读全文

博文 2021-09-16 19:50:29 少数派

基于thanos搭建分布式prometheus

: failureThreshold: 10 httpGet: path: /-/ready port: 9090 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 terminationGracePeriodSeconds: 60 thanos-querier需要指定反向代理的列表,它支持基于DNS SRV的服务发现机制,因为thanos querier部署在K8S集群内,所以直接走coredns的DNS SRV发现thanos receive的所有POD地址即可,对应参数:–store=dnssrv+_grpc._tcp.thanos...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

五款流行开源的 HIDS 系统简单介绍

火墙等),OSSEC作为强大的日志分析引擎是一个不错的选择。​后来的发行版增加了用于基于debian的系统的身份验证日志文件,以及用于分析(3.6.0)的非标准Sophos UTM时间戳,用于缩进日志的多行日志收集(3.5.0)以及对多行的其他升级。。2. Tripwire顾名思义,这是Tripwire开发的基于主机的免费开放源代码检测系统。该公司也提供商业解决方案,但我们将专注于开源HIDS。开源的Tripwire软件包仅在几乎所有Linux发行版上运行。它以确保数据完整性的强大功能而闻名,它可以帮助系统管理员检测对系统文件的更改,并在文件损坏或被篡改时通知他们。要将其安装在Linux主机上,只需使用apt-get或yum实用程序。在安装过程中,系统将要求您添加必需的密码。最好选择一个...阅读全文

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 一、perf 命令 让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。 $ sudo perf record -F 99 -p 13204 -g -- sleep 30 上面的代码中,perf record表示,-F 99表示每秒99次,-p 13204是进程号,即对哪个进程进行分析,-g表示调用栈,sleep 30则是持续30秒。 运行后会产生一个庞大...阅读全文

博文 2022-03-11 10:05:09 博客园

Monit:开源服务器监控工具

CHECK PROGRAM PATH [TIMEOUT SECONDS] 是可执行程序或脚本的绝对路径。该状态测试允许一个检查程序的退出状态。如果程序没有在秒内完成执行,Monit将终止它。默认程序超时为300秒(5分钟)。程序的输出被并在用户界面和警报中可用,默认情况下最大为512B。您可以使用set limits语句自定义限制。 网络 CHECK NETWORK

| INTERFACE > 是受监视网络接口的IPv4或IPv6地址。也可以在Linux上使用接口名称,例如“eth0...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

红帽 2017 峰会 第三天回顾:自动化的未来

器交付给OpenShift 将控制接口暴露给Ansible 将数据接口暴露给Insights Paul Cormier在主题演讲上对目前红帽各个产品线所处的位置和相互关系进行了梳理,可参考文末附录部分的演讲截图。 其他:跨领域开源 从两年前开始,红帽成立了一个名为Open Source Stories的制片项目,平均每半年制作一个讲述跨领域开源案例的短片,至今已经发布了五个短片,分别涉及教育、义肢制作、脑肿瘤治疗、城市庆典活动组织、以及一套关于AI发展的系列。在本次峰会,红帽也邀请了新加坡GovTech创新实验室、开源硬件组织OSHWA.org、以及MIT开放农业实验室(Media Lab下的OpenAg项目)等不同领域的负责人到现场分享。 与传统企业数字转型的目标类似,跨领域开源的目标...阅读全文

博文 2021-01-28 17:50:29 debian.cn

全民HTTPS时代:盘点免费SSL证书那些事儿

Signing Request),这里有 CSR 在线生成工具。参考网址:https://www.csr.sh/ 五、Cloudflare 官方网站:https://www.cloudflare.com/ 点评:Cloudflare 很早就开始提供免费 SSL 证书,前提是你的域名要放在 Cloudflare 解析,注册为 Free Plan 就可以。 备注:只要域名加入 Cloudflare Free Plan,解析 A 的时候,点击 Traffic to this hostname will go through Cloudflare,就可以了。一般情况下,这个免费的 Universal SSL 里会包含一大堆别人的域名(该证书也是 Comodo 发行的)。当然,如果你比较介意这个的话,可以付费...阅读全文

AWS EKS 添加IAM用户角色 - SRE运维博客

的联合身份用户。如果使用不属于 aws-auth ConfigMap 的 IAM 用户或角色访问 Amazon EKS 控制台,则无法看到 Kubernetes 工作负载。也不会看到集群的概览详细信息。所以要向其他 AWS 用户或角色授予与集群交互的能力,您必须在 Kubernetes 中编辑 aws-auth ConfigMap。 因为部门有不通的角色,所以想基于不通的角色分配不同的权限,下面是添加一个对 EKS 只有只读权限的 AIM 用户。 {{< notice info "注意:" >}} 如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请确保您使用的是最新版的 AWS CLI。 {{< /notice >}} 为 IAM 用户或角色配置权限 要查找具有主要...阅读全文

博文 2022-12-19 21:15:27 博客园

Debian下编译安装Golang

拉下来,非常耗时;在GitHub连接不稳定时,也可能会失败。这属于网络问题,读者也需自行解决。 按时间顺序,这里了一些相关的坑。如果想直接按照正确的步骤完成编译,可以跳到环境配置小节。 首次编译错误 Go不支持在根目录下编译,必须到src目录去。 $ cd src $ ./all.bash ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find ~/go1.4/bin/go. Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. 我本来就是因为只有Go1.3,才要从源码安装新版本的。现在找我要Go1.4,这可如何是好? 自举 Go从1.5版本开始实现“自举...阅读全文

博文 2021-01-28 17:50:16 debian.cn

7大维度看国外企业为啥选择gRPC打造高性能微服务

标准外,还需要选择一个易于扩展的框架。随着微服务的发展,企业需要越来越多的“开箱即用”功能,发展的同时,为系统增加了更多的复杂性。因此企业希望的功能包括: 异常处理 - 在请求级别提供一个处理异常的机制。它允许捕获有关请求的重要上下文元数据,例如发出请求的用户,可以用例外报告。我们使用Bugsnag轻松地监视这些异常。 智能重试 - 在特定条件下重试请求,例如仅在5xx状态码上。这包括支持各种退避策略,如指数退避。 服务发现配置 - 将通信框架连接到流行的服务发现应用程序(如Zookeeper,Eureka或Consul)的选项可以提供一种快速简便的解决方案,以绕过企业的架构来请求路由。 度量、跟踪和日志 - 可观察性对于复杂的分布式系统是必不可少的,但是应该小心监视的内容。在服务边界自...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Redis 命令、特性介绍与性能调优

该数据的主体而仅仅是同步过来的备份,那么可以关闭Redis的数据持久化机制。 但通常来说,仍然建议至少开启RDB方式的数据持久化,因为: RDB方式的持久化几乎不损耗Redis本身的性能,在进行RDB持久化时,Redis主进程唯一需要做的事情就是fork出一个子进程,所有持久化工作都由子进程完成 Redis无论因为什么原因crash掉之后,重启时能够自动恢复到上一次RDB快照中的数据。这省去了手工从其他数据源(如DB)同步数据的过程,而且要比其他任何的数据恢复方式都要快 现在硬盘那么大,真的不缺那一点地方 RDB 采用RDB持久方式,Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据。可以在配置文件中配置Redis进行快照保存的时机...阅读全文

博文 2018-10-27 10:37:55 debian.cn

六个开源软件开发的潜规则

正如体育界不成文的规定一样,这些规则基本上不会出现在官方文档和正式上。比如说,在棒球运动中,从比分领先时不要盗垒,到跑垒员跑了第一时也不要放弃四坏球保送。对于圈外人来讲,这些东西很难懂,甚至觉得没什么意义。但是对于那些想成为 MVP 的队员来说,这些都是理所当然的。 软件开发,特别是开源软件开发中,也有一套不成文的规定。和其它的团队运动一样,这些规定很大程度上决定了开源社区如何看待一名开发者,特别是新加入社区的开发者。 按部就班,循序渐进 在参与社区之前,比如开放源代码或者其它什么的,你需要做一些基本工作。对于有眼界的开源贡献者,这意味这你需要理解社区的目标,并学习应该从哪里起步。人人都想贡献源代码,但是只有少量的人做过准备,并且乐意、同时也有能力完成这项艰苦卓绝的工作:测试补丁、复审...阅读全文

博文 2017-05-20 10:27:11 debian.cn

Kubernetes v1.21 新特性预览

Kubernetes 集群(Identity Provider,标识提供者)与外部系统(relying parties, 依赖方)所分发的服务账号令牌。CRIContainerLogRotation 进入稳定版本,kubelet 将会自动为 containerd 等 CRI 容器运行时轮换日志。结构化日志(Structured Logging)进入 Beta,很多组件的日志都改成以 JSON 格式,这样第三方日志处理系统就可以方便地从日志中解析出日志所对应的资源对象和资源属性。EfficientWatchResumption 进入 Beta,kube-apiserver 重启后 watch 缓存将更高效的恢复,更好的支持大规模集群。CSIServiceAccountToken 进入 Beta,使得 CSI...阅读全文

博文 2021-03-30 20:24:36 mp.weixin.qq.com

如何在 Debian服务器 上启用双因子身份验证

-authenticator 运行这个程序时,会问到几个问题。你应该以适合你的设置的方式回答,最安全的选项是对每个问题回答y。如果以后需要更改这些选项,你可以简单地重新运行 google-authenticator 并选择不同的选项。 当你运行 google-authenticator 时,一个二维码会被打印到终端上,二维码下方的代码样例如下: Your new secret key is: 75YD5PTE6R65BYFR2AWQGUV6FE Your verification code is 781629 Your emergency scratch codes are: 12321432 29069242 34406891 34387624 79357602 你应该将所有这些代码到一个像密码管理器一样安全的...阅读全文

博文 2018-12-05 11:44:56 debian.cn

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

”,那么这些信息也受CCPA的管辖。 (3) 在CCPA的列举部分,针对个人信息的大类,将一些GDPR适用过程中易产生争议的数据类型明确列举进CCPA的管辖范围。如“音频、视觉、热、嗅觉或类似信息”、“包括意图或实际购买商品或服务的、消费历史或消费趋势”等等。[4] (4) 在CCPA的列举部分,针对个人信息的小类进行了更加细致的列举式说明:例如CCPA对生物信息的内涵做了如下说明:“包括个体的DNA……虹膜、视网膜、……静脉图案成像、录音图像……面部印记、声纹、以及包含识别信息的击键模式、节奏、步态模式或节奏”等等。 1.3 小结 针对个人数据或个人信息的界定,与GDPR以抽象概念定义模式相比,CCPA结合抽象定义与不完全列举两种方式,一方面通过抽象定义对个人信息的管辖范围划定边界,另...阅读全文

最全的 DevOps 工具集合

就会使用管理员定义的策略。 Kubernetes 架构(灰色部分是容器,彩色部分是 pods),©GoogleInc. 监控和工具 监控和工具主要是为了在发生故障时快速响应,快速恢复,同时减少事故期间的人员参与。目前业内比较常用的监控和工具包括 ELK Stack、Datadog、New Relic、Prometheus、Zipkin 和 Azure Monitor。 ELK Stack ELK Stack 是三个开源产品的集合——它们分别是 Elasticsearch、Logstash 和 Kibana。它们都是由 Elastic 公司开发、管理和维护的。 E 代表 ElasticSearch,用于存储日志 L 代表 Logstash,用于传输、处理和存储日志 K 代表...阅读全文

博文 2021-05-26 14:35:21 博客园

使用 MongoDB 之前应该知道的 14 件事

返回一个空的集 。 Lookup 而没有索引支持 Lookup 的功能和 SQL 联合查询类似。为了获得良好的性能,作为外键的键值上需要有索引。这并不明显,因为其使用并没有在 explain() 中报告。这些索引并不包含在 explain() 的索引里,那些索引是供管道操作符$match、$sort 出现在管道开始时使用的。现在,索引可以覆盖聚合管道的任何阶段 。 不使用多条更新 db.collection.update() 方法用于修改一个已存在文档的一部分或全部,或者是整个替换一个已存在的文档,这取决于你提供的 更新参数 。除非你设置 multi 参数,更新匹配查询条件的所有文档,否则它不会更新集合里的所有文档。这一点不是那么明显。 忘记哈希对象中键序的意义 在 JSON 中,一...阅读全文

Gitlab CI 配置文件 .gitlab

的job,则需要测试的提交应该在克隆的Git历史中存在。设置GIT_DEPTH太小的值可能会导致无法运行哪些旧的commits。在job日志中可以查看unresolved reference。你应该考虑设置GIT_DEPTH为一个更大的值。 当GIT_DEPTH只设置了部分存在的时,哪些依赖于git describe的jobs也许不能正确的工作。 只抓取或克隆最后的3次commits: variables: GIT_DEPTH: "3" Hidden keys GitLab 8.6 和 GitLab Runner v1.1.1引入。 Key 是以.开始的,GitLab CI 将不会处理它。你可以使用这个功能来忽略jobs,或者用Special YAML features 转换隐藏键为...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

阿里巴巴版 JDK 首发 GA 版 生产环境可用

消耗,更快的进入全速运行状态。 Java Flight Recorder(JFR) JFR 全名是 Java Flight Recorder(Java 飞行仪)。众所周知,JFR 是 Oracle JDK 的商业收费功能,需要付费才可使用,虽然后期通过 OpenJDK 11 开源,但 Java 8 的用户群体无法使用且该部分人群较为庞大。因此,阿里巴巴开源 Dragonwell JDK 之时,便决定将该功能移植到 Alibaba Dragonwell 8 中供开发者使用。Java 开发人员可以通过 JFR 收集 JVM 运行过程中的详细 profiling 信息,配合 Java Mission Control (JMC), 提高 Java 应用的问题诊断及性能优化效率。 在本次的 GA...阅读全文

博文 2019-07-11 10:24:52 debian.cn

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

本文如何从 Debian 安装 Proxmox VE,以及配置 IPv4 和 IPv6 网卡,为硬盘分区。 预配置系统装好后,从 NOCIX 后台面板取得 登陆用户名 和 密码。 用户名是 customer密码是一串随机生成的字符串 使用 su 切换到 root 还需要输入密码,这样频繁操作比较麻烦。 免密登陆 root安装 sudo 实现免密 su 12apt updateapt install -y sudo 修改 /etc/sudoers 文件注意:只能用 visudo 交互式来修改 sudoers 文件 这是为了防止被脚本修改,就别想用 echo 来改了 visudo 会验证配置的格式,如果不验证,而你写的配置有问题,那么你无法切换到 root,而只有 root 用户才能修改...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

译:Kubernetes 最佳实践

。控制平面是 K8s 的核心,这些组件保持系统运行,因此对于正确 K8s 操作至关重要。 Kubernetes API、kubelet、etcd、controller-manager、kube-proxy 和 kube-dns 组成了控制平面。控制平面组件可以以最常见的 K8s 监控工具 Prometheus 兼容的格式输出指标。应该使用自动监控工具而不是手动管理告警。可以在启动 kube-apiserver 时打开 K8s 中的审计日志,以便使用选择的工具进行更深入的调查。audit.log 将详细向 K8s API 发出的所有请求,并应定期检查集群上可能存在的任何问题。Kubernetes 集群默认策略在 audit-policy.yaml 文件中定义,可以根据需要进行修改...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Web前端知识体系精简

认为缓存已经过期(可能缓存还没有过期),在请求中加上字段:Cache-Control:max-age=0,发包向服务器查询是否有文件是否有更新。 强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件。 6、History操作 用户访问网页的历史通常会被保存在一个类似于栈的对象中,即history对象,点击返回就出栈,跳下一页就入栈。 它提供了以下方法来操作页面的前进和后退: window.history.back() 返回到上一个页面 window.history.forward() 进入到下一个页面...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

(NameSpace) HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。 Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被 Namenode 下来。 HDFS 会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。 4. NameNode 元数据管理 我们把目录结构及文件分块位置信息叫做元数据。NameNode 负责维护整个 HDFS 文件系统的目录树结构,以及每一个文件所对应的 block 块信息(block 的...阅读全文

aptitude 与 apt

dumpavail——打印可用软件包列表。apt-cache show pkgs——显示软件包,类似于dpkg –print-avail。apt-cache pkgnames——打印软件包列表中所有软件包的名称。dpkg -S file——这个文件属于哪个已安装软件包。dpkg -L package——列出软件包中的所有文件。apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。 apt-file 是一个独立的软件包。您必须先使用 apt-get 来安装它,然後运行apt-file...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

运维的未来:云服务兴起,运维人员会“下岗”吗?

派的运维需负责运行该系统。 老派的运维通常是伪君子。他们主张严苛的 SDLC,然后在维护基础架构时却绕过了同样的 SDLC 。新运维意味着基础架构即代码。配置变化即代码。这两个哪个也没能免于开发人员必须遵守的 SDLC。我们编纂变更请求,使用不可改变的基础架构和 AMI。没经历此进程,我们不会把改变推送到真实环境中。同样地,我们需要对合规性和其他开发人员无法产生共鸣的 SDLC 要求进行编码,编到工具和进程中。进程并编纂价值。 老派运维总是同精益思维不一致。它完全是中断驱动——灭火后,一个接一个解决问题。同时,取得平衡非常重要。在集成环境中,使开发者团队能够 SSH 登录进 box 中或者将调试器附加到集合上,会阻止他们正确地调试应用程序吗?会促进痛苦移位吗?在运维思维和开发思维间取得平...阅读全文

博文 2021-01-28 17:50:31 debian.cn

成功运作一个开源项目的15个要点

少。 2、透明 这一点很容易理解:我们要使得社区可以观察和了解你正在做的事情:使用易于查找的可公开访问的源代码存储库,使用面向公众的问题跟踪软件,在社区可以找到的地方公布发布计划,以及在公共论坛捕获会议(例如归档邮件列表)。 3、开放 对于很多开源项目来说,“透明度”和“开放性”意味着同一件事,但其实这两个术语的含义截然不同。开放不仅仅指的是“一目了然”(这与透明本质上是一样的)。对于许多人来说,开源的“开放”意味着开放新思想,或开放参与。参与开源项目的规则对于每个人应该是一样的(“公平的竞争环境”):仅仅接受几个补丁是不够的,你必须对新的思路点子开放。总之,你必须允许别人参与你的项目,放弃对项目的绝对控制。 4、保持“公平的竞争环境” 这并不一定意味着你必须让任何人加入项目,而是要确保...阅读全文

博文 2017-11-08 09:58:28 debian.cn

架构师详解 Nginx 架构

引言:众所周知,Nginx 服务器是一个高性能的 Web 和反向代理服务器。Nginx 在激烈的 Web 服务器竞争中依旧保持良好的发展势头,一度成为 Web 服务器市场的后期之秀,这一切跟 Nginx 的架构设计是分不开的。 一. Nginx 模块化设计 高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。 核心模块 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志、配置文件解析、事件驱动机制、进程管理等核心功能。 标准 HTTP 模块 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。 可选...阅读全文

博文 2018-05-01 23:10:47 debian.cn

下一代时间同步服务 Chrony 详解

。该参数的含义是在头四次 NTP 请求以 2s 或者更短的间隔,而不是以 minpoll x 指定的最小间隔,这样的设置可以让 chronyd 启动时快速进行一次同步。 其他的参数有 minpoll x 默认值是 6,代表 64s。maxpoll x 默认值是 9,代表 512s。 driftfile file Chrony 会根据实际时间计算修正值,并将补偿参数在该指令指定的文件里,默认为 driftfile /var/lib/chrony/drift。 与 ntpd 或者 ntpdate 最大的区别就是,Chrony 的修正是连续的,通过减慢时钟或者加快时钟的方式连续的修正。而 ntpd 或者 ntpdate 搭配 Crontab 的校时工具是直接调整时间,会出现间断,并且相同时间可能...阅读全文

博文 2021-01-04 08:41:14 debian.cn

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

和对生产系统的访问控制就变成了一个现实可控的问题。明略科技曾经在接受采访时表示: 对于运维人员的审核,最好对每个运维线上的操作都能“操作前有审批”、“操作中有”、“操作后有核对”,在数据备份方面要做到权责分离。 当然,这不失为一个好办法,但对于运维员工自身来说,保持基本的职业操守或许更为重要。...阅读全文

博文 2020-03-17 20:42:41 debian.cn

SVN切换分支用法汇总

new_URL 该命令的作用是将版本库中的old_URL目录重命名为new_URL。这个操作如果已经提交到版本库就意味着旧目录不存在了,新目录被创建,并且历史中会出现重命名的信息。三、SVN切换分支操作步骤下面为大家介绍一下,如何使用SVN进行切换分支的操作。这里以Windows环境下的操作为例,其他系统只需要将命令替换为对应系统的命令即可。1. SVN环境配置在使用SVN前,需要先进行环境配置。具体步骤如下:Step 1:下载SVN客户端。下载地址:https://tortoisesvn.net/downloads.html,选择对应的系统版本即可。Step 2:安装SVN客户端。双击下载后的安装程序,根据指示进行安装。Step 3:配置环境变量。进入系统变量中,将SVN安装路径添加到Path变量...阅读全文

博文 2023-06-09 14:22:35 infras

提问的智慧 – 全文

散开发者们的负担,个人开发者(尤其是项目领导)也可能太忙,以至于没法回答你的问题。 大多数论坛都会存档,那些存档将会被搜索引擎索引,如果你向论坛递交的提问得到解答,将来其他人可以通过网页搜索找到你的问题和答案,那么他们就不用再次提问了。 如果某些问题经常被问到,开发者可以利用此信息改进说明文件或软件本身,以使其更清晰明白。如果只是私下提问,就没有人能知道最常见问题是什么,也无法建立一个常见问题解答手册。 如果一个项目论坛中既有「用户」 也有「开发者」(或 「黑客」,而你又不钻研那些高深代码,那就向「用户」组论坛提问。不要以为自己会在「开发者」论坛中会受到欢迎,那些人只会认为你是一个在装逼的傻逼。 然而,如果你确信你的问题十分特殊,在「用户」组论坛中提问了好几天都没有回复,可以尝试在「开发...阅读全文

博文 2009-10-01 13:18:00 debian.cn

说透IO多路复用模型_京东云开发者的博客

了解这三块内容,即:inode,链表,红黑树。 在linux内核中,针对当前打开的文件,有一个open file table,里面的是所有打开的文件描述符信息;同时也有一个inode table,里面则的是底层的文件描述符信息。这里假如文件描述符B fork了文件描述符A,虽然在open file table中,我们看新增了一个文件描述符B,但是实际上,在inode table中,A和B的底层是一模一样的。这里,将inode table中的内容理解为windows中的文件属性,会更加贴切和易懂。这样存储的好处就是,无论上层文件描述符怎么变化,由于epoll监控的数据永远是inode table的底层数据,那么我就可以一直能够监控到文件的各种变化信息,这也是epoll高效的基础。更多详...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

中国开源人访谈系列之:清风博主

基本为技术相关的文章。请问起初做这个网站的初衷是什么呢?关于网站还有其他需要说的吗? 答:原来写过一个成绩分析的php小程序(phpcj的由来),放到网上,得到不少人的鼓励,于是就申请了个域名作为程序的网站。后来在朋友的建议下,做成了博客。说是博客,也就是一个个人笔记,一下遇到的问题如何解决的,方便以后查询,好记性不如一个烂笔头嘛!有时遇到问题,搜索一下,也会搜索到自己的博客上,咦,以前不是遇到过这个问题么? 11.作为一名狂热的Linux爱好者,能介绍下日常你怎么折腾技术或者Linux的吗?您喜欢哪些呢,能与我们分享吗? 答:由于喜欢折腾各种发行版,笔记本上目前有若干个Linux最新的发行版,现在是 Gentoo + Ubuntu16.04 + Archlinux + Fedora23...阅读全文

博文 2021-01-28 17:50:13 debian.cn

互联网协议正在发生变化

,全新打造的 “握手”机制允许应用程序数据从头开始流动(经常被称为 ‘0RTT’)。新的设计依赖于短暂密钥交换,从而排除了静态密钥。 这引起了一些网络运营商和供应商的担心 —— 尤其是那些需要清晰地知道那些连接内部发生了什么的人。 例如,假设一个对可视性有监管要求的银行数据中心,通过在网络中嗅探通讯包并且使用他们的服务器上的静态密钥解密它,它们可以合法通讯和识别有害通讯,无论是来自外部的攻击,还是员工从内部去泄露数据。 TLS 1.3 并不支持那些窃听通讯的特定技术,因为那也是 一种针对短暂密钥防范的攻击形式。然而,因为他们有使用更现代化的加密协议和监视他们的网络的监管要求,这些使网络运营商处境很尴尬。 关于是否规定要求静态密钥、替代方式是否有效、并且为了相对较少的网络环境而减弱整个互联网...阅读全文

域名与商标: 如何防止域名被仲裁

域名,是用以简化服务器IP地址的马夹,所以,域名只有通过解析到具体的IP地址才能访问网站,就相当于给IP地址穿上的一件马夹,避免我们去记那一长串的数字。可以说,域名的价值是依托于服务器的,没有域名的服务器,可以用IP地址访问,而不解析的域名,就仅仅只是一串字符而已。 商标,是用以区分商品(或服务)来源的一种显著标志,不同公司提供的相同商品,对于大众而言,商品上印刷的标志,代表的就是不同公司。商标的价值,是依托于产品和公司的。 由这一点来看,商标和域名是有其相似性的,广义上来说,它们都是一种指代的符号而已。 但是,域名由于其技术特性,它是虚拟的和全球唯一的,同样的域名不可能同时被两个人注册,它遵循着先注先得的原则,而商标,则允许在不同领域,由不同的人持有相同的商标,比如中国的“中华...阅读全文

博文 2019-01-18 14:59:59 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

](https://www.kubeflow.org/docs/components/training/tftraining/)资源,可以轻松创建上面提到的 TensorFlow 分布式策略。TFJob 可以识别容器化的 TensorFlow 代码中定义的分布式策略,并可以使用一组内置组件和控制逻辑对其进行管理。使得在 Kubeflow 中实现 TensorFlow 的分布式训练成为可能的组件包括: - Chief:组织分布式训练并执行模型检查点。 - Parameter Server:协调异步分布式训练和计算梯度。 - worker:执行学习任务。 - Evaluator:计算和评估指标。 上述组件可以在 TFJob 中配置,TFJob 是一个用于 TensorFlow 训练的 Kubeflow...阅读全文

kubelet 中垃圾回收机制的设计与实现

%d bytes", amountToFree, freed) im.recorder.Eventf(im.nodeRef, v1.EventTypeWarning, events.FreeDiskSpaceFailed, err.Error()) return err } } return nil }im.freeSpaceim.freeSpace 是回收未使用镜像的方法,其主要逻辑为:1、首先调用 im.detectImages 获取已经使用的 images 列表作为 imagesInUse;2、遍历 im.imageRecords 根据 imagesInUse 获取所有未使用的 images 信息,im.imageRecords node 上所有 images 的信息;3、根据使用...阅读全文

博文 2021-02-05 17:48:22 知乎

深入理解Golang之context

context链可能是这样的:当前cancelCtx的父节点context并不是一个可取消的context,也就没法children。timerCtxtimerCtx是一种基于cancelCtx的context类型,从字面上就能看出,这是一种可以定时取消的context。type timerCtx struct { cancelCtx timer *time.Timer // Under cancelCtx.mu. deadline time.Time } func (c *timerCtx) Deadline() (deadline time.Time, ok bool) { return c.deadline, true } func (c *timerCtx) cancel...阅读全文

博文 2021-01-27 09:05:27 知乎

译:零信任对 Kubernetes 意味着什么

是我们如何保护基础设施、网络和数据的哲学的巨大范式转变。”当然,零信任并不意味着抛弃防火墙——纵深防御是任何安全策略的重要组成部分。这也不意味着我们可以忽略所有其他重要的安全组件,例如事件和供应链管理。零信任只要求我们将信任检查从“一次在边界”转移到“每次,无处不在”。然而,为了正确地做到这一点,我们需要重新考虑一些关于“信任”意味着什么以及我们如何捕捉它的基本假设。身份零信任最直接的影响之一是它改变了我们思考和分配身份的方式,尤其是系统身份。在边界模型中,位置实际上就是身份。如果在防火墙内,那么是可信的;如果你在它之外,就不是。因此,基于边界的系统可以允许基于客户端 IP 地址等信息访问敏感系统。在零信任世界中,这已经不够了。IP 地址仅用于指示位置,因此不再足以确定是否可以访问特定资...阅读全文

分布式运行时 Dapr 知多少

/actors///reminders/ 6. Observability(遥测) Dapr指标,日志,链路以调试和监视Dapr和用户应用的运行状况。 Dapr支持分布式跟踪,其使用W3C跟踪上下文标准和开放式遥测技术,可以轻松地诊断在生产环境中服务间的网络调用,并发送到不同的监视工具,如Prometheus。 7. Secrets(安全) Dapr 提供了Secret管理,不过不同于K8S中的Secret,其支持与公有云和本地的Secret存储集成,以供应用检索使用。 What Can We Do With Dapr 了解了Dapr是什么,以及其提供的特性,那Dapr的应用场景就一目了然了。也就是官网首页的Slogan:Simplify...阅读全文

RabbitMQ 高可用实现镜像队列

消息的同步方式,有效值为 automatic 和manual 2. 通过监控面板设置镜像队列 请注意一个事实,镜像配置的 pattern 采用的是正则表达式匹配,也就是说会匹配一组。 RabbitMQ集群节点失效,MQ处理策略: 如果某个 slave 失效了,系统处理做些外几乎啥都不做:master 依旧是master,客户端不需要采取任何行动,或者被通知 slave 失效。 如果 master 失效了,那么 slave 中的一个必须被选中为 master。被选中作为新的 master 的 slave 通常是最老的那个,因为最老的 slave 与前任 master 之间的同步状态应该是最好的。然而,特殊情况下,如果存在没有任何一个 slave 与 master 完全同步的情况,那么前任...阅读全文

博文 2018-12-30 19:21:59 debian.cn