大容量USBハードディスクをLInuxで利用する方法
私の自宅のUSB ハードディスク・・・無駄に、6TB もありまして・・・ あぁ・・Linuxの外付けハードディスクとして活用しよう。。USBハードディスクなんで、挿せばなんとかなる・・・と思いきや・・全く認識していない・・。
ということで、Linux上の6TBのディスクとして認識させる為の経緯を下記に記載します。しんどかった。。
ちなみに、細かい話しはよくわからんのですが、Linuxの現在のファイルシステムでは、2TB以上のディスクを認識できないらしく、新たに、2Tを超えるようなHDDを扱えるようGPT ( GUID Partition Table ) と呼ばれる方式が策定されたとのことです。知らなかった。
じゃあ、いままでやってた、fdisk とかは利用できないの?ってはい、出来ません!(断言)
2TB 以上のHDDを認識させる為に、新たに、parted というユティリティを利用するようです。
早速ですが、その証跡を書きます。
I-O DATA HDD 外付けハードディスク 3TB USB3.0/テレビ録画/パソコン/家電対応 日本製 HDC-LA3.0
- 出版社/メーカー: アイ・オー・データ
- 発売日: 2014/04/04
- メディア: Personal Computers
- この商品を含むブログ (9件) を見る
I-O DATA HDD ポータブルハードディスク 1TB USB3.0バスパワー対応 日本製 EC-PHU3W1
- 出版社/メーカー: アイ・オー・データ
- 発売日: 2013/10/09
- メディア: Personal Computers
- この商品を含むブログを見る
parted -l で確認
[root@server01~]# parted -l モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 20.5kB 210MB 210MB fat32 EFI System Partition boot 2 211MB 6001GB 6001GB Usb HD
parted /dev/sda
[root@server01~]# parted /dev/sda GNU Parted 2.1 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment check NUMBER ファイルシステムの簡単なチェックする cp [転送元デバイス] 転送元NUMBER 転送先NUMBER ファイルシステムを他のパーティションにコピーする help [コマンド] ヘルプ表示。コマンド指定でそのヘルプを表示 mklabel,mktable ラベルの種類 新しいラベル(パーティションテーブル)を作る mkfs NUMBER ファイルシステムの種類 指定した種類のファイルシステムを作る mkpart パーティションの種類 [ファイルシステムの種類] 開始 終了 パーティションを作る mkpartfs パーティションの種類 ファイルシステムの種類 開始 終了 パーティションとファイルシステムを作る move NUMBER 開始 終了 パーティションを移動する name NUMBER 名前 パーティションに名前をつける print [devices|free|list,all|NUMBER] パーティションテーブルや、利用可能なデバイス、空き領域、 見つかった全てのパーティション、あるいは特定のパーティションについて表示する quit プログラムを終了する rescue 開始 終了 開始、終了で指定した範囲付近にあるパーティションを復活させる resize NUMBER 開始 終了 パーティションとその中のファイルシステムをリサイズする rm NUMBER パーティションを削除する select デバイス 操作するデバイスを選択 set NUMBER フラグ 状態 ファイルシステムのフラグと状態を設定する toggle [NUMBER [FLAG]] パーティションのフラグの状態を反転する unit UNIT デフォルトの単位を UNIT にする version GNU Parted のバージョンと著作権情報を表示
ラベルを設定します
[root@server01~]# parted /dev/sda GNU Parted 2.1 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) mklabel gpt 警告: いま存在している /dev/sda のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか? はい(Y)/Yes/いいえ(N)/No? Y
パーティションが消えていることを確認
[root@server01~]# parted -l モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ [root@server01~]# parted GNU Parted 2.1 /dev/sda を使用 GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。 (parted) unit MB (parted) print モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001042MB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ
パーティションの作成
(parted) unit GB (parted) print モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ (parted) mkpart パーティションの名前? []? usbhdd ファイルシステムの種類? [ext2]? ext4 開始? 0 終了? 6000 (parted) p モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 0.00GB 6000GB 6000GB usbhdd
パーティションが生成されているか確認する(ファイルシステムが生成されていないことも確認)
[root@server01~]# parted -l モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: gpt 番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 1049kB 6000GB 6000GB usbhdd
ext4 でフォーマット開始
[root@server01~]# mkfs -t ext4 /dev/sda mke2fs 1.41.12 (17-May-2010) /dev/sda is entire device, not just one partition! Proceed anyway? (y,n) y Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 366280704 inodes, 1465098240 blocks 73254912 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 44712 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
再度領域を確認
[root@server01~]# parted -l モデル: BUFFALO HD-QLSU2/R5 1 (scsi) ディスク /dev/sda: 6001GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: loop 番号 開始 終了 サイズ ファイルシステム フラグ 1 0.00B 6001GB 6001GB ext4
マウント領域を作り、マウントします
[root@server01data]# mkdir -p /usr/local/data; chmod -Rf 775 /usr/local/data [root@server01data]# mount -t ext4 /dev/sda /usr/local/data/
マウントされたか確認します
できているっぽいです
[root@server01~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_nas01-lv_root 50G 12G 36G 25% / tmpfs 497M 232K 497M 1% /dev/shm /dev/sdb1 485M 33M 427M 8% /boot /dev/mapper/vg_nas01-lv_home 59G 182M 56G 1% /home /dev/sda 5.4T 186M 5.1T 1% /usr/local/data
このままですと、再起動した際、マウントが外れてしまうので、/etc/fstab に設定を入力する必要があります
バルクIDを求めます(UUID?)
[root@server01~]# blkid /dev/sda /dev/sda: UUID="e38f3397-6259-4627-a956-a7a7018ef5b7" TYPE="ext4"
取得したuuidを、/etc/fstab に設定します
[root@server01~]# echo 'UUID=e38f3397-6259-4627-a956-a7a7018ef5b7 /usr/local/data ext4 defaults 1 2' >> /etc/fstab [root@server01~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sun May 11 17:53:18 2014 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_nas01-lv_root / ext4 defaults 1 1 UUID=e950f35e-7c89-42b9-8eea-a47479a215e6 /boot ext4 defaults 1 2 /dev/mapper/vg_nas01-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_nas01-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/sdb1 /data ext3 defaults 1 2 UUID=e38f3397-6259-4627-a956-a7a7018ef5b7 /usr/local/data ext4 defaults 1 2
上記作業で、OSを再起動したとしても自動的にマウントするようになります。ぜひお試しあれ!!