<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Availability on Tarragon</title><link>https://tarrragon.github.io/blog/tags/availability/</link><description>Recent content in Availability on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Sat, 24 Oct 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/availability/index.xml" rel="self" type="application/rss+xml"/><item><title>Availability Zone（可用區）</title><link>https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/</link><pubDate>Sat, 24 Oct 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/</guid><description>&lt;p>可用區（availability zone）是雲端區域（region）裡一個或一組彼此隔離的資料中心，各自有獨立的電力、冷卻與網路連線，設計上不會同時故障。同一個區域內的可用區之間以低延遲的專線相連。Google Cloud 叫 zone，AWS 叫 Availability Zone（AZ），Oracle Cloud 叫 availability domain（AD）。可用區之下還有一層更小的隔離單位，見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）&lt;/a>。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>雲端資源的位置由大到小是區域、可用區、故障域。區域決定的是地理位置帶來的性質（延遲、出口 IP 的國家、資料受哪個國家的法規管轄，以及可選的機型；各項的說明在 &lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域&lt;/a> 的〈區域（region）：主機在哪個城市〉），可用區決定的是「同一個城市裡哪一棟」，作用在兩件事上：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>高可用&lt;/strong>：同一個服務的多台主機分散在不同可用區，一棟資料中心停電或斷線時其他棟的主機繼續服務。只放在一個可用區的服務，那個可用區故障時整個服務停擺。&lt;/li>
&lt;li>&lt;strong>資源的搭配限制&lt;/strong>：主機、開機磁碟、區塊磁碟這類資源屬於某一個可用區，主機只能掛同一個可用區的磁碟；&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/subnet/" data-link-title="Subnet（子網路）" data-link-desc="VPC 內按可用區與暴露程度切出的子網段，決定資源有沒有一條通往網際網路的路徑">Subnet&lt;/a> 在 AWS 上也綁在一個可用區，在 Google Cloud 與 Oracle Cloud 上可以跨可用區（Oracle Cloud 的 regional subnet）。&lt;/li>
&lt;/ul>
&lt;p>一個區域有幾個可用區依業者與區域而定。Oracle Cloud 的商用區域多數只有一個 AD，官方〈Regions and Availability Domains〉的區域表在 2026-10-24 列出有三個的是法蘭克福、倫敦、阿什本、芝加哥、鳳凰城，這份名單隨業者開新區域而變，選區時回到那張表看。只有一個可用區的區域做不到跨可用區的高可用，那時的做法見 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）&lt;/a> 的〈設計責任〉。&lt;/p>
&lt;h2 id="可觀察訊號">可觀察訊號&lt;/h2>
&lt;ul>
&lt;li>建立主機時錯誤訊息寫「in availability domain AD-1」「in zone asia-east1-b」這類位置：容量是按可用區分配的，換一個可用區可能就建得起來&lt;/li>
&lt;li>從保留下來的開機磁碟重建主機時，可選的可用區只剩那顆磁碟所在的那一個&lt;/li>
&lt;li>Oracle Cloud 的 AD 完整名稱帶有 tenancy 專屬的前綴（例如 &lt;code>XXXX:AP-BATAM-1-AD-1&lt;/code>），不同帳號看到的前綴不同，指令裡要用 &lt;code>oci iam availability-domain list&lt;/code> 查到的完整名稱&lt;/li>
&lt;/ul>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>單一台主機&lt;/strong>：可用區只影響能否拿到容量，選建得起來的那一個即可&lt;/li>
&lt;li>&lt;strong>要做高可用的服務&lt;/strong>：至少兩個可用區各放一份，負載平衡器與資料庫的副本也要跨可用區；跨可用區的流量在 AWS 與 Google Cloud 另外計費，費率見各家價格頁的資料傳輸那一項&lt;/li>
&lt;li>&lt;strong>選區域時&lt;/strong>：服務需要跨可用區的高可用時，選有多個可用區的區域&lt;/li>
&lt;li>&lt;strong>判斷兩台主機會不會一起停&lt;/strong>：可用區是對整棟資料中心停電、斷線這一類失效分開的一層失效域；兩台主機在不同可用區，仍可能因為共用同一個區域、帳號或 DNS 而一起停，逐項列共用依賴的做法見 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/failure-domain/" data-link-title="Failure Domain（失效域）" data-link-desc="判斷兩個元件會不會因為同一件事一起停掉、備援或監控是否獨立於被保護的對象時，查它們共用了哪些會失效的依賴">Failure Domain（失效域）&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="鄰卡">鄰卡&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）&lt;/a> — 可用區內部更小一層的硬體隔離&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/vpc/" data-link-title="VPC（Virtual Private Cloud）" data-link-desc="雲端帳號內的一塊邏輯隔離私有網段，是所有網路切分的起點與容器">VPC&lt;/a> — 虛擬網路跨可用區還是綁在單一可用區，依業者而定&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/subnet/" data-link-title="Subnet（子網路）" data-link-desc="VPC 內按可用區與暴露程度切出的子網段，決定資源有沒有一條通往網際網路的路徑">Subnet&lt;/a> — AWS 的 subnet 綁在一個可用區，決定主機落在哪一棟&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域&lt;/a> — 建立主機時這三層選項的取捨&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>可用區（availability zone）是雲端區域（region）裡一個或一組彼此隔離的資料中心，各自有獨立的電力、冷卻與網路連線，設計上不會同時故障。同一個區域內的可用區之間以低延遲的專線相連。Google Cloud 叫 zone，AWS 叫 Availability Zone（AZ），Oracle Cloud 叫 availability domain（AD）。可用區之下還有一層更小的隔離單位，見 <a href="/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）</a>。</p>
<h2 id="概念位置">概念位置</h2>
<p>雲端資源的位置由大到小是區域、可用區、故障域。區域決定的是地理位置帶來的性質（延遲、出口 IP 的國家、資料受哪個國家的法規管轄，以及可選的機型；各項的說明在 <a href="/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域</a> 的〈區域（region）：主機在哪個城市〉），可用區決定的是「同一個城市裡哪一棟」，作用在兩件事上：</p>
<ul>
<li><strong>高可用</strong>：同一個服務的多台主機分散在不同可用區，一棟資料中心停電或斷線時其他棟的主機繼續服務。只放在一個可用區的服務，那個可用區故障時整個服務停擺。</li>
<li><strong>資源的搭配限制</strong>：主機、開機磁碟、區塊磁碟這類資源屬於某一個可用區，主機只能掛同一個可用區的磁碟；<a href="/blog/devops/infra/knowledge-cards/subnet/" data-link-title="Subnet（子網路）" data-link-desc="VPC 內按可用區與暴露程度切出的子網段，決定資源有沒有一條通往網際網路的路徑">Subnet</a> 在 AWS 上也綁在一個可用區，在 Google Cloud 與 Oracle Cloud 上可以跨可用區（Oracle Cloud 的 regional subnet）。</li>
</ul>
<p>一個區域有幾個可用區依業者與區域而定。Oracle Cloud 的商用區域多數只有一個 AD，官方〈Regions and Availability Domains〉的區域表在 2026-10-24 列出有三個的是法蘭克福、倫敦、阿什本、芝加哥、鳳凰城，這份名單隨業者開新區域而變，選區時回到那張表看。只有一個可用區的區域做不到跨可用區的高可用，那時的做法見 <a href="/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）</a> 的〈設計責任〉。</p>
<h2 id="可觀察訊號">可觀察訊號</h2>
<ul>
<li>建立主機時錯誤訊息寫「in availability domain AD-1」「in zone asia-east1-b」這類位置：容量是按可用區分配的，換一個可用區可能就建得起來</li>
<li>從保留下來的開機磁碟重建主機時，可選的可用區只剩那顆磁碟所在的那一個</li>
<li>Oracle Cloud 的 AD 完整名稱帶有 tenancy 專屬的前綴（例如 <code>XXXX:AP-BATAM-1-AD-1</code>），不同帳號看到的前綴不同，指令裡要用 <code>oci iam availability-domain list</code> 查到的完整名稱</li>
</ul>
<h2 id="設計責任">設計責任</h2>
<ul>
<li><strong>單一台主機</strong>：可用區只影響能否拿到容量，選建得起來的那一個即可</li>
<li><strong>要做高可用的服務</strong>：至少兩個可用區各放一份，負載平衡器與資料庫的副本也要跨可用區；跨可用區的流量在 AWS 與 Google Cloud 另外計費，費率見各家價格頁的資料傳輸那一項</li>
<li><strong>選區域時</strong>：服務需要跨可用區的高可用時，選有多個可用區的區域</li>
<li><strong>判斷兩台主機會不會一起停</strong>：可用區是對整棟資料中心停電、斷線這一類失效分開的一層失效域；兩台主機在不同可用區，仍可能因為共用同一個區域、帳號或 DNS 而一起停，逐項列共用依賴的做法見 <a href="/blog/backend/knowledge-cards/failure-domain/" data-link-title="Failure Domain（失效域）" data-link-desc="判斷兩個元件會不會因為同一件事一起停掉、備援或監控是否獨立於被保護的對象時，查它們共用了哪些會失效的依賴">Failure Domain（失效域）</a></li>
</ul>
<h2 id="鄰卡">鄰卡</h2>
<ul>
<li><a href="/blog/devops/infra/knowledge-cards/fault-domain/" data-link-title="Fault Domain（故障域）" data-link-desc="建立 Oracle Cloud 主機時看到 fault domain 欄位、要讓同一個服務的幾台主機不落在同一組實體硬體上，或所在區域只有一個可用區、要找可用區以外的隔離手段時，查故障域的範圍、它防的事件與各家對應的放置政策">Fault Domain（故障域）</a> — 可用區內部更小一層的硬體隔離</li>
<li><a href="/blog/devops/infra/knowledge-cards/vpc/" data-link-title="VPC（Virtual Private Cloud）" data-link-desc="雲端帳號內的一塊邏輯隔離私有網段，是所有網路切分的起點與容器">VPC</a> — 虛擬網路跨可用區還是綁在單一可用區，依業者而定</li>
<li><a href="/blog/devops/infra/knowledge-cards/subnet/" data-link-title="Subnet（子網路）" data-link-desc="VPC 內按可用區與暴露程度切出的子網段，決定資源有沒有一條通往網際網路的路徑">Subnet</a> — AWS 的 subnet 綁在一個可用區，決定主機落在哪一棟</li>
<li><a href="/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域</a> — 建立主機時這三層選項的取捨</li>
</ul>
]]></content:encoded></item><item><title>Fault Domain（故障域）</title><link>https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/</link><pubDate>Sat, 24 Oct 2026 00:00:00 +0800</pubDate><guid>https://tarrragon.github.io/blog/devops/infra/knowledge-cards/fault-domain/</guid><description>&lt;p>故障域（fault domain）在這張卡上指 Oracle Cloud 建立主機時選的那個隔離單位：一個 &lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）&lt;/a> 內部的一組實體硬體與基礎設施。它是 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/failure-domain/" data-link-title="Failure Domain（失效域）" data-link-desc="判斷兩個元件會不會因為同一件事一起停掉、備援或監控是否獨立於被保護的對象時，查它們共用了哪些會失效的依賴">Failure Domain（失效域）&lt;/a> 這個一般概念的一種業者實作：失效域是會因同一個原因一起停掉的元件集合，Oracle Cloud 把可用區內的硬體組直接命名為 fault domain。Oracle Cloud 的每個可用區有三個故障域，官方說明它防的是兩種事件：某一組硬體的非預期故障，以及業者對那一組硬體做的計畫性維護。一個故障域受影響時，放在其他故障域的主機不受影響。&lt;/p>
&lt;h2 id="概念位置">概念位置&lt;/h2>
&lt;p>故障域提供的是反親和性（anti-affinity）：把幾台主機刻意放在不同的實體硬體上，讓一次硬體事件不會讓它們同時停擺。它比&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">可用區&lt;/a>小一層——可用區隔離的是整棟資料中心的電力與網路，故障域隔離的是同一棟裡的機櫃與實體主機。&lt;/p>
&lt;p>Oracle Cloud 以「故障域」這個名稱讓使用者在建立主機時直接選；AWS 與 Google Cloud 沒有對應的欄位名稱，同一個效果用放置政策取得：AWS 的 placement group（spread 策略）、Google Cloud 的 spread placement policy，作用都是讓一組主機分散到不同的實體硬體上。AWS 要先停止主機才能換進或移出 placement group。Google Cloud 的 spread placement policy 指定了多個 availability domain（官方說明是彼此隔離的一組硬體）時，可以不停機就套用到既有的主機，而套用時主機可能被搬到另一個 availability domain，搬的方式依主機的維護政策是即時遷移或停止主機。&lt;/p>
&lt;p>只有一台主機時，故障域沒有選擇的意義，那台主機總是只在一組硬體上。Oracle Cloud 建立頁的預設「讓 Oracle 選擇」會依當下容量挑一個，而手動指定會縮小可用的容量。&lt;/p>
&lt;h2 id="可觀察訊號">可觀察訊號&lt;/h2>
&lt;ul>
&lt;li>建立主機時收到 &lt;code>Out of host capacity&lt;/code>：Oracle Cloud 的 Compute〈Known Issues〉頁列的處置之一是不指定 fault domain 再建一次，因為指定故障域等於只接受那一個故障域裡的硬體，可用容量跟著變小&lt;/li>
&lt;li>同一個服務的兩台主機在主機詳細資訊裡顯示同一個 &lt;code>FAULT-DOMAIN-&amp;lt;N&amp;gt;&lt;/code>：一次硬體維護可能同時重開兩台&lt;/li>
&lt;li>&lt;code>oci iam availability-domain list&lt;/code> 只回傳一筆：這個區域只有一個可用區，跨可用區做不到，故障域是同一個區域內剩下的硬體隔離手段&lt;/li>
&lt;/ul>
&lt;h2 id="設計責任">設計責任&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>同一個服務兩台以上的主機&lt;/strong>：區域有多個可用區時先分到不同可用區，故障域用在同一個可用區之內；區域只有一個可用區時，分散到不同故障域。Oracle Cloud 允許建立之後再修改故障域&lt;/li>
&lt;li>&lt;strong>只有一個可用區的區域&lt;/strong>：高可用的設計從跨可用區改成跨故障域，並接受整個可用區故障時服務會停的風險，或另外跨區域&lt;/li>
&lt;li>&lt;strong>單一台主機&lt;/strong>：維持讓業者選&lt;/li>
&lt;/ul>
&lt;h2 id="鄰卡">鄰卡&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）&lt;/a> — 故障域上面那一層的隔離單位&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/knowledge-cards/managed-instance-group/" data-link-title="Managed Instance Group（MIG，代管執行個體群組）" data-link-desc="VM 被自動重建之後設定不見、要決定一組 VM 的設定該寫在哪裡，或要判斷一台 VM 能不能直接刪掉重建時，查 GCP 的 MIG 與 instance template 怎麼建立、修復與更新 VM">Managed Instance Group（MIG，代管執行個體群組）&lt;/a> — 一組主機自動分散與修復的機制&lt;/li>
&lt;li>&lt;a href="https://tarrragon.github.io/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域&lt;/a> — 建立主機時這三層選項的取捨&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>故障域（fault domain）在這張卡上指 Oracle Cloud 建立主機時選的那個隔離單位：一個 <a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）</a> 內部的一組實體硬體與基礎設施。它是 <a href="/blog/backend/knowledge-cards/failure-domain/" data-link-title="Failure Domain（失效域）" data-link-desc="判斷兩個元件會不會因為同一件事一起停掉、備援或監控是否獨立於被保護的對象時，查它們共用了哪些會失效的依賴">Failure Domain（失效域）</a> 這個一般概念的一種業者實作：失效域是會因同一個原因一起停掉的元件集合，Oracle Cloud 把可用區內的硬體組直接命名為 fault domain。Oracle Cloud 的每個可用區有三個故障域，官方說明它防的是兩種事件：某一組硬體的非預期故障，以及業者對那一組硬體做的計畫性維護。一個故障域受影響時，放在其他故障域的主機不受影響。</p>
<h2 id="概念位置">概念位置</h2>
<p>故障域提供的是反親和性（anti-affinity）：把幾台主機刻意放在不同的實體硬體上，讓一次硬體事件不會讓它們同時停擺。它比<a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">可用區</a>小一層——可用區隔離的是整棟資料中心的電力與網路，故障域隔離的是同一棟裡的機櫃與實體主機。</p>
<p>Oracle Cloud 以「故障域」這個名稱讓使用者在建立主機時直接選；AWS 與 Google Cloud 沒有對應的欄位名稱，同一個效果用放置政策取得：AWS 的 placement group（spread 策略）、Google Cloud 的 spread placement policy，作用都是讓一組主機分散到不同的實體硬體上。AWS 要先停止主機才能換進或移出 placement group。Google Cloud 的 spread placement policy 指定了多個 availability domain（官方說明是彼此隔離的一組硬體）時，可以不停機就套用到既有的主機，而套用時主機可能被搬到另一個 availability domain，搬的方式依主機的維護政策是即時遷移或停止主機。</p>
<p>只有一台主機時，故障域沒有選擇的意義，那台主機總是只在一組硬體上。Oracle Cloud 建立頁的預設「讓 Oracle 選擇」會依當下容量挑一個，而手動指定會縮小可用的容量。</p>
<h2 id="可觀察訊號">可觀察訊號</h2>
<ul>
<li>建立主機時收到 <code>Out of host capacity</code>：Oracle Cloud 的 Compute〈Known Issues〉頁列的處置之一是不指定 fault domain 再建一次，因為指定故障域等於只接受那一個故障域裡的硬體，可用容量跟著變小</li>
<li>同一個服務的兩台主機在主機詳細資訊裡顯示同一個 <code>FAULT-DOMAIN-&lt;N&gt;</code>：一次硬體維護可能同時重開兩台</li>
<li><code>oci iam availability-domain list</code> 只回傳一筆：這個區域只有一個可用區，跨可用區做不到，故障域是同一個區域內剩下的硬體隔離手段</li>
</ul>
<h2 id="設計責任">設計責任</h2>
<ul>
<li><strong>同一個服務兩台以上的主機</strong>：區域有多個可用區時先分到不同可用區，故障域用在同一個可用區之內；區域只有一個可用區時，分散到不同故障域。Oracle Cloud 允許建立之後再修改故障域</li>
<li><strong>只有一個可用區的區域</strong>：高可用的設計從跨可用區改成跨故障域，並接受整個可用區故障時服務會停的風險，或另外跨區域</li>
<li><strong>單一台主機</strong>：維持讓業者選</li>
</ul>
<h2 id="鄰卡">鄰卡</h2>
<ul>
<li><a href="/blog/devops/infra/knowledge-cards/availability-zone/" data-link-title="Availability Zone（可用區）" data-link-desc="建立雲端主機或磁碟時要選可用區、遇到某個可用區容量不足、規劃兩台主機要不要放在不同可用區，或對照各家把這一層叫 zone、AZ 還是 availability domain 時，查可用區的範圍、它跟區域與故障域的關係與它限制了哪些資源的搭配">Availability Zone（可用區）</a> — 故障域上面那一層的隔離單位</li>
<li><a href="/blog/devops/infra/knowledge-cards/managed-instance-group/" data-link-title="Managed Instance Group（MIG，代管執行個體群組）" data-link-desc="VM 被自動重建之後設定不見、要決定一組 VM 的設定該寫在哪裡，或要判斷一台 VM 能不能直接刪掉重建時，查 GCP 的 MIG 與 instance template 怎麼建立、修復與更新 VM">Managed Instance Group（MIG，代管執行個體群組）</a> — 一組主機自動分散與修復的機制</li>
<li><a href="/blog/devops/infra/cloud-providers/vm-options/placement/" data-link-title="位置：區域、可用區與故障域" data-link-desc="雲端主機的區域、可用區與故障域各自代表多大的範圍、各自決定主機的哪些性質（延遲、出口 IP 的國家、可用機型與容量、硬體故障的影響範圍），以及哪一層建立後就不能改">位置：區域、可用區與故障域</a> — 建立主機時這三層選項的取捨</li>
</ul>
]]></content:encoded></item></channel></rss>