<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>An</title>
		<link>https://ninesue.online/</link>
		<description>Recent content on An</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Mon, 25 May 2026 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://ninesue.online/feed.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>CoreDNS 是怎么知道映射的</title>
				<link>https://ninesue.online/posts/coredns/</link>
				<pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/coredns/</guid>
				<description>&lt;h2 id=&#34;coredns&#34;&gt;CoreDNS&lt;/h2&gt;&#xA;&lt;p&gt;首先 DNS 解决的问题不必多说，就是&lt;strong&gt;域名和 IP 的映射&lt;/strong&gt;。在单机宿主机我们可以采用配置 &lt;code&gt;/etc/hosts&lt;/code&gt; 的方式来改变映射。而在 k8s 集群的环境下，他们又是如何解决的呢。&lt;/p&gt;&#xA;&lt;p&gt;k8s 设计了一种组件叫 &lt;strong&gt;CoreDNS&lt;/strong&gt;，字面意思&lt;strong&gt;核心域名解析系统&lt;/strong&gt;，旨在为资源对象解决域名映射的问题。&lt;/p&gt;</description>
			</item>
			<item>
				<title>从底层看 Rust 的闭包、trait object 与 enum</title>
				<link>https://ninesue.online/posts/rust/</link>
				<pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/rust/</guid>
				<description>&lt;h2 id=&#34;一个视角&#34;&gt;一个视角&lt;/h2&gt;&#xA;&lt;p&gt;我遇到一个问题，Rust 的枚举类似于一个对象，可以包裹数据，那它到底是怎么做到的？&#xA;对比 C，其实就是 union（联合体）+ tag，也就是 &lt;strong&gt;tagged union&lt;/strong&gt;，那不妨放到汇编里讲。&lt;/p&gt;</description>
			</item>
			<item>
				<title>解决 VMware 缺失 vmci 内核模块问题</title>
				<link>https://ninesue.online/posts/vmwarekm/</link>
				<pubDate>Sat, 13 Dec 2025 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/vmwarekm/</guid>
				<description>&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;&#xA;&lt;h3 id=&#34;错误--环境版本&#34;&gt;错误 &amp;amp; 环境版本&lt;/h3&gt;&#xA;&lt;p&gt;我想启动我部署好的虚拟机，但显示如下错误。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Unable to change virtual machine power state: Failed to open device &lt;span class=&#34;s2&#34;&gt;&amp;#34;/dev/vmci&amp;#34;&lt;/span&gt;: ?????????&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please make sure that the kernel module &lt;span class=&#34;s1&#34;&gt;&amp;#39;vmci&amp;#39;&lt;/span&gt; is loaded.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Module &lt;span class=&#34;s1&#34;&gt;&amp;#39;DevicePowerOn&amp;#39;&lt;/span&gt; power on failed.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Failed to start the virtual machine.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sa@SA:~$ vmware -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;AppLoader&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Use shipped Linux kernel AIO access library.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;An up-to-date &lt;span class=&#34;s2&#34;&gt;&amp;#34;libaio&amp;#34;&lt;/span&gt; or &lt;span class=&#34;s2&#34;&gt;&amp;#34;libaio1&amp;#34;&lt;/span&gt; package from your system is preferred.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VMware Workstation 17.6.0 build-24238078&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sa@SA:~$ lsb_release -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;No LSB modules are available.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Distributor ID:&#x9;Ubuntu&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Description:&#x9;Ubuntu 24.04.3 LTS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Release:&#x9;24.04&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Codename:&#x9;noble&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&#xA;&lt;h2 id=&#34;问题分析--解决方案&#34;&gt;问题分析 &amp;amp; 解决方案&lt;/h2&gt;&#xA;&lt;p&gt;这个错误表明缺少某个内核模块。。查找后发现是 &lt;code&gt;vmci&lt;/code&gt;（Virtual Machine Communication Interface）缺少,既然少，那就添呗。&lt;/p&gt;</description>
			</item>
			<item>
				<title>简单反推文件系统</title>
				<link>https://ninesue.online/posts/wen-jian-xi-tong/</link>
				<pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/wen-jian-xi-tong/</guid>
				<description>&lt;h1 id=&#34;俺对-linux-文件系统vfs的理解&#34;&gt;俺对 Linux 文件系统（VFS）的理解&lt;/h1&gt;&#xA;&lt;p&gt;我最近复习了一下文件系统，按我的理解，其实一开始系统里最核心的东西就两个：&lt;strong&gt;superblock&lt;/strong&gt; 和 &lt;strong&gt;inode&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;superblock&lt;/strong&gt; 表示整个文件系统的元信息&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;inode&lt;/strong&gt; 表示某个文件本身的元数据&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;从最简化的情况来说，这俩东西就能构建一个最基础的文件系统了。&#xA;另外，在传统 UNIX 的设计里，inode 本身就 &lt;strong&gt;不保存文件名，也不记录自己父目录是谁&lt;/strong&gt;，这一点很关键，也是后面很多结构出现的原因。&lt;/p&gt;</description>
			</item>
			<item>
				<title>分布式软总线的一点随想</title>
				<link>https://ninesue.online/posts/fen-bu-shi-ruan-zong-xian-de-yi-dian-sui-xiang/</link>
				<pubDate>Thu, 13 Nov 2025 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/fen-bu-shi-ruan-zong-xian-de-yi-dian-sui-xiang/</guid>
				<description>&lt;h2 id=&#34;故事的起源&#34;&gt;故事的起源&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;瞄到一行文字，HarmonyOS与Linux的IPC对比，HarmonyOS会更胜一筹，那么就引发我的好奇了，它为什么会更快呢？&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;思考脉络&#34;&gt;思考脉络&lt;/h2&gt;&#xA;&lt;h3 id=&#34;初窥&#34;&gt;初窥&lt;/h3&gt;&#xA;&lt;p&gt;先谈谈我的认识，可以第一时间想到的是，他在内核态和用户态的调用和数据搬运做了手脚。&lt;/p&gt;</description>
			</item>
			<item>
				<title>进程与线程</title>
				<link>https://ninesue.online/posts/process/</link>
				<pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate>
				<guid>https://ninesue.online/posts/process/</guid>
				<description>&lt;p&gt;在早期操作系统 &lt;strong&gt;Unix&lt;/strong&gt; 中，只有 &lt;strong&gt;进程&lt;/strong&gt; 作为最小调度单位。&lt;br&gt;&#xA;但进程过重，资源开销大，于是引出了 &lt;strong&gt;线程&lt;/strong&gt;。&#xA;而后进程作为资源分配的基本单位，线程则作为 CPU 调度的基本单位&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
