treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

(1/2)ディスクを増設してパーティションを作成する

Linux機が1台あるとして、これをミラーリングするほどじゃないけどOS部分のハードディスク故障に備えたい、と思った場合にはddでイメージバックアップを取得するのは一つの有力な選択肢だと考えられます。
今回はこのハードディスク追加からddでバックアップ取得するまでをご報告します。

内容については結構な初歩・基本の内容なので、主に自分で何やったのかを記録しておく意味合いが強い内容となっています。
最終的にはddでイメージバックアップの取得までを実施します。

環境と計画

OS=Debian Jessie(/etc/debian_version表記は「8.4」です)
ハードディスクは二台を内蔵型で接続している状態です。
以下のようなつくりにしようと考えています。
図:考えている構成

f:id:treedown:20160411002743p:plain

OSをmdデバイスでインストールしていないDebianのOS部分をディスク故障から保護するために、倍の容量のディスクを追加してddでイメージバックアップしてしまおう、という目論見です。
RAID1(ミラーリング)ほどリアルタイムにシステムを保護するわけではありませんが、確実に正常な状態のイメージファイルを取得しておくことでディスク故障時にはdd経由で書き出せれば復旧も(再構築するよりは)だいぶ楽だよね、と考えたものです。

実際のパーティション作成操作

ハードウェア側の作業として利用するディスクをOS以外に一台増設します。
今回は内蔵のHDDを二台搭載でそれぞれ/dev/sda、/dev/sdbとして認識しています。

パーティションを作らないとディスクのボリュームが使えませんので用意します。
以前に別PCでLinuxのOSディスクとして使っていたので、パーティションテーブルが残りっぱなしなのでいったん削除します。
コマンド:
$ sudo fdisk /dev/sdb
で実行した結果
----------------------------------------------
Welcome to fdisk (util-linux 2.25.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sdb: 34.6 GiB, 37096817664 bytes, 72454722 sectors
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: dos
Disk identifier: 0xcccdcccd

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sdb1  *        2048 70948863 70946816 33.9G 83 Linux
/dev/sdb2       70950910 72454143  1503234  734M  5 Extended
/dev/sdb5       70950912 72454143  1503232  734M 82 Linux swap / Solaris


Command (m for help): d
Partition number (1,2,5, default 5): 5
----------------------------------------------
コマンド「p」で現在のパーティションを確認し、コマンド「d」を繰り返して不要なパーティション情報を一旦全部消去します。
上では/dev/sdb5を削除していますが同様に/dev/sdb2、/dev/sdb1も消去するようにします。

パーティションを消すとき
昔の話ですが、パーティションを消すときは「ディスクの末尾に配置されているパーティションから消去する」といいです。特に古いディスクを古いシステムで使っている場合にはこの傾向が強いです。(最近はそういうこともないかもしれませんが)

最終的にすべてを削除することできれいさっぱりパーティションが消え去ります。
----------------------------------------------
Command (m for help): p

Disk /dev/sdb: 34.6 GiB, 37096817664 bytes, 72454722 sectors
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: dos
Disk identifier: 0xcccdcccd



Command (m for help):
----------------------------------------------
パーティションがなくなってまっさらになったので、改めて使いたいパーティションを作成するようにします。
コマンド「n」(たぶんnewのn)でパーティション作成します。基本領域で作成します。(拡張領域でもいいのですが、パーティション数は4個を超えないからどちらでもいいかなぁと思って基本領域にします。
----------------------------------------------
Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-72454721, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-72454721, default 72454721):

Created a new partition 1 of type 'Linux' and of size 34.6 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
----------------------------------------------
容量ができました。fdisk -lコマンドで作成した容量が確認できます。
----------------------------------------------
$ sudo fdisk -l

Disk /dev/sda: 19.1 GiB, 20485785600 bytes, 40011300 sectors
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: dos
Disk identifier: 0x66efd019

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 38283263 38281216 18.3G 83 Linux
/dev/sda2       38285310 40009727  1724418  842M  5 Extended
/dev/sda5       38285312 40009727  1724416  842M 82 Linux swap / Solaris

Disk /dev/sdb: 34.6 GiB, 37096817664 bytes, 72454722 sectors
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: dos
Disk identifier: 0xcccdcccd

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048 72454721 72452674 34.6G 83 Linux
----------------------------------------------
/dev/sdb1がちゃんとできております。

続きます

ここまででパーティションが作成完了です。
作成したパーティションをフォーマットしてファイルシステムを用意するところ以降の続きは明日に。