<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>虚拟化 on T.本秋的自留地</title>
    <link>https://blog.texsd.eu.org/tags/%E8%99%9A%E6%8B%9F%E5%8C%96/</link>
    <description>Recent content in 虚拟化 on T.本秋的自留地</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>Copyright© 2026 T.本秋. Licensed under CC BY-NC-SA 4.0.</copyright>
    <lastBuildDate>Mon, 07 Jul 2025 21:00:20 +0800</lastBuildDate><atom:link href="https://blog.texsd.eu.org/tags/%E8%99%9A%E6%8B%9F%E5%8C%96/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>黑群晖与 PVE：SMART 修复与 ACL 权限</title>
      <link>https://blog.texsd.eu.org/posts/synology-pve-smart-acl/</link>
      <pubDate>Mon, 07 Jul 2025 21:00:20 +0800</pubDate>
      
      <guid>https://blog.texsd.eu.org/posts/synology-pve-smart-acl/</guid>
      <description>
&lt;h2 class=&#34;relative group&#34;&gt;前言
    &lt;div id=&#34;前言&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;这是一篇记录自己折腾的过程的文章，可能会随着我的折腾过程补充，可能开会补一点动机或者小技巧之类的，所以你看到的不一定是完整版~&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;直通 SATA 控制器的硬盘 SMART 修复
    &lt;div id=&#34;直通-sata-控制器的硬盘-smart-修复&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%9b%b4%e9%80%9a-sata-%e6%8e%a7%e5%88%b6%e5%99%a8%e7%9a%84%e7%a1%ac%e7%9b%98-smart-%e4%bf%ae%e5%a4%8d&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;使用 PVE 直通我的 SATA 控制器进群晖，发现命令行的 SMART 的功能不正常，表现就是没法显示其中的详细信息，而且温度显示为 0°C。&lt;/p&gt;
