CentOSにUSBメモリをマウントしてディスク領域をアップする

使用したUSBメモリ

KINGMAX USBメモリー 4GB スカイブルー 日本語パッケージ 5年保証 U-Drive4GB

KINGMAX USBメモリー 4GB スカイブルー 日本語パッケージ 5年保証 U-Drive4GB

CentOSを起動して、USBメモリを差し込む

自動的にマウントされているか確認する

[root]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      143G  5.0G  131G   4% /
/dev/sda1              99M   21M   74M  23% /boot

どうやら、自動的にはマウントされていないみたい。
もし、マウントされていたらumountコマンドでアンマウントする。

USBメモリが/dev のどこにあるか確認する

/var/log/messagesを読めば確認できる。

[root]# cat /var/log/messages
.
.
.
Feb 28 07:49:16 3 kernel: scsi11 : SCSI emulation for USB Mass Storage devices
Feb 28 07:49:21 3 kernel:   Vendor: Kingmax   Model: USB2.0 FlashDisk  Rev: 1.00
Feb 28 07:49:21 3 kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Feb 28 07:49:21 3 kernel: SCSI device sdb: 7737344 512-byte hdwr sectors (3962 MB)
Feb 28 07:49:21 3 kernel: sdb: Write Protect is off
Feb 28 07:49:21 3 kernel: sdb: assuming drive cache: write through
Feb 28 07:49:21 3 kernel: SCSI device sdb: 7737344 512-byte hdwr sectors (3962 MB)
Feb 28 07:49:21 3 kernel: sdb: Write Protect is off
Feb 28 07:49:21 3 kernel: sdb: assuming drive cache: write through
Feb 28 07:49:21 3 kernel:  sdb:
Feb 28 07:49:21 3 kernel: sd 11:0:0:0: Attached scsi removable disk sdb
Feb 28 07:49:21 3 kernel: sd 11:0:0:0: Attached scsi generic sg2 type 0

どうやら、/dev/sdbにusbメモリがあるようだ。

fdiskコマンドでパーティッションを切る

[root]# fdisk /dev/sdb
[root]# fdisk /dev/sdb

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


コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-1022, default 1): 
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-1022, default 1022): +1024M

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (266-1022, default 266): 
Using default value 266
終点 シリンダ または +サイズ または +サイズM または +サイズK (266-1022, default 1022): 
Using default value 1022

コマンド (m でヘルプ): p

Disk /dev/sdb: 3961 MB, 3961520128 bytes
122 heads, 62 sectors/track, 1022 cylinders
Units = シリンダ数 of 7564 * 512 = 3872768 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         265     1002199   83  Linux
/dev/sdb2             266        1022     2862974   83  Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

4Gのメモリを1Gと3Gの領域に分けました。

ファイルシステムを作成する

[root]# mkfs.ext3 /dev/sdb1
[root]# mkfs.ext3 /dev/sdb2

マウントさせる領域を作る

/dev/sdb1を/share/1に
/dev/sdb2を/share/2にマウントさせるのでディレクトリを作成します。

[root]# mkdir -p /share/{1,2}

マウントする

[root]# mount -t ext3 /dev/sdb1 /share/1
[root]# mount -t ext3 /dev/sdb2 /share/2

マウントされていることを確認する

[root@3 share]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /share/1 type ext3 (rw)
/dev/sdb2 on /share/2 type ext3 (rw)
[root]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
                      143G  5.0G  131G   4% /
/dev/sda1              99M   21M   74M  23% /boot
/dev/sdb1             964M   18M  898M   2% /share/1
/dev/sdb2             2.7G   69M  2.5G   3% /share/2

自動的にマウントさせるために

/etc/fstabを編集する。

[root]# cat /etc/fstab
/etc/fstabを編集します。
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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/VolGroup00/LogVol01 swap                    swap    defaults        0 0

これを、以下のように編集する。

[root]# vi /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/sdb1		/share/1		ext3	defaults	0 0
/dev/sdb2		/share/2		ext3	defaults	0 0

再起動して確認する

ここでちょっとハマりました。
CentOSの起動が途中で止まった。
原因は接続していたUSBメモリからbootしていたから。
それに対処すれば自動的にマウントされていました。