LoginSignup
5

More than 3 years have passed since last update.

CentOS7に2TB超えのHDDを増設・交換するTips

Posted at

はじめに

HDDが壊れたため、HDDを交換。
物理的なHDD交換からバックアップからのリストアまで解説します。

壊れる前のHDD構造
# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 111.8G  0 disk
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0 110.8G  0 part
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   7.6G  0 lvm  [SWAP]
  └─centos-home 253:2    0  53.2G  0 lvm  /home
sdb               8:16   0   2.7T  0 disk
└─sdb1            8:17   0   2.7T  0 part /mnt/bkp_primary
sdc               8:32   0   2.7T  0 disk
└─sdc1            8:33   0   2.7T  0 part /mnt/bkp_secondly
sdd               8:48   0   2.7T  0 disk
└─sdd1            8:49   0   2.7T  0 part /mnt/primary
sde               8:64   0   2.7T  0 disk #←今回壊れたHDD
└─sde1            8:65   0   2.7T  0 part /mnt/secondly 

環境

# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

作業はすべてroot権限で行ってください。

準備

HDDをアマゾンで買いましょう。6TBで1.2万円ほどでした。TB単価がどんどん安くなってますね。
壊れているHDDを特定し、交換しましょう。
なお、lsblkコマンド結果を控えておくと、交換後のデバイス名(/dev/sdeとか)の特定が簡単になります。

ディスク番号の確認

lsblkコマンドで交換前後で比較しましょう。

交換後のHDD構造
# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 111.8G  0 disk
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0 110.8G  0 part
  ├─centos-root 253:0    0    50G  0 lvm  /
  ├─centos-swap 253:1    0   7.6G  0 lvm  [SWAP]
  └─centos-home 253:2    0  53.2G  0 lvm  /home
sdb               8:16   0   2.7T  0 disk
└─sdb1            8:17   0   2.7T  0 part /mnt/bkp_primary
sdc               8:32   0   2.7T  0 disk
└─sdc1            8:33   0   2.7T  0 part /mnt/bkp_secondly
sdd               8:48   0   2.7T  0 disk
└─sdd1            8:49   0   2.7T  0 part /mnt/primary
sde               8:64   0   5.5T  0 disk

交換前と比較すると、sdeが違うことがわかります。よって、sdeが今回交換したHDDです。
今回は6TBが1つだけなので、特定が簡単ですが、すでにマウント済みのHDDと同容量の場合でも、交換前と比較することで、比較的簡単に交換後のデバイス名を特定することができます。

パーティションの作成

パーティションテーブルの作成

2TB以上のHDDに対してfdiskコマンドが使えないので、partedコマンドを使っていきます。
2TB以上の場合のパーティションテーブルはGPTです。

# parted /dev/sde
(parted) mklabel gpt
警告: いま存在している /dev/sde のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? Y

パーティションの作成

HDDすべての領域を使い、ext4でパーティションを作成します。

(parted) mkpart
パーティションの名前?  []? secondly
ファイルシステムの種類?  [ext2]? ext4
開始? 0%
終了? 100%

(parted) print
モデル: ATA ST6000DM003-2CY1 (scsi)
ディスク /dev/sde: 6001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:
番号  開始    終了    サイズ  ファイルシステム  名前       フラグ
 1    1049kB  6001GB  6001GB                    secondly

以上のようになっていればokです。

フォーマット

# mkfs.ext4 /dev/sde1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
・・・略・・・
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

このあと、再起動してください。

再起動
# reboot

マウント

ファイルシステムの確認
# mount -t ext4 /dev/sde1 /mnt/secondly
[root@localhost shotaro]# df -H
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    54G  3.0G   51G    6% /
devtmpfs                  4.0G     0  4.0G    0% /dev
tmpfs                     4.0G     0  4.0G    0% /dev/shm
tmpfs                     4.0G  9.5M  4.0G    1% /run
tmpfs                     4.0G     0  4.0G    0% /sys/fs/cgroup
/dev/sda1                 1.1G  150M  914M   15% /boot
/dev/sdb1                 3.0T  2.1T  794G   72% /mnt/bkp_primary
/dev/sdc1                 3.0T  2.4T  420G   86% /mnt/bkp_secondly
/dev/sdd1                 3.0T  2.1T  799G   72% /mnt/primary
/dev/sde1                 6.0T  194G  5.5T    4% /mnt/secondly
/dev/mapper/centos-home    58G   34M   58G    1% /home

/dev/sde1が/mnt/secondlyにマウントされていることがわかります。
しかし、これでは再起動した場合に自動でマウントされないので、自動マウントの設定をする必要があります。

自動マウント設定

UUIDの確認

UUIDの確認
# blkid /dev/sde1
/dev/sde1: UUID="3168bbd1-03e8-40f8-94c3-4b4014bfbd31" TYPE="ext4" PARTLABEL="secondly" PARTUUID="a09d8463-02dc-4ecf-8f4a-117e855e9d8b"

/etc/fstabの編集

以下を/etc/fstabの末尾に追記

自動マウント設定
UUID="3168bbd1-03e8-40f8-94c3-4b4014bfbd31" /mnt/secondly       ext4     nofail          0 0

バックアップからの復元

/mnt/bkp_secondlyから/mnt/secondlyへリストアします。
これで進捗を確認しつつ、/mnt/bkp_secondly/と同様のものが出来上がります。

リストア
# rsync -a --delete -P /mnt/bkp_secondly/ /mnt/secondly/

まとめ

バックアップ大事。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5