«

»

9月 13

Hyper-V 2.0 に配置した CentOS 5 入りの仮想マシンに、仮想ハードディスクを追加してみる (2) – パーティーションの作成、フォーマット、fstabによるマウント設定、起動時のマウント成功の確認

本稿では、昨日の続き。

  • マウントしたからっぽの仮想ハードディスクに対し
  • fdiskコマンドでパーティーションを作成
  • mkfsコマンドでフォーマットを行い
  • /etc/fstab にマウント設定を記述し、動作確認する

ところまで行います。

 

 

本当はmysqlのデータベース配置先移転の話だけにするつもりだったんだけど、記事書いてみると、ハードディスク取り付けのほうがやっかいなんだなあ…やったことない人にはきついお話かも。

まずは fdisk コマンドでパーティーションを切ります。

[root@code.zobe.jp]# fdisk /dev/hdd (←前の記事にあったような方法で、対象のHDDを探し当ててください これ間違えたらほんと死ぬよ)
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 208047 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): p (←入力 現在のパーティーションテーブルの内容を確認します。もちろんからっぽです。もし既に何か入っていたら…前の記事から読み直し!ここで作業を中断してください)

Disk /dev/hdd: 107.3 GB, 107372544000 bytes
16 heads, 63 sectors/track, 208047 cylinders
Units = シリンダ数 of 1008 * 512 = 516096 bytes

デバイス Boot      Start         End      Blocks   Id  System

コマンド (m でヘルプ): n (←入力)
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p  (←入力 今回はディスク全体を1つのパーティーションにしました)
領域番号 (1-4): 1  (←入力)
最初 シリンダ (1-208047, default 1):  (←エンターキーを押すだけ)
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-208047, default 208047): (←エンターキーを押すだけ ディスク全体を使用します)
Using default value 208047

コマンド (m でヘルプ): p (←入力 1つだけパーティーションが作られる 予 定 であることを確認します)

Disk /dev/hdd: 107.3 GB, 107372544000 bytes
16 heads, 63 sectors/track, 208047 cylinders
Units = シリンダ数 of 1008 * 512 = 516096 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/hdd1               1      208047   104855656+  83  Linux (← /dev/hdd の中に /dev/hdd1 がつくられます)

コマンド (m でヘルプ): w (←入力 ここではじめて上の設定がハードディスクに書き込まれます)
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@code.zobe.jp]#

繰り返し言いますが、慎重に作業に当たってください。
特に作業対象のハードディスクかどうかよく確認して

上で「w」を実行すると、もう後戻りはできません。

 

 

パーティーションが切り終わったら、次はフォーマットです。
普通にext3でもよかったんですが、今回はなんとなく遊びで
ext4 にしてみました。

[root@code.zobe.jp]# yum install e4fsprogs

CentOS に ext4 を取り扱うためのプログラムをインストールします。
CentOS 5.8 での話なので… CentOS 6 だと入っているのかなぁ?

そして ext4 でフォーマットしますが、時間がかかる場合があります!
急ぎのときは、今実行しなきゃいけないかどうか、よく考えてください。

[root@code.zobe.jp]# mkfs.ext4 /dev/hdd1 (←お手持ちの環境に合わせてくださいよ 間違って使用中のHDDをフォーマットしないように!)

ハードディスクのサイズに応じて、また速度に応じて、あまり待たされなかったり、すごく待たされたりします。
3年前くらいに1TBのハードディスクをフォーマットするときは、コマンドを実行開始したら、食事をしに出かけました。
(食事から帰ってきても、終わっていませんでした)
今年、500GBのハードディスクをフォーマットするときは、友達からのメールに2通返信している間に終わりました。
今、最新の500GB SSDをフォーマットしたら、どのくらい早く終わるんだろう…わたし、きになります!

 

フォーマットが終わったら、普通はマウントします。mountコマンドを使います。
が、今だけマウントしたいわけじゃなくて、恒久的にマウントしたいので、
今回はmountコマンドを使いません。

 

まずマウント先を作成します。
マネしてもらっても構いませんが、あなたのシステムが
ほんのちょっぴり、ださい雰囲気になるかもしれませんので、
適宜変更したほうが幸せかもしれません。

独自編成のディレクトリに、mysql領域を設定する、というイメージです。

[root@code.zobe.jp]# mkdir /var/zobe
[root@code.zobe.jp]# mkdir /var/zobe/mysql

 

そして
/etc/fstab のさいごに、上のディレクトリ構成に合わせて、次の一行を追加します。

[root@code.zobe.jp]# vi /etc/fstab

(追加)
/dev/hdd1               /var/zobe/mysql         ext4    defaults        1 2

こうすることで、コンピュータの起動時に、自動的に /dev/hdd1 が /var/zobe/mysql にマウントされるようになります。

 

ここまでできたら、再起動しましょう。
再起動後に、マウントされているかどうかを確認します。

 

[root@code.zobe.jp]# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/hda2              16G  1.2G   14G   8% /
/dev/hda6              16G  2.4G   13G  17% /usr
/dev/hda5              16G  690M   15G   5% /var
/dev/hda1             122M   44M   72M  39% /boot
tmpfs                 500M     0  500M   0% /dev/shm
/dev/hdb1             315G   53G  247G  18% /home
/dev/hdd1              99G  188M   94G   1% /var/zobe/mysql

 

最後の一行が追加されるようになったら成功です。

ちなみに上の環境では、既に同様の手順で /home を別ストレージに分けています。
(あー、そういえば、スワップ領域も分けておけばよかったな…)

 

 

せっかくなので、負荷でもみてみましょう。

[root@code.zobe.jp]# iostat -xm 10
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    0.02    0.24    0.20    0.00   99.29

Device:         rrqm/s   wrqm/s   r/s   w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %util
hdd               0.01     1.06  0.01  0.23     0.00     0.01    45.77     0.03  136.36  17.81   0.42
hdd1              0.00     1.06  0.01  0.23     0.00     0.01    45.79     0.03  136.47  17.82   0.42
hda               0.23     2.95  0.40  1.08     0.00     0.02    28.36     0.06   40.82   4.91   0.73
hda1              0.01     0.00  0.00  0.00     0.00     0.00    18.86     0.00   10.17   6.47   0.00
hda2              0.02     0.70  0.04  0.27     0.00     0.00    27.94     0.02   52.09   9.30   0.29
hda3              0.15     0.50  0.03  0.03     0.00     0.00    93.17     0.01  138.10   2.01   0.01
hda4              0.00     0.00  0.00  0.00     0.00     0.00     2.00     0.00   20.50  20.50   0.00
hda5              0.02     0.51  0.07  0.38     0.00     0.00    22.25     0.01   24.58  10.55   0.47
hda6              0.03     1.23  0.26  0.40     0.00     0.01    26.70     0.02   37.48   4.34   0.29
hdb               0.03     0.82  0.04  0.28     0.00     0.00    29.91     0.03   90.84   9.93   0.31
hdb1              0.03     0.82  0.04  0.28     0.00     0.00    29.91     0.03   90.87   9.93   0.31
hdc               0.00     0.00  0.00  0.00     0.00     0.00    19.00     0.00    0.38   0.38   0.00

 

このように、分離したストレージ別に負荷を観測できるというのは、サーバ管理者的にはかなり利点ですよねー。
(無計画にインストールかけたサーバのメンテナンスなんてやってらんねー。という気持ちがあるのは秘密です)

 

最終章へ続きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>