はじめに
Linuxマシンで運用しているバックアップ用HDDを、
6TB → 24TB へ容量アップした際の作業手順をまとめます。
今回は以下の条件で作業を行いました。
- バックアップ用途のHDD交換
- SATAホットスワップベイを使用(OSは稼働中)
- 新品HDDのため、パーティション作成・フォーマットから実施
同様の構成でディスク交換を検討している方の参考になれば幸いです。
作業前提・環境
- 交換前HDD:6TB(ext4)
- 交換後HDD:24TB(SEAGATE ST24000DM001)
- 接続方式:SATA ホットスワップ
- ファイルシステム:ext4
- パーティション形式:GPT(2TB超のため必須)
交換手順の全体像
手順概要
- SATAホットスワップで既存HDDを取り外し
- ホットスワップベイのHDDを物理交換
- SATAホットスワップで新HDDを接続
dmesgで/dev/sdXを確認partedでディスクラベル(GPT)を作成partedでパーティション作成- ext4でフォーマット
- 試験的に
mount /etc/fstabを更新(UUID指定)
物理交換時の注意点
- ホットスワップベイのネジ位置とネジ穴をよく確認
- 斜めに締めるとネジ山をなめやすい
- SATAホットスワップ対応でも、念のためI/Oが落ち着いた状態で交換
HDD接続の確認(dmesg)
HDDを挿入後、dmesg でデバイス名を確認します。
$ sudo dmesg | less
Shift + G で末尾に移動し、直近のログを確認。
[288185.768363] sd 5:0:0:0: [sdc] 46875541504 512-byte logical blocks: (24.0 TB/21.8 TiB)
今回の環境では /dev/sdc として認識されました。
新品HDDの状態確認
$ sudo parted -l
新品のため、以下のようにラベル未設定の状態です。
Error: /dev/sdc: unrecognised disk label
Partition Table: unknown
GPTラベルの作成(2TB超対応)
2TBを超えるディスクでは GPT が必須です。
$ sudo parted /dev/sdc
(parted) mklabel gpt
(parted) p
パーティション作成
ディスク全体を1パーティションとして使用します。
(parted) mkpart primary ext4 0% 100%
(parted) p
(parted) quit
確認すると以下の構成になります。
Number Start End Size File system Name
1 1049kB 24.0TB 24.0TB ext4 primary
デバイス確認
$ ls /dev/sdc*
/dev/sdc /dev/sdc1
ext4でフォーマット
$ sudo mkfs.ext4 /dev/sdc1
24TBという大容量ですが、1分もかからず完了します。
この理由については後述します。
試験的にマウント
$ sudo mount -t ext4 /dev/sdc1 /media/hotswapbay4/
$ sudo mount
以下のようにマウントされていればOKです。
/dev/sdc1 on /media/hotswapbay4 type ext4 (rw,relatime)
/etc/fstab の更新
旧設定(6TB HDD)
# /dev/sdd1 hotswapbay4 TOSHIBA 6TB (backup for hotswapbay1 only data_archive )
UUID=2eadb4a1-c345-4f59-ac45-80b522eb2931 /media/hotswapbay4 ext4 noauto 0 0
UUIDの確認
$ sudo blkid /dev/sdc1
UUID="584b7494-6536-47a0-b37b-09b3033c6374"
新設定(24TB HDD)
# /dev/sdX1 hotswapbay4 SEAGATE 24TB (backup for hotswapbay1)
UUID=584b7494-6536-47a0-b37b-09b3033c6374 /media/hotswapbay4 ext4 noauto 0 0
旧設定はコメントアウトし、vim 等で保存します。
$ sudo vim /etc/fstab
番外編①:フォーマット後にアクセス音が続く理由
フォーマット自体はすぐに終わりますが、
マウント後しばらくHDDアクセス音が続く ことがあります。
これは ext4の遅延初期化(lazy init) によるものです。
実際のカーネルプロセス
$ ps aux | grep ext4lazy
root 4765 0.0 0.0 0 0 ? S 22:24 0:00 [ext4lazyinit]
- 24TB HDDでは 約半日程度 実行されていました
- 完了後はアイドル時のアクセス音は解消
参考:
https://bbs.archlinux.org/viewtopic.php?id=174729
番外編②:バックアップ実行時間の目安
- バックアップ方式:
rsync - 実行環境:Jenkins Job
- 転送量:約 5.9TB
- 接続:バックアップ元・先ともに SATA
結果:
- 約11時間 で完了
大容量ディスクでも、SATA接続としては妥当な時間感覚です。
まとめ
- SATAホットスワップを使えば、OS稼働中でも安全にHDD交換可能
- 2TB超のHDDでは GPT必須
- ext4のフォーマットが速いのは 遅延初期化のおかげ
/etc/fstabは UUID指定 が安全
大容量バックアップディスクへの交換は手順自体はシンプルですが、
確認ポイントを押さえておくことでトラブルを防止できます。
参考リンク
- 2TB以上のHDDをCentOSにマウントする方法
https://qiita.com/kubor/items/0a30c03a70a10c099df5 - ディスクのUUIDを調べる方法
https://blog.kamipo.net/entry/20101107/1289137788


コメント