Skip to content

Instantly share code, notes, and snippets.

@ThinaticSystem
Last active July 20, 2025 05:12
Show Gist options
  • Select an option

  • Save ThinaticSystem/9309c49151489879e723bcd805d1ea02 to your computer and use it in GitHub Desktop.

Select an option

Save ThinaticSystem/9309c49151489879e723bcd805d1ea02 to your computer and use it in GitHub Desktop.
ほにクラブDB移行手順 (2025/07/20)

ほにクラブ DB 移行手順 (2025/07/20)

参考資料

https://www.postgresql.org/docs/16/upgrading.html

事前に実施すること

  • dbOld に新しめの postgresql-client をインストール
  • dbNew インスタンスの作成
    • 各種ファイアウォール設定
    • Postgresql 16 のインストール
  • local の C ドライブを空ける

手順

@ misskey

  1. Misskey 停止
    1. $ sudo service misskey stop

@ KAGOYA コントロールパネル

  1. https://vps.kagoya.jp/#/kvm/server/detail/1919
  2. スナップショット取得
  3. スペック変更を実施
    1. 8C200GB プランを選択

@ dbOld

  1. ネットワーク切断

    1. $ sudo vim /etc/netplan/10-db.yaml
    2. network.ethernets.eth1.addresses[0]172.16.1.3/24
    3. $ sudo netplan try --timeout 10
    4. $ sudo netplan apply
  2. DB ダンプ

    1. $ tmux new -s dump
    2. $ /usr/lib/postgresql/17/bin/pg_dumpall > 20250720_honiclub.db
    3. $ gzip 20250720_honiclub.db

@ misskey

  1. ネットワーク切断確認
    1. $ ping 172.16.1.2

@ local

  1. ダンプ DB ファイルの転送
    1. $ scp dbOld:20250720_honiclub.db.gz .

@ dbNew

  1. ネットワーク接続
    1. $ sudo nano /etc/netplan/10-db.yaml

    2. 以下の内容を記載

      network:
          version: 2
          ethernets:
              enp3s0:
                  match:
                      macaddress: 11:45:14:81:03:64
                  accept-ra: false
                  addresses:
                  - 172.16.1.2/24
                  nameservers:
                      addresses:
                      - 172.16.1.254
                  set-name: db
      
    3. $ sudo netplan try --timeout 10

    4. $ sudo netplan apply

@ misskey

  1. ネットワーク疎通確認
    1. $ ping 172.16.1.2

@ local

  1. ダンプ DB ファイルの転送
    1. $ scp 20250720_honiclub.db.gz dbNew:

@ dbNew

  1. DB リストア
    1. $ gunzip 20250720_honiclub.db.gz
    2. $ tmux new -s restore
    3. $ sudo psql -d postgres -f 20250720_honiclub.db

@ misskey

  1. DB 確認

    1. $ psql -h 172.16.1.2 -U misskey -d misskey
    2. misskey=# \d
  2. Misskey 起動

    1. $ sudo reboot

@ KAGOYA コントロールパネル

  1. https://vps.kagoya.jp/#/kvm/server/detail/1919
  2. dbOld インスタンスを削除
  3. スナップショット削除

詰んだとき

@ dbNew

  1. ネットワークを切断
    1. $ sudo vim /etc/netplan/10-db.yaml
    2. network.ethernets.eth1.addresses[0]172.16.1.3/24
    3. $ sudo netplan try --timeout 10
    4. $ sudo netplan apply

@ misskey

  1. 切断確認
    1. ping 172.16.1.2

@ KAGOYA コントロールパネル

  1. dbOldRestored インスタンスを作成
    1. https://vps.kagoya.jp/#kvm/server/create
    2. スナップショットからインスタンス作成
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment