VPS
メモリ:2GB
月額1,530円~
CPU 3Core
NVMe SSD 150GB
から、
に移転成功した。朝から5時間ぐらいかかって落ち着いた感じ。
移転の動機は、年間支出削減。
8,544円/年 で、さらに、30%をキャッシュバックのキャンペーンだったから。同一の会社だがサービスグレードの違いのみの新規追加VPS契約した。
まずs1 からs2(移転先サーバー 192.168.1.2)にSSHログインできるようにする。
# s1でSSH鍵生成(まだなければ)
ssh-keygen -t rsa -b 4096
# Enterキーを3回押してデフォルト設定# s2に公開鍵をコピー(コンソール経由で)
# s1の公開鍵を表示
cat ~/.ssh/id_rsa.pub# s2で受け入れ設定(コンソール経由で実行)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# 上記で表示された公開鍵を貼り付け
echo "ssh-rsa AAAAB3NzaC1yc2E... root@s1" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys# s1から接続テスト
ssh root@192.168.1.2 'hostname && whoami'
元サーバーのデーターを圧縮転送する。
tar cpzPf - \
--exclude="/dev/*" \
--exclude="/proc/*" \
--exclude="/sys/*" \
--exclude="/tmp/*" \
--exclude="/run/*" \
--exclude="/var/log/*" \
--exclude="/swapfile" \
/ | ssh root@192.168.1.2 'cd / && tar xpzPf -'
移転先サーバーで進捗状況の確認したければ:
# 別ターミナルで進捗監視
ssh root@s2 'df -BM && echo && du -sm /*"'
移行後のサービス再起動・設定調整
# ホスト名変更
hostnamectl set-hostname s2.****.net# hosts ファイル更新
sed -i 's/s1/s2/g' /etc/hosts
sed -i 's/192.168.1.1 /192.168.1.2/g' /etc/hosts# hosts ファイル確認
cat /etc/hosts
Phase 6: サービス起動順序
# 1. MariaDB起動
systemctl stop mariadb
rm -f /var/lib/mysql/mysql.sock
systemctl start mariadb
systemctl status mariadb# 2. PHP-FPM起動
systemctl start php-fpm
systemctl status php-fpm# 3. Nginx起動
systemctl start nginx
systemctl status nginx# 4. Postfix起動
systemctl stop postfix
rm -rf /var/spool/postfix/private/* /var/spool/postfix/public/*
systemctl start postfix
systemctl status postfix# 5. Dovecot起動
systemctl start dovecot
systemctl status dovecot# 6. その他サービス
systemctl start webmin
systemctl start monit
ポート・サービス確認
# 重要ポートの確認
netstat -tlnp | grep -E ':(80|443|25|587|993|110|995|10000)'# 期待される出力例:
# :80 (nginx)
# :443 (nginx)
# :25 (postfix)
# :587 (postfix submission)
# :993 (dovecot imaps)
# :110 (dovecot pop3)
# :995 (dovecot pop3s)
# :10000 (webmin)
データベース確認
# MySQLログイン確認
mysql -u root -p# データベース一覧
SHOW DATABASES;# WordPress データベース確認
USE wordpress1; # または実際のDB名
SHOW TABLES;
SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');
EXIT;
動作テスト
# 1. Web動作確認(IPアドレスでアクセス)
curl -I http://192.168.1.2
curl -I https:/192.168.1.2# 2. メール送信テスト
echo "Migration test from s2" | mail -s "Test from new server" root# 3. メール受信テスト(外部から)
telnet 192.168.1.2 25
# > EHLO test
# > QUIT# 4. IMAP/POP3テスト
telnet 192.168.1.2 993
telnet 192.168.1.2 110
最後に、DNS切り替え