&lt;p&gt;虽然群晖里面显示有温度，但是最新的 DSM7.2.2 已经没法在桌面端读取 SMART 信息了，不知道是出于什么考虑。&lt;/p&gt;
&lt;p&gt;在 shell 里面是这样的：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;texsd@tnas ~ [2]&amp;gt; sudo smartctl -a /dev/sata1
smartctl 6.5 (build date Sep 26 2022) [x86_64-linux-5.10.55+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               WDC
Product:              WD40EJRX-89AKWY0
Revision:             0B80
User Capacity:        4,000,787,030,016 bytes [4.00 TB]
Logical block size:   512 bytes
Physical block size:  4096 bytes
LU is fully provisioned
Rotation Rate:        5400 rpm
Form Factor:          3.5 inches
Logical Unit id:      0x50014ee2bed41999
Serial number:        WD-XXXXXXXXXXXX
Device type:          disk
Local Time is:        Thu Jul 10 21:23:30 2025 CST
SMART support is:     Unavailable - device lacks SMART capability.

=== START OF READ SMART DATA SECTION ===
Current Drive Temperature:     0 C
Drive Trip Temperature:        0 C

Error Counter logging not supported


[GLTSD (Global Logging Target Save Disable) set. Enable Save with &amp;#39;-S on&amp;#39;]
Device does not support Self Test logging
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我问了下 Gemini，跟我说消费级主板不支持，叫我买 LSI 卡，我当时想麻烦了，亏我专门找一块 4SATA 的板子。&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;问题解决
    &lt;div id=&#34;问题解决&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;我先是一通操作，把 SATA 控制器直通进 Arch 虚拟机，发现是能成功读取的。那说明是 DSM 出了点问题。在 RR 里面一通乱改添加&lt;code&gt;smartctl&lt;/code&gt;，本来以为成了，结果接上三块硬盘，一看，只有其中一块是正常的。&lt;/p&gt;
&lt;p&gt;看了网上一些教程，发现要手动指定设备类型，才能正确读出硬盘的 smart 信息。&lt;/p&gt;
&lt;p&gt;群晖手动改了 sata 盘的名字，不是 sd[a-z]了，而是 sata[1-9]。所以我得这样获取：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo smartctl -d sat -a /dev/sata1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;smartctl 6.5 (build date Sep 26 2022) [x86_64-linux-5.10.55+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD40EJRX-89AKWY0
Serial Number:    WD-XXXXXXXXXXXX
LU WWN Device Id: 5 0014ee 2bed41999
Firmware Version: 80.00B80
User Capacity:    4,000,787,030,016 bytes [4.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Form Factor:      3.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Jul 10 21:33:49 2025 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (41760) seconds.
Offline data collection
capabilities:                    (0x11) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        ( 443) minutes.
SCT capabilities:              (0x303d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME                                                   FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate                                              0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time                                                     0x0027   223   219   021    Pre-fail  Always       -       3850
  4 Start_Stop_Count                                                 0x0032   100   100   000    Old_age   Always       -       303
  5 Reallocated_Sector_Ct                                            0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate                                                  0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours                                                   0x0032   056   056   000    Old_age   Always       -       32405
 10 Spin_Retry_Count                                                 0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count                                          0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count                                                0x0032   100   100   000    Old_age   Always       -       203
192 Power-Off_Retract_Count                                          0x0032   200   200   000    Old_age   Always       -       79
193 Load_Cycle_Count                                                 0x0032   200   200   000    Old_age   Always       -       233
194 Temperature_Celsius                                              0x0022   110   105   000    Old_age   Always       -       40
196 Reallocated_Event_Count                                          0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector                                           0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable                                            0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count                                             0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate                                            0x0008   100   253   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Aborted by host               90%     32358         -
# 2  Short offline       Completed without error       00%     32333         -
# 3  Short offline       Completed without error       00%     25336         -
# 4  Short offline       Completed without error       00%     25093         -
# 5  Short offline       Completed without error       00%     15531         -
# 6  Short offline       Completed without error       00%     15527         -
# 7  Short offline       Completed without error       00%     15527         -
# 8  Short offline       Completed without error       00%      7694         -
# 9  Short offline       Completed without error       00%      6217         -
#10  Short offline       Completed without error       00%      3870         -
#11  Short offline       Completed without error       00%      3869         -
#12  Short offline       Completed without error       00%      3868         -
#13  Short offline       Completed without error       00%      3609         -
#14  Short offline       Completed without error       00%      3598         -
#15  Short offline       Completed without error       00%      3545         -
#16  Short offline       Completed without error       00%      3524         -
#17  Short offline       Completed without error       00%      3335         -
#18  Short offline       Completed without error       00%      3033         -
#19  Short offline       Completed without error       00%         0         -
#20  Short offline       Completed without error       00%         0         -
#21  Short offline       Completed without error       00%         0         -

Selective Self-tests/Logging not supported
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;确实获取到了，但是为什么呢？&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;问题溯源
    &lt;div id=&#34;问题溯源&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e9%97%ae%e9%a2%98%e6%ba%af%e6%ba%90&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;得懂能行，更得明白为什么可以这样。&lt;/p&gt;
&lt;p&gt;我去翻了&lt;code&gt;smartctl&lt;/code&gt;的 manual，里面关于&lt;code&gt;-d&lt;/code&gt;是这么写的：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;...

       smartctl guesses the device type if possible.  If necessary, the &amp;#39;-d&amp;#39; option can be used
       to override this guess.

...

       -d TYPE, --device=TYPE
              Specifies the type of the device.  The valid arguments to this option are:

              auto  -  attempt to guess the device type from the device name or from controller
              type info provided by the operating system or from a matching USB ID entry in the
              drive database.  This is the default.

              test - prints the guessed TYPE, then opens the device and  prints  the  (possibly
              changed) TYPE name and then exits without performing any further commands.

              ata  - the device type is ATA.  This prevents smartctl from issuing SCSI commands
              to an ATA device.

              scsi - the device type is SCSI.  This prevents smartctl from issuing ATA commands
              to a SCSI device.

              nvme[,NSID] - the device type is NVM Express (NVMe).  The optional parameter NSID
              specifies the namespace id (in hex) passed to the driver.  Use 0xffffffff for the
              broadcast namespace id.  The default for NSID is the namespace  id  addressed  by
              the device name.

              sat[,auto][,N]  -  the device type is SCSI to ATA Translation (SAT).  This is for
              ATA disks that have a SCSI to ATA Translation Layer (SATL) between the  disk  and
              the  operating  system.   SAT  defines two ATA PASS THROUGH SCSI commands, one 12
              bytes long and the other 16 bytes long.  The default is the 16 byte variant which
              can be overridden with either &amp;#39;-d sat,12&amp;#39; or &amp;#39;-d sat,16&amp;#39;.

              If &amp;#39;-d sat,auto&amp;#39; is specified, device type SAT (for ATA/SATA disks) is only  used
              if  the  SCSI INQUIRY data reports a SATL (VENDOR: &amp;#34;ATA     &amp;#34;).  Otherwise device
              type SCSI (for SCSI/SAS disks) is used.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;好家伙！原来是给我自动在猜啊😲&lt;/p&gt;
&lt;p&gt;康康你猜到了什么~&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;texsd@tnas ~&amp;gt; sudo smartctl -d &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt; /dev/sata1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;smartctl 6.5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;build date Sep &lt;span class=&#34;m&#34;&gt;26&lt;/span&gt; 2022&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;x86_64-linux-5.10.55+&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; build&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copyright &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;C&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata1: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SCSI&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; detected
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata1: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SCSI&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; opened
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;texsd@tnas ~ &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;255&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&amp;gt; sudo smartctl -d &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt; /dev/sata2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;smartctl 6.5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;build date Sep &lt;span class=&#34;m&#34;&gt;26&lt;/span&gt; 2022&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;x86_64-linux-5.10.55+&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; build&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copyright &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;C&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata2: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SCSI&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; detected
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata2: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SCSI&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; opened
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;texsd@tnas ~ &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;255&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&amp;gt; sudo smartctl -d &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt; /dev/sata3
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;smartctl 6.5 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;build date Sep &lt;span class=&#34;m&#34;&gt;26&lt;/span&gt; 2022&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;x86_64-linux-5.10.55+&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; build&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Copyright &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;C&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata3: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SCSI&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; detected
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata3 &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SAT&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;: Device open changed &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; from &lt;span class=&#34;s1&#34;&gt;&amp;#39;scsi&amp;#39;&lt;/span&gt; to &lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/dev/sata3 &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;SAT&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;: Device of &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;sat&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ATA&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; opened
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;所以问题已经很清晰了，PVE 在把 SATA 控制器直通的时候，识别出了一点问题，没有正确的报告需要使用 sat(SCSI to ATA Translation)，同时 DSM 配套的&lt;code&gt;smartctl&lt;/code&gt;太旧了，猜错了，没有猜到这一个 SCSI 控制器是需要使用 sat 来翻译，直接使用 SCSI 来获取 SMART 信息，就没法读取到正确的信息。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;但是为什么是 SCSI 控制器？我不是把 PCIe 设备直通吗？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;这还是挺奇妙的，因为 PVE 很懒，只想加载一个 VirtIO SCSI 驱动，不想再折腾一个 SATA 驱动，所以虚拟机看到的，是一个 SCSI 设备，想猜出是 sat，得靠点想象力。&lt;/p&gt;
&lt;p&gt;但是新版的&lt;code&gt;smartctl&lt;/code&gt;就成功了，&lt;del&gt;这就不得不提 Arch 的滚动更新的优越性了&lt;/del&gt;&lt;/p&gt;
&lt;p&gt;一些知识补充：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SCSI 并不是为了磁盘而生的，而是一个系统的接口，用于连接大量外围设备的。它的成本早期非常高昂，需要一个独立的 SCSI 控制器，所以只有高端工作站才用得起。八十年代，IBM 兼容机崛起，为了降低成本，人们开发了 ATA (IDE)，这个控制器的成本低廉，而且控制部分集成在硬盘上，大幅降低了成本。（这就是为什么 SAS 硬盘没法接在 SATA 控制器上，但是反过来就可以）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;突然想起了*nix 和 dos 的斗争，当年的 dos 也太简陋了，连用户管理都没有，早年我说这设计那么垃圾的系统，自动补全又没有，用的逆天的反斜杠，怎么当时会抢占那么多市场？&lt;/p&gt;
&lt;p&gt;但是人家确实打下了市场，就是因为硬件要求低。&lt;/p&gt;
&lt;p&gt;所以说当时降本是当时时代的趋势，就算现在 SAS 阵列卡已经白菜价了，*nix 甚至占用比 Windows 还低，但是前者估计是不太可能回到消费级电子领域了，后者可能还有点希望，得指望 deepin 和信创了。&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;群晖的文件权限管理
    &lt;div id=&#34;群晖的文件权限管理&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%be%a4%e6%99%96%e7%9a%84%e6%96%87%e4%bb%b6%e6%9d%83%e9%99%90%e7%ae%a1%e7%90%86&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;我们已经早都知道，传统的 Linux 权限很简单而且很不方便，只能设置所有者、组和其他的权限，随后拓展出来的 ACL 规则则很灵活。但是群晖上面没有&lt;code&gt;setfacl&lt;/code&gt;和&lt;code&gt;getfacl&lt;/code&gt;之类的命令，取而代之的是&lt;code&gt;synoacltool&lt;/code&gt;，应该是存了数据库以便 web 也能够正确使用这些权限。&lt;/p&gt;
&lt;p&gt;我从旧 NAS 迁移过来的数据是使用 rsync 的，旧 nas 的权限管理比较混乱，导致所有存储的文件都是 UID0（root），迁移过来就造成了一些问题。&lt;/p&gt;
&lt;p&gt;我不知道群晖是怎么实现网页可以读写的，但是我在 shell 里面就没法进入这些文件夹，此时就需要修复。&lt;/p&gt;
&lt;p&gt;群晖提供的方便的 webui 来修改，在共享文件夹的子文件夹右键 - 属性 - 权限。此时会显示此共享文件夹默认配置的权限，点击下面的“应用到这个文件夹、子文件夹及文件”，保存。此时群晖就把这个文件夹改成 ACL 模式，使得在 shell 里面也能访问。&lt;/p&gt;
&lt;p&gt;但是我有些疑问：&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;1. 为什么改 ACL 那么快？
    &lt;div id=&#34;1-为什么改-acl-那么快&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e4%b8%ba%e4%bb%80%e4%b9%88%e6%94%b9-acl-%e9%82%a3%e4%b9%88%e5%bf%ab&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;当您在 File Station 的图形界面中勾选“应用到子文件夹&amp;hellip;”时，您不是在运行一个简单的脚本，而是在向 DSM 的核心服务发出一个高级指令。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;这个指令更像是：“嘿，DSM 内核/存储服务，请你用最高效的方式，把这个 ACL 策略应用到整个文件夹树”。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;DSM 的底层服务接收到这个“批发订单”后，会直接在内核层面或者以最优化的方式遍历文件系统的元数据 (metadata)。它可以批量处理、减少磁盘 I/O、避免不必要的上下文切换，效率远非 chmod -R 可比。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;（摘抄自 Gemini 的回答）&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 class=&#34;relative group&#34;&gt;2. ACL 是怎么工作的？
    &lt;div id=&#34;2-acl-是怎么工作的&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-acl-%e6%98%af%e6%80%8e%e4%b9%88%e5%b7%a5%e4%bd%9c%e7%9a%84&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;通过 ACL 管理的权限，我很意外的发现&lt;code&gt;ls&lt;/code&gt;的显示已经不正常了。先举个例子：&lt;/p&gt;
&lt;p&gt;ACL 规则是这样的：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;texsd@tnas /volume1&amp;gt; sudo synoacltool -get 个人数据
ACL version: 1
Archive: has_ACL,is_support_ACL
Owner: [root(user)]

         [0] group:administrators:allow:rwxpdDaARWc--:fd-- (level:0)
         [1] group:custom_user:allow:rwxpdDaARWc--:fd-- (level:0)
         [2] user:ActiveBackup:allow:rwxpdDaARWc--:fd-- (level:0)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到，我在&lt;code&gt;administrators&lt;/code&gt;组，有访问这个目录的权限。&lt;/p&gt;
&lt;p&gt;我用&lt;code&gt;ls&lt;/code&gt;查看权限：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;texsd@tnas /volume1&amp;gt; ls -lah |grep 个人数据
drwxrwxrwx+  1 root         root           86 Jul  8 11:11  个人数据
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;我看到所有人都是有这个权限的。&lt;/p&gt;
&lt;p&gt;guest 用&lt;code&gt;ls&lt;/code&gt;查看权限：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;guest@tnas:/volume1$ ls -lah | grep 个人数据
d---------+  1 root         root           86 Jul  8 11:11 个人数据
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;他没有任何权限，自然无法进入。&lt;/p&gt;
&lt;p&gt;所以说，ACL 实际上改变了每个人看到的&lt;code&gt;ls&lt;/code&gt;信息，在 ACL Mode 下，&lt;code&gt;ls&lt;/code&gt;的输出已经不准确了。&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;3. 虽然说权限已经不准确了，那么所有者和组怎么样？
    &lt;div id=&#34;3-虽然说权限已经不准确了那么所有者和组怎么样&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-%e8%99%bd%e7%84%b6%e8%af%b4%e6%9d%83%e9%99%90%e5%b7%b2%e7%bb%8f%e4%b8%8d%e5%87%86%e7%a1%ae%e4%ba%86%e9%82%a3%e4%b9%88%e6%89%80%e6%9c%89%e8%80%85%e5%92%8c%e7%bb%84%e6%80%8e%e4%b9%88%e6%a0%b7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;所有者和组仍然是以创建的用户为准的。谁创建的就是谁和启主要用户组（UID 显示的组）。&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;4. ACL 让我整个终端显示都是一片绿，为什么要在 POSIX 的 rwx 中设置为 777？
    &lt;div id=&#34;4-acl-让我整个终端显示都是一片绿为什么要在-posix-的-rwx-中设置为-777&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-acl-%e8%ae%a9%e6%88%91%e6%95%b4%e4%b8%aa%e7%bb%88%e7%ab%af%e6%98%be%e7%a4%ba%e9%83%bd%e6%98%af%e4%b8%80%e7%89%87%e7%bb%bf%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%9c%a8-posix-%e7%9a%84-rwx-%e4%b8%ad%e8%ae%be%e7%bd%ae%e4%b8%ba-777&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;这里有一个小前置知识，如果其他用户可写，那么就会显示为绿色背景，如果文件可执行，就是显示为绿色字体。&lt;/p&gt;
&lt;p&gt;因为 ACL 已经接管了权限管理，所以说 POSIX 显示的已经不够用了，比如说我上面的例子，有两个组都能访问这个文件夹，这个究竟如何界定？&lt;/p&gt;
&lt;p&gt;如果使用 770，那么指的是 users 才有这个权限，实际上并不是。&lt;/p&gt;
&lt;p&gt;所以，ACL 让每个人看到的东西不一样，这里的 777 表示有极大的权限，反之没权限的为 000，不是传统意义上面的 421 了。&lt;/p&gt;
&lt;p&gt;&lt;del&gt;我明白为什么 fish 不兼容 POSIX 了，因为确实不符合现代的一些实践了&lt;/del&gt;&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;参考
    &lt;div id=&#34;参考&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;smartctl&lt;/code&gt; Manual&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a
  href=&#34;https://zh.wikipedia.org/wiki/%E5%B0%8F%E5%9E%8B%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E6%8E%A5%E5%8F%A3&#34;
    target=&#34;_blank&#34;
  &gt;小型计算机系统接口 - 维基百科&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a
  href=&#34;https://zh.wikipedia.org/wiki/SATA&#34;
    target=&#34;_blank&#34;
  &gt;SATA - 维基百科&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a
  href=&#34;https://zh.wikipedia.org/wiki/%E9%AB%98%E6%8A%80%E8%A1%93%E9%85%8D%E7%BD%AE&#34;
    target=&#34;_blank&#34;
  &gt;高技术配置 - 维基百科&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
      
    </item>
    
    <item>
      <title>维护 Esxi 的小记</title>
      <link>https://blog.texsd.eu.org/posts/esxi-maintenance/</link>
      <pubDate>Fri, 20 Jun 2025 23:53:22 +0800</pubDate>
      
      <guid>https://blog.texsd.eu.org/posts/esxi-maintenance/</guid>
      <description>
&lt;h2 class=&#34;relative group&#34;&gt;前言
    &lt;div id=&#34;前言&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;学校社团的虚拟机空间快要不够了，派我进行整理以下虚拟机。看了一通，发现好多虚拟机是厚制备的，感叹当时买新硬盘的时候真是奢侈！&lt;/p&gt;
&lt;p&gt;现在空间快要用尽了，用了百分之八十左右，大家还在讨论要不要给 esxi 加一块硬盘。我提出其实没必要，因为很多空间是可以压缩的，比如一台&lt;code&gt;FreshCup&lt;/code&gt;机子，本身就只有一个服务，但是当时磁盘选了厚置备，只用了 13G，但是占用了快 50G，这真浪费啊！于是便有了这篇文。&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;初探 ESXi 内部结构
    &lt;div id=&#34;初探-esxi-内部结构&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%88%9d%e6%8e%a2-esxi-%e5%86%85%e9%83%a8%e7%bb%93%e6%9e%84&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;开始我脑子没转过来，还想着找一台大硬盘的电脑，用 WorkStation 来进行压缩。不知道是不是无线的问题，下载速度不过百兆出头，这对于几十个 G 来说真是挑战！&lt;/p&gt;
&lt;p&gt;但是你看 ESXi 的那个 webui 叫作一个完成度低啊，根本找不到转换的选项。&lt;/p&gt;
&lt;p&gt;我之前也听说过 ESXi 用的是定制的系统，但是人家竟然能用 22 端口访问，登录进去甚至还有 bash，GNU 的基本工具还是有的，但是稍微常见一点的工具比如&lt;code&gt;curl&lt;/code&gt;就没有了。&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;这个系统是什么呢？
    &lt;div id=&#34;这个系统是什么呢&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e8%bf%99%e4%b8%aa%e7%b3%bb%e7%bb%9f%e6%98%af%e4%bb%80%e4%b9%88%e5%91%a2&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&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;root@localhost:/vmfs/volumes/65522cf6-65fd4b38-f248-6c92bfca102e&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; uname -a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VMkernel localhost 7.0.3 &lt;span class=&#34;c1&#34;&gt;#1 SMP Release build-21686933 Apr 28 2023 08:42:51 x86_64 x86_64 x86_64 ESXi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;呃呃，&lt;code&gt;VMkernel&lt;/code&gt;，大概是基于&lt;code&gt;unix&lt;/code&gt;定制的吧，但是我觉得也有可能是&lt;code&gt;linux&lt;/code&gt;。&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;看看硬盘占用情况？
    &lt;div id=&#34;看看硬盘占用情况&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e7%9c%8b%e7%9c%8b%e7%a1%ac%e7%9b%98%e5%8d%a0%e7%94%a8%e6%83%85%e5%86%b5&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&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;root@localhost:/vmfs/volumes/65522cf6-65fd4b38-f248-6c92bfca102e&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; df -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Filesystem   Size   Used Available Use% Mounted on
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VMFS-6     745.0G 481.7G    263.3G  65% /vmfs/volumes/99-datastore0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VFFS       103.5G   3.5G    100.0G   3% /vmfs/volumes/OSDATA-654f485c-fa8f3400-bbb9-6c92bfca102e
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vfat         4.0G 204.8M      3.8G   5% /vmfs/volumes/BOOTBANK1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vfat         4.0G  64.0K      4.0G   0% /vmfs/volumes/BOOTBANK2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;（完成了才贴上来，假装没看到剩余的 263G 空间吧）&lt;/p&gt;

&lt;h3 class=&#34;relative group&#34;&gt;有什么特殊工具？
    &lt;div id=&#34;有什么特殊工具&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e6%9c%89%e4%bb%80%e4%b9%88%e7%89%b9%e6%ae%8a%e5%b7%a5%e5%85%b7&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h3&gt;
&lt;p&gt;当然，这个系统里面有一大堆 vm 开头的工具，这就是为了命令行管理用的 ESXi 专有工具了。&lt;/p&gt;
&lt;p&gt;我主要用的就是&lt;code&gt;vmkfstools&lt;/code&gt;这个工具。&lt;/p&gt;
&lt;p&gt;这个工具用起来思路也非常清晰：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;**用&lt;code&gt;-i&lt;/code&gt;来指定输入的虚拟磁盘。**这里注意是那个后缀最短的&lt;code&gt;vmdk&lt;/code&gt;，如果是多文件的话，这个文件包含了一个虚拟磁盘使用的所有文件清单。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用&lt;code&gt;-K&lt;/code&gt;压缩现有的精简置备磁盘。&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用&lt;code&gt;-d thin&lt;/code&gt;指定创建一个精简置备磁盘&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最后跟上你要输出的磁盘名字，跟不跟都行，看参数。&lt;/p&gt;

&lt;h2 class=&#34;relative group&#34;&gt;坑点
    &lt;div id=&#34;坑点&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;
        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%9d%91%e7%82%b9&#34; aria-label=&#34;锚点&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;
    
&lt;/h2&gt;
&lt;p&gt;本来这块硬盘空间就不剩多少了，所以我开始直接根据厚置备的磁盘生成一个精简置备的磁盘。因为按照正常的逻辑，生成的精简置备磁盘大小只有十几 G，那么我现有的空间还是够的。&lt;/p&gt;
&lt;p&gt;结果失败了，试了好几次，都不行。（&lt;em&gt;&lt;strong&gt;坑点 1&lt;/strong&gt;&lt;/em&gt;）&lt;/p&gt;
&lt;p&gt;我决定把磁盘搞到电脑上面，用 WorkStation 来转换。转换也成功，生成的磁盘是我需要的精简类型，占用正常。然后我就转移回 ESXi 上面，结果导入失败。&lt;/p&gt;
&lt;p&gt;ESXi 不支持多文件的磁盘格式，这台是 7.0。可能旧的确实不可以吧？（&lt;em&gt;&lt;strong&gt;坑点 2&lt;/strong&gt;&lt;/em&gt;）&lt;/p&gt;
&lt;p&gt;我又创建了一个单文件的精简置备移回去，这时候我正好删除了其他不要的虚拟机，总空间&amp;gt;50G 了，传上去了我也没管这台是否占用了这么大的空间。&lt;/p&gt;
&lt;p&gt;然后我觉得这样太费事了，怎么不能在主机上面直接压缩？接着我就使用那个命令行工具压缩，但是压了好几次，该填零的也用&lt;code&gt;dd/sdelete&lt;/code&gt;填充了，但是使用&lt;code&gt;ls&lt;/code&gt;发现显示的还是 50G！&lt;/p&gt;
&lt;p&gt;我以为这是 bug，但是真正的问题在&lt;code&gt;ls&lt;/code&gt;和&lt;code&gt;vmfs&lt;/code&gt;上。（&lt;em&gt;&lt;strong&gt;坑点 3&lt;/strong&gt;&lt;/em&gt;）&lt;/p&gt;
&lt;p&gt;众所周知，Android 上使用 KernelSU 的时候，有的人会看到自己的手机显示成使用 2T 的存储，但是事实上很多人根本没有 2T 的手机，这是因为稀疏文件（Sparse file）造成的。使用 ls 列出的就是 2T，我估计手机厂商获取的时候也是用类似的方法做统计，所以闹出了这一出。&lt;/p&gt;
&lt;p&gt;其实还有别的例子，比如说 btrfs 就不能用&lt;code&gt;du&lt;/code&gt;正确显示，就是因为文件系统的各种特性导致的。&lt;/p&gt;
&lt;p&gt;所以说，其实我使用&lt;code&gt;-K&lt;/code&gt;压缩，结果是成功的，而且使用&lt;code&gt;du&lt;/code&gt;也可以直接看到，ESXi 的状态面板也可以直接看到存储被释放了。但是我怎么在这个坑上面找问题，找了那么久，唉唉唉&lt;/p&gt;
</description>
      
    </item>
    
  </channel>
</rss>
