12 月 10 2020
LVM 的 PV 資料移轉
這是這幾天作過簡單的實驗,實驗完畢馬上在正式環境完成的事,寫個文章作紀錄。
LVM (Logical Volume Manager) 不是新穎的技術,搭配 mdadm、iSCSI、DRBD 可以搞出不少花樣。
情境是 server 掛載 A 廠牌 storage server 的 iSCSI target 作為資料與程式的儲存點,而這些資料要搬移到 B 廠牌 storage server 的 iSCSI target;而這台 server 用 LVM 把 iSCSI target 製作成 PV (Physical Volume),並建立好 VG (Volume Group)與 LV (Logical Volume),掛載 LV 儲存資料。
變數說明:
- [portal_A] 是 A 廠牌 storage server 的 iSCSI portal,[target_A] 為其 target name
- [portal_B] 是 B 廠牌 storage server 的 iSCSI portal,[target_B] 為其 target name
- /dev/sda 是 A 廠牌 storage server 的 iSCSI target 掛載後的 device
- /dev/sdb 是 B 廠牌 storage server 的 iSCSI target 掛載後的 device
- server 建立並使用的 VG 名稱為 VolGroup,LV 名稱、數量都不重要
步驟如下:
- 先確認現存的 iSCSI session 與 iSCSI node,確認後把 B 廠牌 storage server 的 iSCSI target 掛進 server;使用的指令如下:
- 檢查
# iscsiadm -m session # iscsiadm -m node
- 探索 & 掛載 iSCSI target (掛載後可再檢查看看,並確認 /dev/sdb 有出現)
# iscsiadm -m discovery -t st -p [portal_B] # iscsiadm -m node -T [target_B] -p [portal_B] --login
- 檢查
- 建立 PV,前、後可以用 pvdisplay 指令觀察
# pvcreate /dev/sdb
- 把新建的 PV 放進 VG,前、後可以用 vgdisplay 指令觀察
# vgextend VolGroup /dev/sdb
- 搬移資料,前、後可以用 vgdisplay 指令觀察(這段時間比我預期的還要長,可搭配 -i 這個參數調整搬移進度回報的間隔時間)
# pvmove /dev/sda /dev/sdb
- 搬完之後,從 VG 退出原本的 PV,前、後可以用 vgdisplay 指令觀察
# vgreduce VolGroup /dev/sda
- 移除原本的 PV,避免 LVM 偵測到並自動掛載,前、後可以用 pvdisplay 指令觀察
# pvremove /dev/sda
- 確認現存的 iSCSI session 與 iSCSI node,登出並刪除 A 廠牌 storage server 的 iSCSI target;檢查的的指令如第一步,登出與刪除的指令如下:
# iscsiadm -m node -T [target_A] -p [portal_A] --logout # iscsiadm -m node -T [target_A] -p [portal_A] -o delete
收工。
一旦 iSCSI node 確認是乾淨的,目前的 /dev/sdb 在重新開機後會成為 /dev/sda,且 LVM 會辨識出這個 PV,並放進 VG;而這整段流程毋需對 LV 作 umount & mount,服務也毋需暫停/中斷(LVM 的 device mapper 會幫我們顧好… )。
8 月 7 2021
Oracle Cloud Free Tier
前陣子看到 Oracle Cloud Free Tier ,網頁說下圖這些服務是永遠免費的,便註冊了一個帳號試玩看看…
參閱這個頁面的說明之後,我建立了一個 Compute VM instance 跟一塊 Block Storage 作些簡單的測試。
免費的服務當然有些代價,與其他 VPS 付費建立的 instance 相比,差別最大的是 Disk I/O;Oracle Cloud Free Tier 提供的硬體應該是 HDD,不是 SSD。
這圖是 Oracle Cloud Free Tier 的 sysbench 測試結果:
Vultr 的付費 VM instance 配置 SSD ,測試結果如下:
感覺 Oracle Cloud Free Tier 的永遠免費資源在學習、測試的用途上是足夠的,但架設網站應該是不太行。
我個人是把 Compute VM instance 用作 MySQL replica,並掛載 Block Storage 作為 MySQL 的資料目錄,定時作 btrfs snapshot。
By Joe Horn • Linux 0 • Tags: Free Tier, Oracle Cloud, VPS