旧Ubuntuサーバより新サーバへHDDを引っ越す方法(Ubuntu20.04対応)


サーバのマザーボードが故障した場合や、CPUやマザーボードのリプレース時に、HDDだけは旧サーバから新サーバに移設したいケースがあります。

その際のHDDのUUIDの確認方法と、マウントまでの簡単な方法を備忘として公開します。(自分自身、2年おきに実施するのですが、毎回忘れてしまうので)

【ケース1】一番簡単な方法(旧サーバがまだ動いている場合)

/etc/fstabにマウントに関係する情報が保存されているため、一度catで表示させ、得られた情報を作業用PCのメモ帳などに張り付けておきます。

cat /etc/fstab

新サーバを構築後、引っ越したいHDDを全て接続した後、事前確認しておいたUUIDとマウントポイント情報をコピペして、mout -a するだけです。

sudo vi /etc/fstab
# 事前に取得しておいたfstabのうち、新サーバに移設したHDD情報だけをコピペ

# /etc/fstabに従って、HDDを全部マウントする
# 記載ミス等は、エラーが出ますので、修正して再度コマンド実行します。
sudo mount -a

# マウント結果を確認
df

【ケース2】すでに旧サーバが動いていない場合

マザーボードの故障やCPU、メモリ、電源等が故障してしまった場合はこちらですね。対処は以下の流れになります。

  1. HDDを新サーバに接続
  2. ディスク構成の把握(必須ではないが、為念で)
  3. UUIDを確認
  4. /etc/fstabにUUIDとマウントポイントを追記
  5. マウントテスト

1.HDDを新サーバに接続

こちらは、物理的にSATAや電源ケーブルを接続することになるので、適宜実施してください。USB接続でHDDを仮接続する機器があると楽ですが、PCケース内にどうせ取り付けるのであれば、それでもOKです。

注意事項は、静電気対策をしっかりしてPCを触る事と、HDDのコネクタを壊してしまったりと2次被害を起こさないように細心の注意を払うことです。

2.ディスク構成の把握(必須ではないが、為念で)

fdisk -lコマンドでディスクの情報を表示させます。特に、Disk Modelや、既存パーティション情報などは重要な情報なので「あ、WDの6TBを2台でraid1にしていたな。それがこれか」等と、物理構成を把握しておきます。

sudo fdisk -l /dev/sda
sudo fdisk -l /dev/sdb
sudo fdisk -l /dev/sdc
sudo fdisk -l /dev/sdd
sudo fdisk -l /dev/sde
sudo fdisk -l /dev/sdf

表示例(起動ディスク/SSDの場合)

sudo fdisk -l /dev/sda
Disk /dev/sda: 111.81 GiB, 120034123776 bytes, 234441648 sectors
Disk model: INTEL SSDSC2KW12
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1FFBA0C1-20D1-4580-A2A4-1LLF980B7294

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624  63965183  62914560   30G Linux filesystem
/dev/sda3   63965184 126879743  62914560   30G Linux filesystem
/dev/sda4  126879744 128976895   2097152    1G Linux filesystem
/dev/sda5  128976896 234438655 105461760 50.3G Linux filesystem

表示例(mdraidの場合)

sudo fdisk -l /dev/sde
Disk /dev/sde: 5.47 TiB, 6001175126016 bytes, 11721045168 sectors
Disk model: WDC WD60EZAZ-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

3.UUIDを確認

確認方法はコマンドから確認する方法と、/dev/disk/by-uuid/から確認する方法があります。/etc/fstabはどうせ、/dev/disk/by-uuid/の値で書かれているので、/dev/disk/by-uuid/から確認するのが手っ取り早いです。

sudo ls -l /dev/disk/by-uuid/

lrwxrwxrwx 1 root root 10 Feb 28 07:04 0131-E20B -> ../../sda1
lrwxrwxrwx 1 root root 10 Feb 28 07:04 aaaaaaaa-2798-464b-b0c1-81cfea9c0d06 -> ../../sda4
lrwxrwxrwx 1 root root 11 Feb 28 07:04 aaaaaaaa-6238-4a4c-8a24-9d75af08b805 -> ../../md127
lrwxrwxrwx 1 root root 10 Feb 28 07:04 aaaaaaaa-bdf4-47c3-b337-bf40c64befd4 -> ../../sda3
lrwxrwxrwx 1 root root 13 Feb 28 07:04 aaaaaaaa-cb6a-472c-8b87-407f2f370c5c -> ../../md126p3
lrwxrwxrwx 1 root root 10 Feb 28 07:04 aaaaaaaa-ad76-4b86-865f-b2eeac004cdd -> ../../sda5
lrwxrwxrwx 1 root root 13 Feb 28 07:04 aaaaaaaa-c1a9-4457-8e43-e52c04ff37b9 -> ../../md126p1
lrwxrwxrwx 1 root root 13 Feb 28 07:04 aaaaaaaa-d40c-42e5-b390-bdb7537834f1 -> ../../md126p2
lrwxrwxrwx 1 root root 10 Feb 28 07:04 aaaaaaaa-7a8d-4ca9-bced-a3793f00eebd -> ../../sdd1
lrwxrwxrwx 1 root root 10 Feb 28 07:04 aaaaaaaa-9beb-48f7-99d3-7318b207d845 -> ../../sda2

