タグ: fdisk

USB-HDD を追加

32GBのMicroSDしか無い状態なので、外付けでHDDを追加します。
用意したのは裸族の集合住宅5Bay
Raspberry側はUSB2.0だけど、気にしない。

接続してからfdiskで、接続場所を確認。

$ sudo fdisk -l

Disk /dev/mmcblk0: 31.5 GB, 31486640128 bytes
4 heads, 16 sectors/track, 960896 cylinders, total 61497344 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
Disk identifier: 0xa6202af7

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
/dev/mmcblk0p2          122880    61497343    30687232   83  Linux

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders, total 5860533168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

こんなカンジ。

接続場所が確認できたら、今度はUUIDの確認。

$ sudo blkid /dev/sda1
/dev/sda1: UUID="e4da63ba-3a37-4970-a150-43e26f28a42b" TYPE="xfs"

ふむ。

UUIDが確認できたら、この情報を元にfstabへ追記。

$ sudo vi /etc/fstab

# Drive-1 3TB
UUID=e4da63ba-3a37-4970-a150-43e26f28a42b /media/D xfs defaults 0 0

こんなんで。

あとは

mount -a

でマウントさせればOK。

3TB HDD を 1 パーティションで (parted コマンド)

fdisk コマンドは2TB以上のHDDには対応していない。
fdisk を叩いた時に出てくる

警告: GPT (GUID パーティションテーブル) が '/dev/sdb' に検出されました!
この fdisk ユーティリティは GPT をサポートしません。GNU Parted を使ってください。

が、その意味だった。完全にスルーしていた。
なので、警告の通り、parted コマンドを使ってみる。
これからは fdisk ではなくて、parted ってことなのかな。

まず
# parted -l
で、接続されているディスクの状況を確認。

# parted -l
モデル: ATA WDC WD20EARS-00M (scsi)
ディスク /dev/sda: 2000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
 1    1049kB  2000GB  2000GB

モデル: ATA ST3000DM001-1CH1 (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

モデル: ATA Hitachi HDT72502 (scsi)
ディスク /dev/sdc: 250GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了   サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  525MB  524MB   primary  ext4              boot
 2    525MB   250GB  250GB   primary                    lvm

モデル: Linux device-mapper (linear) (dm)
ディスク /dev/mapper/VolGroup-lv_home: 177GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了   サイズ  ファイルシステム  フラグ
 1    0.00B  177GB  177GB   ext4

モデル: Linux device-mapper (linear) (dm)
ディスク /dev/mapper/VolGroup-lv_swap: 19.0GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了    サイズ  ファイルシステム  フラグ
 1    0.00B  19.0GB  19.0GB  linux-swap(v1)

モデル: Linux device-mapper (linear) (dm)
ディスク /dev/mapper/VolGroup-lv_root: 53.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了    サイズ  ファイルシステム  フラグ
 1    0.00B  53.7GB  53.7GB  ext4

SATAの結線を適当にやったので、/dev/sdc が起動ディスク。/dev/sdb と /dev/sda が増設ディスクという変な構成になってしまった。
気にせず /dev/sdb を編集していく。

# parted /dev/sdb
GNU Parted 2.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print                                                            
モデル: ATA ST3000DM001-1CH1 (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

で、ディスクの詳細を確認。

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

で、ディスクラベルを聞かれるが、要はパーティションテーブルの規格はどれにする?ということらしい。
選択できるのは
aix amiga bsd dvh gpt loop mac msdos pc98 sun
の 10種類。
今回は2TB越えHDDなので GPT を選択することになるか、と。

(parted) mkpart                                                           
パーティションの名前?  []? secondDisk                                     
ファイルシステムの種類?  [ext2]? ext4                                     
開始? 0
終了? 3001GB
警告: The resulting partition is not properly aligned for best performance.
無視(I)/Ignore/取消(C)/Cancel? i

で、パーティションの名前、ファイルシステム、開始と終了を聞かれるので、
目一杯ということで答える。
警告の「The resulting partition is not properly aligned for best performance.」は、
「開始?」の指定を「0」とだけ入力すると出てくるらしい。
「0%」と入力すると出ない。

上記の作業が終了したら

(parted) quit                                                             
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

で終了。fstabの更新についてアドバイスしてくれる。親切。

次に

# mkfs.ext4 /dev/sdb1

でフォーマットする。

フォーマット完了後、

# vi /etc/fstab

でマウント位置を指定、変更して保存。

mount -a

でマウントさせる。
df で確認してみる。

# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/mapper/VolGroup-lv_root
                       50G  958M   46G   3% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sdc1             485M   52M  408M  12% /boot
/dev/mapper/VolGroup-lv_home
                      163G  188M  154G   1% /home
/dev/sda1             1.8T  196M  1.7T   1% /mnt/2nd
/dev/sdb1             2.7T  201M  2.6T   1% /mnt/3rd

うむ。いいカンジ。

HDDを増設

gnomeなりxfceなり動作していればこんな手間はかからないような。
コンソールのみの環境だからか、いろいろと作業が必要になります。

  1. まず、接続されたHDDがサーバに認識されているか確認する。
    dmesg | grep sd*

    辺りで確認できる、はず。
    接続したHDD上にがSATAではなく、PATAの場合は

    dmesg | grep hd*

    となるらしい。
    ここでは「/dev/sdb」にディスクが見つかった体で進みます。

  2. HDD上にパーティションを作成する。
    fdisk /dev/sdb

    で、対話モードのディスクユーティリティに入ります。
    helpを確認すると「n」で新しいパーティションを作成できるようなので、これで進みます。
    拡張 or 基本パーティション → p(基本パーティション)
    パーティション番号 → 1
    先頭シリンダと最終シリンダ → 全領域を使用するので両方ともエンターキーのみ
    最後に「w」で今まで設定した項目を書き込んで確定、ということになります。

  3. 作成したパーティションをフォーマットする。
    mkfs.ext4 /dev/sdb1

    でext4形式でフォーマットします。
    /dev/sdb1は/dev/sdbにあるディスクの1番目のパーティションという意味のようです。
    2TBで1時間ぐらいかかった、かな?

  4. フォーマットされたパーティションをマウントする。
    ここから先はいつもどおり。
    事前に

    mkdir /mnt/D
    chmod 777 /mnt/D

    でHDDのマウントポイントを作成しておきます。

    vi /etc/fstab

    で、fstabに

    /dev/sdb1 /mnt/D ext4 defaults 0 0

    ぐらいで書き込み、終わったら

    mount -a

    で、fstabを再読み込み。

    df

    で、サーバに認識されているか確認します。