CentOS6をOSごと複写する方法

CentOS6をOSごと複写する方法は次のとおりです。


・複写(複写元サーバで実施)
rsync -rtlzvogpHAX --exclude /boot/ --exclude /usr/bin/sudo --exclude /dev/ --exclude /proc/ --exclude /sys/ --exclude /var/run/ --exclude /var/lock/ --exclude ifcfg* --exclude ssh_host_* --exclude fstab --block-size=4096 -e ssh / 複写先サーバIP:/
※必要に応じてオプション
--rsync-path="sudo -s"
ログインできない場合はSSHの設定を見直す
vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
systemctl restart sshd

rsyncが実行できない場合は複写先にもrsyncをインストールする
dnf install -y rsync


・複写後作業(新サーバで実施)

1.サーバ再起動
reboot
(ログイン時は複写元サーバのパスワードになる)

2.パスワード変更
passwd root

3.ホスト情報変更

ホスト名の設定
vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 自身のサーバ名
※.FQDNを指定

vi /etc/sysconfig/network

HOSTNAME=localhost.localdomain

HOSTNAME=自身のサーバ名
※.FQDNを指定
※.次の2行以外は削除する(※OpenVZから複写した場合)
NETWORKING=yes
HOSTNAME=自身のサーバ名

vi /etc/hostname

4.postfix設定
ipの変更
mynetworks = 自身のサーバIPアドレス/32, 127.0.0.0/8

5.MySQL設定
mkdir /var/run/mysqld
chown -R mysql:mysql /var/run/mysqld/
/etc/init.d/mysqld restart

ルートパスワードの変更
mysql
phpmyadminにて行う
SQL:
UPDATE mysql.user SET Password=PASSWORD('MySQLのルートパスワード')
WHERE User='root'
;
5.7系の場合
UPDATE mysql.user SET authentication_string=password('MySQLのルートパスワード') WHERE user='root'
;

6.PostfixAdmin設定
ルートパスワードの変更
postfixadmin

7.ファイアーウォールの変更
Iptablesの自IP変更
vi /etc/sysconfig/iptables
ESC → :
でコマンドモード
%s/変更前IP/変更後IP/gc
※IPアドレスのピリオドは前に\マークを付けてエスケープする必要がある

関連書籍
TECHNICAL MASTER はじめてのCentOS8 Linuxサーバエンジニア 標準テキスト CentOS 8 構築・運用・管理パーフェクトガイド [CentOS Stream対応] DVD付 CentOS徹底入門 第3版
※本記事はアフィリエイトリンクを含みます。

コメント