上記、uuidがまだ登録されていないケースもあります。その場合にはtune2fs等で確認します。

sudo tune2fs -l /dev/sdd2
tune2fs 1.45.5 (07-Jan-2020)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          aaaaaaaaa-82de-409d-872a-7d6b1f797a1d
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              103784448
Block count:              415136278
Reserved block count:     20756813
Free blocks:              408339024

4./etc/fstabにUUIDとマウントポイントを追記

上記で確認した結果を/etc/fstabに追加します。あわせてマウントポイントも作成しておきます。

sudo vi /etc/fstab

/dev/disk/by-uuid/aaaaaaaa-6238-4a4c-8a24-9d75af08b805  /mnt/fileserver ext4 defaults 0 0
/dev/disk/by-uuid/aaaaaaaa-c1a9-4457-8e43-e52c04ff37b9  /mnt/md126p1 ext4 defaults 0 0
/dev/disk/by-uuid/aaaaaaaa-d40c-42e5-b390-bdb7537834f1  /mnt/md126p2 ext4 defaults 0 0
/dev/disk/by-uuid/aaaaaaaa-cb6a-472c-8b87-407f2f370c5c  /mnt/md126p3 ext4 defaults 0 0

sudo mkdir /mnt/fileserver
sudo mkdir /mnt/md126p1
sudo mkdir /mnt/md126p2
sudo mkdir /mnt/md126p3

5.マウントテスト

4番までで再起動してしまうと、マウントエラーが発生した場合、起動エラー等で止まってしまうことがあります。

ですので、/etc/fstabを変更した後は必ず、「正常にマウント出来る事」を確認しておきます。

sudo mount -a

df

Filesystem      1K-blocks       Used Available Use% Mounted on
udev              8084208          0   8084208   0% /dev
tmpfs             1625632       3004   1622628   1% /run
/dev/sda2        30832548    6498780  22744520  23% /
tmpfs             8128148          0   8128148   0% /dev/shm
tmpfs                5120          0      5120   0% /run/lock
tmpfs             8128148          0   8128148   0% /sys/fs/cgroup
/dev/sda4          999320     203092    727416  22% /boot
/dev/sda3        30832548      45104  29198196   1% /home
/dev/sda5        51639752     472164  48514660   1% /var
/dev/sda1          523248       7988    515260   2% /boot/efi
/dev/loop0          56832      56832         0 100% /snap/core18/1944
/dev/loop1          31872      31872         0 100% /snap/snapd/10707
/dev/loop2          71680      71680         0 100% /snap/lxd/19188
tmpfs             1625628          0   1625628   0% /run/user/1000
/dev/md127     5813137504 4730747576 789354024  86% /mnt/fileserver
/dev/md126p1    308587328   19417876 273424428   7% /mnt/md126p1
/dev/md126p2    205375464   94825664 100047656  49% /mnt/md126p2
/dev/md126p3    444192612   37304084 384255024   9% /mnt/md126p3

本記事のケースってどういうとき?

人によっては「サーバ故障したならマザーボード交換で良いじゃないか。会社では保守契約を結んでいるので、呼べばCEが来てくれて原因分析・交換してくれるよ」と感じるかもしれません。

確かにその通りで、保守契約に入っている環境であればそうしてください。同様に個人で構築したサーバが故障した場合には故障部位を交換すれば直ります。しかし、故障部位が不明瞭な場合で、交換可能なCPU、メモリ、電源、マザーボードを持っていない場合には、あれこれと新しいパーツを購入して試行錯誤することになります。

「試行錯誤していたら、2年前のパーツでもう一式組み立てられるパーツがそろっちゃった」等、勿体ないですよね。

そんなことをするくらいなら、最初から最新世代のマザーボード、CPU、メモリを買い替えて、電源(これが壊れている場合には、結構気づきやすいので)、ケースは使いまわしであれば、2万~3万円で4コアのサーバを構築できます。

「壊れたから」という理由であれば家庭内稟議も通りやすいのでは無いでしょうか(笑)

ブックマーク パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください