ディスク増設後のパーティション作成
目次
概要
既に運用中のLinuxサーバに、新しくハードディスクを追加して データ保存用パーティションを作成するまでの手順を紹介します。 今回はLVMは使用しません。
構成としては内蔵Serial-ATAディスク1つで運用している状態に、 新たに内蔵Serial-ATAディスクを1つ追加することを想定しています。
Serial-ATA接続のハードディスクは、Linuxでは /dev/sd* デバイスとして 認識されます。既に利用中のディスクが /dev/sda として認識されているため、 追加するディスクは /dev/sdb として認識されます。
大まかな手順としては、新しいディスク上に1GB(1024MB)のプライマリ パーティションを1つ作成し、ファイルシステムをext3でフォーマットします。 ディスクラベルは /data とします。 このパーティションを /data ディレクトリにマウントします。 このマウントが恒久的なものとなるように /etc/fstab に設定を追加します。
サーバ構築
設定
パーティションの作成
追加したディスクのパーティション情報を確認します。 ただし当然この時点では何もありません。
# fdisk -l /dev/sdb Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table
fdisk コマンドを使用してパーティションの作成を開始します。
# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. The number of cylinders for this disk is set to 1044. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1044, default 1): 1 Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): +1024M Command (m for help): p Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 125 1004031 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
作成したパーティションを確認します。
# fdisk -l /dev/sdb Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 125 1004031 83 Linux
ファイルシステムのフォーマット
mke2fs コマンドを使用してファイルシステムをフォーマットします。
# mkfs -t ext3 /dev/sdb1 mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 125696 inodes, 251007 blocks 12550 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=260046848 8 block groups 32768 blocks per group, 32768 fragments per group 15712 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 31 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
作成したファイルシステムにラベル「/data」を付けます。 フォーマット時にラベルを指定することも可能ですが、 今回はフォーマット後に付ける手順としました。 ラベルを付けた後に確認コマンドを実行します。
# e2label /dev/sdb1 /data # e2label /dev/sdb1 /data
ファイルシステムのマウント
作成したファイルシステムをマウントするための ディレクトリ /data を作成し、これをマウントポイントとします。
# mkdir -v /data mkdir: created directory `/data'
作成したファイルシステムをマウントします。
# mount -t ext3 /dev/sdb1 /data
マウント後にファイルシステムの内容を確認します。 ext3の場合、マウントポイントに lost+fount ディレクトリが 作成されますので、これがあればマウント成功と判断できます。
# ls -l /data total 16 drwx------ 2 root root 16384 Dec 1 07:13 lost+found
/etc/fstabにマウント定義を追加します。 書き方はラベルを使用する場合と使用しない場合の2通りあるので 両方紹介します。どちらで定義しても正しくマウントされますが、 両方記述するのはダメです。
# cd /etc/ # vi fstab
※ファイルの末尾に追加する※ LABEL=/data /data ext3 defaults 1 2 ↑どちらの記述方法でも正しく動作します。両方追加してはダメです↓ /dev/sdb1 /data ext3 defaults 1 2