增加 Home Assistant OS 虛擬機儲存空間


Home Assistant (簡稱 HA)是可以統合各種不同智慧家庭裝置以統一控制的軟體, 有多種版本可以安裝在不同的裝置上, 如Raspberry Pi 或是一般 PC 等,也有不同的安裝方式與版本, 包括 Container 或虛擬機等。

個人採用 HA OS 在 Linux 的虛擬機(KVM)上運作,安裝至今數個月,大致都正常. 但有時遇到核心更心時, 有時就會更新不了, 一開始並不知道原因, 安裝失敗沒有明顯的說明, 後來才知道是儲存空間不足, 每次要升級時, 總是要把 3X MB的備份資料砍到剩一個才能順利更新完成。

但今天收到 2023.2.0 的更新通知時, 怎麼也無法更新, 系統顯示還有 1.3GB 的空間, 但記錄檔卻一直顯示至少需要 1.3GB, 也就是下載更新資料後, 儲存空間就不足。火大! 來擴充儲存空間看看。


HA OS 中可以查到預設的資料存放區在第8個分割區(/dev/sda8)

下載的 HA OS 虛擬機磁碟檔並不大, 掛到虛擬機時則共有 6GB 儲存空間, 為了查詢與變更資料, 首先務必將所用的磁碟檔案名稱與儲存位置記住, 同時關閉虛擬機。個人使用 Ubuntu Linux Server 22.04.1作業系統, 以下所有指令皆是在此作業系統中。

首先用查看虛擬機磁碟檔的狀態 (檔名請依照自己環境更動)

sudo qemu-img info haos_generic-x86-64-9.3.qcow2

可以看到相關的資訊

這個虛擬磁碟內部共分割成8個分割區, 第8個分割區即為資料區

接下來擴充虛擬磁碟容量, 多個1GB應該就夠, 但避免未來又要再搞一次, 直接先加個 5GB 看看

sudo qemu-img resize haos_generic-x86-64-9.3.qcow2 +5G

再看一下資訊
sudo qemu-img info haos_generic-x86-64-9.3.qcow2

容量有變了, 但分割區尚未變變, 所以仍只用了相同的容量, 接下來就要擴充分割區容量, 這時就要先將虛擬磁碟檔先掛到系統當中, 請執行以下相關指令

sudo modprobe nbd max_part=8

掛載至系統中

sudo qemu-nbd --connect=/dev/nbd0 haos_generic-x86-64-9.3.qcow2

用 fdisk 看看

sudo fdisk /dev/nbd0

將所有未使用的空間分配至第八個分割區

sudo growpart /dev/nbd0 8

再用 fdisk 看看是不是有變動

sudo fdisk -l /dev/nbd0

接下來檢查分割區檔案系統

sudo e2fsck -f /dev/nbd0p8

再變更分割區檔案系統大小

sudo resize2fs /dev/nbd0p8

確定完成後將虛擬機磁碟檔卸載

sudo qemu-nbd --disconnect /dev/nbd0

完成後再重新啟動 HA OS 虛擬機, 開機完成後就可以看到系統儲存空間增加了

應該可以撐一陣子了

Be the first to comment on "增加 Home Assistant OS 虛擬機儲存空間"

Leave a comment

Your email address will not be published.


*


這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料