その3の続き。ホントは、パーティション切ったり、バックアップ関係のソフト探したりしたかったんだが、その前段階としてその3のようにやってたら、時間もかかったし、記事も長くなったので、途中で分けました。
(参考サイト)
- https://qiita.com/aosho235/items/ad9a4764e77ba43c9d76
- http://www.mikitechnica.com/30-snapshot-xfsdump.html
- https://qiita.com/iKenichi/items/102e1887c1f36d106c0d
- https://server-setting.info/debian/mondo-rescue-vm-restore.html
- https://qiita.com/mozo/items/55574d7039bacfa8d8c8
- https://www.a21-hp.com/wp/?p=8856
パーティションを切ったりする前に、バックアップ&リストアの方法を検討。ファイルシステムはデフォルトの状態でインストールしたので xfs になっている。
調べてると、dump/restore(xfsの場合はxfsdump/xfsrestore)が正統派のやり方、みたいに書いているサイトが多い。が、リストア方法が少々面倒くさい印象だ。
感覚的には、その方法でリストアするくらいなら、環境構築の手順を手元に残しておいて、インストールし直すのと、さほど手間は変わらない印象。手順は少ないんだろうが、インストールディスクとバックアップイメージが別だったり、ブートローダーのインストールが必要だったり、と諸々難易度的に面倒臭そうな感じがする。また、xfsdump の場合、バックアップはパーティションごとに取るような形になるので、システム全体のバックアップを一つのイメージに出来るわけではなさそう。
勉強のためと考えても、xfsdump/xfsrestore だとなかなかに面倒くさい事になりそうだ。
それだったら、Mondo Rescue とか使ったほうが多少は楽かもしれない。Bacula とかもあるけど、そちらは基本的に複数台構成のシステムで使うものみたいだし、バックアップをiso形式にして、DVDに焼いて、というのを考えると Mondo Rescue の方が使い勝手が良いかもしれない。(以前使ったこともあるし。)
が、それ以前の問題として、弐号機の方に空きパーティションがない。幸い、LVMなので、後から容量を減らして空きパーティションを作ることもできそうだ。
1.弐号機のパーティション見直し
論理ボリューム名を確認し、コマンドを叩いていく。
$ sudo lvscan # 論理ボリュームのスキャン ACTIVE '/dev/centos/root' [50.00 GiB] inherit ACTIVE '/dev/centos/home' [<1.08 TiB] inherit # ここの容量を減らす ACTIVE '/dev/centos/swap' [7.81 GiB] inherit $ sudo lvreduce -L -50G /dev/centos/home WARNING: Reducing active and open logical volume to 1.03 TiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce centos/home? [y/n]: y # 警告が出るが減らすのでy を入力 $ sudo lvcreate --name backup --size 50GB centos $ sudo mkfs.xfs /dev/centos/backup $ sudo mkdir /backup $ sudo mount -t xfs /dev/centos/backup /backup $ sudo vi /etc/fstab # 起動時に自動でマウントされるように設定ファイルに追記 ----
で良いはずなのだが、これでマシンを再起動すると、エマージェンシーモードでしか起動しなくなった。SELinuxを切ってもダメ。何がマズかったんやろ。
あとで調べてみると、どうやらパーティションの縮小をする前には、
- マウント解除(umount)
- ファイルシステムのチェック(fsck)
- ファイルシステムの縮小(resize2fs)
- パーティションの縮小(lvreduce)
と手順を踏まんとマズイっぽい。
2.初号機のパーティション追加
まずは、/dev/sda をバックアップ用領域としてパーティションを切っていく。
$ sudo fdisk /dev/sda コマンド (m でヘルプ): d # d で既存パーティションを削除 Selected partition 1 Partition 1 is deleted コマンド (m でヘルプ): w # w で変更を確定 パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。 $ sudo fdisk /dev/sda コマンド (m でヘルプ): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p パーティション番号 (1-4, default 1): 1 最初 sector (2048-625140334, 初期値 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-625140334, 初期値 625140334): 625140334 Partition 1 of type Extended and of size 298.1 GiB is set コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。 $ sudo mkfs.xfs -f /dev/sda1 $ sudo mkdir /backup && sudo chown hoge:hoge /backup # /backup でマウントポイント作成 $ sudo mount /dev/sda1 /backup # マウント $ sudo vi /etc/fstab ---- /dev/sda1 /backup xfs defaults 0 0 # 追記 ---- $ shutdown -r now (再起動後) $ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/centos-root 52403200 1253968 51149232 3% / devtmpfs 2008864 0 2008864 0% /dev tmpfs 2022128 0 2022128 0% /dev/shm tmpfs 2022128 8996 2013132 1% /run tmpfs 2022128 0 2022128 0% /sys/fs/cgroup /dev/sda1 312416520 32992 312383528 1% /backup # ちゃんとマウントされてる /dev/sdb1 1038336 171912 866424 17% /boot /dev/mapper/centos-home 67452744 33112 67419632 1% /home tmpfs 404428 0 404428 0% /run/user/1000
オッケー。ひとまず、sdaはうまく行った。
・・・けど、弐号機のときにでていた、「systemd-readahead[1932]: Failed to rename readahead file: Permission denied」というメッセージが実機のコンソールの方にでていた。気になる・・・
まあ、エマージェンシーモードになっているわけでもないし、新しいパーティションでファイルの読み書きも出来ているようなので、次に進む。
次は、sdc~sdeの3台。以前にRAIDを組んでいたので、少々ややこしい。まずはRAIDのメタデータを消してやらんといかんらしい。
参考
- https://www.na3.jp/entry/20120817/p1
- http://www.maruko2.com/mw/CentOS%E3%81%A7%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2RAID%E3%81%AE%E6%A7%8B%E7%AF%89
mdadm コマンド使ってね、ということらしいが、入っていないようなので、インストールから。
$ sudo yum install -y mdadm $ sudo mdadm --misc --stop /dev/md127 # デバイス名は実際のものに合わせる $ sudo mdadm --zero-superblock /dev/sdc1 /dev/sdd1 /dev/sde1 $ lsblk -lf NAME FSTYPE LABEL UUID MOUNTPOINT sda sda1 xfs 78987853-44c9-4205-a8ff-41d9d5cbadcd /backup sdb sdb1 xfs 8f868fa5-00a3-4ea7-a9b7-35761a1b440a /boot sdb2 LVM2_member QE7K09-CV31-Kd1a-3hx8-VzeJ-i2TL-3CfTiV centos-root xfs 12b8166e-c965-4dbb-bc79-697ba0892669 / centos-swap swap c5f3a2af-c154-44be-80a3-5361dcf97965 [SWAP] centos-home xfs c9ce6c07-3503-446a-aa86-6d256e13ed47 /home sdc sdc1 sdd sdd1 sde sde1 sr0 # sdc ~ sde の情報から、「linux_raid_member」という情報が消えた
sdc~sdeの3台は、lvm化して、一つにまとめたい。構成するディスクが壊れたときが問題だが、これは定期的にバックアップ取るということにして、RAIDにはしない。
$ sudo pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created. $ sudo pvcreate /dev/sdd1 Physical volume "/dev/sdd1" successfully created. $ sudo pvcreate /dev/sde1 Physical volume "/dev/sde1" successfully created. $ sudo vgcreate lvg-data1 /dev/sdc1 /dev/sdd1 /dev/sde1 Volume group "lvg-data1" successfully created $ sudo lvcreate --name exdata -l 100%FREE lvg-data1 $ sudo mkfs.xfs /dev/lvg-data1/exdata $ sudo mount /dev/lvg-data1/exdata /exdata # マウント $ sudo vi /etc/fstab ---- /dev/lvg-data1/exdata /exdata xfs defaults 0 0 # 追記 ---- $ shutdown -r now (再起動後) $ df ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置 /dev/mapper/centos-root 52403200 1255252 51147948 3% / devtmpfs 2008864 0 2008864 0% /dev tmpfs 2022128 0 2022128 0% /dev/shm tmpfs 2022128 9008 2013120 1% /run tmpfs 2022128 0 2022128 0% /sys/fs/cgroup /dev/sdb1 1038336 171912 866424 17% /boot /dev/sda1 312416520 32996 312383524 1% /backup /dev/mapper/centos-home 67452744 33112 67419632 1% /home /dev/mapper/lvg--data1-exdata 2928839412 33040 2928806372 1% /exdata tmpfs 404428 0 404428 0% /run/user/1000
これで、初号機の方は無事にディスクの増設が完了した。
やっぱり、弐号機は容量の減らし方の問題だったのかも。とりあえず、インストールし直しか・・・