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 會幫我們顧好… )。
12 月 14 2020
Percona XtraBackup for MySQL 8.0.22
這篇也算是作紀錄。
Percona 在 2020-10-23 貼出這文: MySQL New Releases and Percona XtraBackup Incompatibilities;裡面這段看起來感覺像是又被搞了…
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20769%20505'%3E%3C/svg%3E)
特別強調 “又” 字是因為已經有過一次,而且放在 Percona XtraBackup – Documentation,但這次只張貼 blog post,沒寫在文件…
恰巧某台 11 月初新裝的 Linux 踩到坑,便持續關注 Percona XtraBackup 等新版釋出。
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201342%20781'%3E%3C/svg%3E)
幾天前發現 Percona XtraBackup 的 github 有這個 pull request:PXB-2373 Release Notes for 8.0.22-15.0 (8.0),今天就在下載頁看到了(而且換了版本編號邏輯…
)
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201339%201303'%3E%3C/svg%3E)
雖然 Percona XtraBackup 8.0 Release Notes 尚未更新,但剛測試的確沒看到 unknown error …
另外,MySQL 8.0.22 還有這變革…
![](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20465%20364'%3E%3C/svg%3E)
By Joe Horn • Database 0 • Tags: MySQL, Percona XtraBackup